::
Si è parlato di un problema simile tempo fa qui sul forum. Il problema non è tanto nel catcode di &, quanto nel momento dell’espansione di \duplicate.
Puoi fare così:
`\newtoks\duptok
\newcommand{\duplica}[2]{%
\duptok={#1}%
\count255=#2%
\loop
\advance\count255 -1
\ifnum\count255 > 0
\duptok=\expandafter{\the\duptok & #1}%
\repeat}`
In questo modo basta fare così:
`\begin{tabular}{cccc}
a & b & c & d\\
\duplicate{aa&bb}
\end{tabular}
\begin{tabular}{cccccc}
a & b & \duplicate{cc&dd}{2}
\end{tabular}
`
Attento però che \duplicate deve stare subito dopo \\ o &. Se ci metti qualcosa prima non funzionerà.
Si scrive LaTeX e TeX, mi raccomando. 😀
Ciao
Enrico
Grazie mille Enrico! Non conoscevo la funzione del registro \newtoks di TeX! Ho provato il tuo codice ma non mi funziona, nel senso che non da errore (c’e’ un mismatch da correggere tra i nomi delle funzioni e da aggiungere \\) ma non stampa niente. L’unica cosa che fa e’ di inserire un carattere di tabulazione… 🙁
Provo un po’ ad approfondire…