Grazie molte.
Speravo ci fosse una soluzione per portare avanti un lavoro per me importante.
Scusate ma un argomento come questo è difficile da rintracciare nel forum.Applicherò questa soluzione dopo essermi documentato un po’.
Trovi qualcosa sugli aurei “appunti” di un noto TeXnico 😉
In sostanza ciò che faccio è di caricare i token che servono in un registro token temporaneo. Un’istruzione come
`\toks255=\expandafter{\the\toks255 …}`
serve per aggiungere qualcosa al registro stesso. Inizialmente il contenuto è “\begin{tabular}{ll}”; alla prima iterazione aggiungo “Valore=&”, poi ho il problema di aggiungere il valore attuale del contatore index (il nome è brutto perché \theindex è una macro importante se devi compilare l’indice analitico, ma per ora teniamolo). Non si può aggiungere \theindex, perché l’espansione di questo è “\@arabic\c@index” e quindi si avrebbe sempre il valore finale del contatore. Ciò che si vuole è invece il valore durante quella iterazione e \number\value{index} fa ciò che si desidera; ma dobbiamo espanderlo al momento di inserirlo nel registro, altrimenti saremmo daccapo.
Ecco qui come si può fare:
`\toks255=\expandafter{\the\toks255\expandafter\space\number\value{index}\\}`
Il “\\” finale serve per la tabella e non dà problemi. Il trucco sottile è prima. Andiamo con calma: c’è un \expandafter che espande il \the; \the trova la primitiva \toks che deve avere un argomento numerico. TeX determina questo argomento raccogliendo ed espandendo tutti i token finché trova qualcosa che non può essere interpretato come numero. Dopo 255 c’è \expandafter che viene espanso, con la conseguenza che viene espanso \number il quale espande \value{index} finché trova un numero, cioè esattamente il valore di index in quel momento. A questo punto \expandafter sparisce e il token successivo è \space che viene espanso a uno spazio: questo finisce il numero cercato dopo \toks e lo spazio che risulta viene ignorato perché segue una costante.
Il trucco l’ho imparato da David Kastrup su comp.text.tex.
Ciao
Enrico