Re: Argomenti delimitati: lettura di un solo carattere

#42631
Up
0
Down
::

Dunque,
volendo utilizzare macro con argomenti delimitati, per esempio una coppia di valori separati da un punto e virgola, scriverò:`
\def\test#1;#2{\def\one{#1}\def\two{#2}}`

Se poi vado a vedere l’applicazione:`\test pippo;pluto
\one

\two`come mai il secondo argomento consiste di un solo carattere?

Naturalmente se metto un delimitatore finale, il secondo argomento viene letto per intero.
Immagino che sia il comportamento stantard di TeX, ma se qualcuno mi può dare qualche spiegazione TeXnica in più gli sarei grato.
Bye

La macro \test ha due argomenti, il primo delimitato (da ;), il secondo non delimitato che quindi obbedisce alle regole usuali: è il primo token trovato o, se questo token è una graffa aperta (più precisamente un carattere di categoria 1), tutto ciò che va dalla graffa aperta alla graffa chiusa che la bilancia.

L’argomento denotato da #k (k è una cifra da 0 a 9) è delimitato quando nel della definizione è seguito da un token che non è l’indicatore di parametro successivo (se k=1, per esempio, l’indicatore di parametro successivo è #2) o dalla graffa che introduce il .

è, più o meno, la sintassi per un comando , cioè \def, \edef, \gdef o \xdef; è il comando da definire (un token simbolico o un carattere attivo); è una qualsiasi lista di token dove sono ammessi token di tipo speciale, cioè gli indicatori di parametro. Prima di #1 possono esserci altri token, ma questi “delimitano il comando”, non l’argomento.

Ciao
Enrico

Go to top