Re: Numeri nel nome del comando

#42104
Up
0
Down
::

Nel codice che sto scrivendo elaboro delle liste separate da virgole di lunghezza variabile, per mezzo del pacchetto etextools.
In base alla posizione della singola stringa nella lista occorre chiamare uno specifico comando. Ho pensato di costruire questi comandi inserendo l’indice nel nome:

`\DeclareCmdListParser{\myparser}{,}

\def\defitems[#1]#2{%
\expandafter\def\csname cmd#1\endcsname{#2}}

\myparser+[\defitems]{Pippo,Pluto,Paperino}

\csname cmd0\endcsname

\csname cmd1\endcsname

\csname cmd2\endcsname`

La domanda è:
potrei avere dei problemi ad utilizzare dei numeri nel nome del comando?

Tenete conto che etextools fa partire gli indici di posizione da zero, e che naturalmente i comandi così creati verrebbero utilizzati da altre macro di loop.

Ho preso in considerazione il comando \romannumeral per creare automaticamente comandi tipo \cmdi, \cmdii, \cmdiii, ecc quindi con lettere, ma il numero zero viene espanso nella stringa vuota. Dovrei così ipotizzare che il semplice \cmd sia il comando corrispondente al primo elemento.
Ho scartato \alph perchè limitato a 26 posizioni.
Grazie.

Non è un problema, se usi sempre \csname…\endcsname o un involucro più comodo come
`\def\nameuse#1{\csname#1\endcsname}
\nameuse{cmd0}`
Ciao
Enrico

Go to top