Vediamo un po’ se ci capisco qualcosa
`\def\controllo#1,#2\fine{%`
allora: definisci un comando chiamato controllo che ha due argomenti, separati da una virgola. se non ho capito male l’idea hai una lista di elementi e con \controllo li guardi uno per uno, fino alla fine.
\fine cos’é?
` \def\temp@a{#2}%`
altro comando interno, che si becca il secondo argomento di controllo. mi par di capire che serve per vedere se ci sono aoncora elementi nella lista.
` \ifx\temp@a\@empty
\let\next\relax
`
se la mia supposizione è esatta si controlla se non c’è l’n+1 elemento, in tal caso si smette di controllare. immahino \@emty voglia semplicmeente dire vuoto.
mi sfuggono i dettagli, la differenza fra \if e \ifx, cosa si fa con la seconda riga.
`
\else
\def\next{\controllo#2\fine}%
\fi
`
altrimenti si definisce \next come…
qui immagino che si salvi il valore trovato.
`
opzione: #1\newline
\next}`
qui è abbastanza facile: si fa una bella tabellina con scritto
opzione: x
opzione: y
…
come vedi E. sono davvero limitato…
Per usarlo tieni a mente che ci devi aggiungere una virgola, altrimenti l’ultimo argomento non e’ delimitato correttamente:[code]\def\pippo{ciao,a,tutti}
\expandafter\controllo\pippo,\fine
si, questo è chiaro, anche se continua a sfuggirmi il significato di \fine
Nel tuo caso, invece di scivere opzione XYZ potresti testare #1 (dopo averlo infilato in una macro di appoggio come \temp@b) con \ifx.
???????????
Sul TeXbook, ovviamente 😉
già, forse era meglio studiare ancora un po’ che mettersi a smanettare sui pacchetti… lo faccio per imparare, perdonatemi…
ciao
f