Re: Copertine con dati variabili

#19730
Up
0
Down
::

Faccio un’altra domanda:
il numero dei campi utilizzabili nella definizione del comando \copertina è illimitato?

Il modo per definire una macro che abbia più di nove parametri, per esempio 16, è il seguente:
`\newcommand{\miocomando}[9]{%
\def\miouno{#1}%
\def\miodue{#2}%
\def\miotre{#3}%
\def\mioquattro{#4}%
\def\miocinque{#5}%
\def\miosei{#6}%
\def\miosette{#7}%
\def\miootto{#8}%
\def\mionove{#1}%
\miocomandobis}
\newcommand{\miocomandobis}[7]{%
}`
Nel codice userai \mio per indicare uno dei primi nove argomenti, #1, #2 e così via per uno dei successivi sette argomenti. Puoi richiamare proprio dando i sedici argomenti:
`\miocomando{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}`
In apparenza sono sedici argomenti a \miocomando, in realtà sono nove argomenti a \miocomando e sette a \miocomandobis. Però è un modo pesante di lavorare, ci si perde a contare gli argomenti e le graffe: più di tre o quattro è sconsigliabile.

Un altro modo, allora, è di usare “macro chiave”: scrivi la tua definizione di \copertina senza argomenti; dove prima usavi #1 eccetera, sostituisci con un comando il cui nome richiami la funzione:
`\newcommand{\copertina}{%

\xtitolo
}`
Poi definisci il comando
`\newcommand{\titolo}[1]{\def\xtitolo{#1}}`
e fai in modo analogo per gli altri campi che ti servono, diciamo \autore e \anno. Adesso puoi comporre la copertina scrivendo
`\titolo{Un titolo}
\autore{A. U. Tore}
\anno{2035}
\copertina`
È il modo usato da LaTeX per le intestazioni dei documenti con \maketitle. In questo modo hai il vantaggio che puoi “vedere” meglio i vari campi e anche scriverli in ordine sparso, se preferisci. Potrebbe essere indicato anche un metodo “misto”: \copertina con un certo numero di argomenti (per esempio numerici) e comandi per i campi testuali.

Ciao
Enrico

Go to top