Domanda
Sono nuovo di LaTeX e devo dire che ci sto davvero lottando. Ho scoperto il comando \ newcommand che è un po 'come una funzione / metodo nei normali linguaggi di programmazione. Puoi dargli argomenti e tutto il resto.
Mi chiedevo però, posso in qualche modo iterare in LaTeX? Fondamentalmente, ciò che vorrei fare è creare una tabella con colonne N + 1 in cui la prima riga contiene solo una cella vuota e quindi i numeri 1, 2, ..., N nelle altre colonne. Voglio solo dare N come argomento a questa "funzione" (nuovo comando).
Ecco un esempio di qualcosa che potrebbe assomigliare a quello che sto cercando (anche se ovviamente questo non funzionerà):
\newcommand{\mytable}[2]{ \begin{tabular}{l|*{#1}{c|}} % table with first argument+1 columns for(int i = 1; i <= #1; i++) "& i" % 'output' numbers in different columns \\\hline letters & #2 % second argument should contain actual content for row \\\hline \end{tabular} }
Chiamalo con:
\mytable{3}{a & b & c}
L'output dovrebbe essere:
| 1 | 2 | 3 | --------+---+---+---+ letters | a | b | c | --------+---+---+---+
Qualcuno sa se qualcosa di simile è possibile?
Grazie!
Soluzione
La zietta Google dice sì .
Altri suggerimenti
Basta inserire quanto segue in un nuovo comando e assicurarsi di usare il pacchetto ifthen
.
\begin{tabular}{l|*{10}{c|}}
\newcounter{count}
\whiledo{\value{count}<10}{
\ifthenelse{\value{count}=0}{}{\the\value{count}}
\ifthenelse{\value{count}<9}{&}{\\}
\stepcounter{count}
}
letters&a&b&c&d&e&f&g&h&i\\
\end{tabular}
Puoi usare i token \ loop
o \ repeat
. Oppure il pacchetto multido
.
Sicuro che è possibile. Puoi anche ricorrere. eplain contiene macro di iterazione, vedi ad esempio qui .
Un'altra possibilità (se sei pigro come me) è Perltex