Re: plain – \def e \chardef

#81637
Up
0
Down
::

Sam Qasbah” post=80889`
\def\star{\char191}

\chardef\star=191
`

Desidero sapere se le due righe appena trascritte sono completamente equivalenti, sia quanto all’effetto prodotto, sia quanto all’efficienza (numero e lunghezza di espansioni, velocità di esecuzione), sia quanto all’occupazione di memorta.

No, non sono equivalenti. Nel primo caso [tt]\star[/tt] è una macro, quindi viene espansa; nel secondo invece non è una macro e [tt]\star[/tt] non è soggetto a espansione. Anche in termini di memoria la seconda è più economica. Inoltre puoi usare la seconda [tt]\star[/tt] in tutte le occasioni in cui TeX desidera trovare un numero intero.

Per finire, la prima è sbagliata:
`\def\star{\char191 }`
Nota lo spazio. Prova, senza lo spazio, a scrivere [tt]\star 1[/tt] e vedrai. 🙂

Ciao
Enrico

Go to top