Re: Come scrivere un comando con opzioni?

#23394
Up
0
Down
::

Questo comando non fa nulla con l’argomento opzionale. Fa’ un esempio di dove lo vuoi con precisione e se ne riparla.
Enrico

Be, certo che non ha nulla dell’argomento opzionale per il semplice fatto che non so come renderlo opzionale ed è l’argomento di questo topic.

Sintassi:
`\newcommand[][]{}`
Nella seconda coppia di parentesi quadre va il valore di default dell’argomento opzionale, al quale ci si riferisce come al parametro #1.

Adesso proviamo a scrivere un codice per te.
`\newcommand{\stileruolo}[1]{{\fontfamily{ptm}\selectfont\textsc{#1}}}
\newcommand{\stilenominativo}[1]{#1}
\newcommand{\firmabox}[1]{\makebox[.333\textwidth]{\hss#1\hss}}

\newcommand{\componifirma}[2]{%
\begin{tabular}[t]{@{}c@{}}
\firmabox{\stileruolo{#1}}\\
\firmabox{\stilenominativo{#2}}
\end{tabular}}
\newcommand{\firmadoppia}[5][]{\par
\hbox to\hsize{%
\rlap{#1}\hfil\componifirma{#2}{#3}\hfil\componifirma{#4}{#5}}}
\newcommand{\firma}[3][]{\firmadoppia[#1]{}{}{#2}{#3}}
\newcommand\firmatripla[7][]{\firmadoppia[#1]{#2}{#3}{#4}{#5}
\medskip
\hbox to\hsize{\hfill\componifirma{#6}{#7}\hspace{.25\textwidth}}}`
Ho pensato di dividere la giustezza in sei parti; nella prima, ma senza che si occupi spazio (\rlap} va la sigletta opzionale; poi due parti dedicate alla firma di sinistra, una parte vuota e per finire le due dedicate alla firma di destra (che diventa l’unica con il comando \firma).

La terza firma sta a metà fra le altre due (un po’ di aritmetica dice che deve stare a un quarto della giustezza dal margine destro.

Puoi aggiustare le spaziature verticali a piacere.

\firmabox è definito in modo che se per caso il nome o la carica sono più grandi dello spazio riservato (un terzo della giustezza), non fa nulla. Ma se un nome è davvero troppo lungo, andrà a sovrapporsi con il margine o con l’altra firma.

Ciao
Enrico

Go to top