Frage
Ich bin neu in LaTeX und ich muss sagen, dass ich wirklich mit ihm bin zu kämpfen. Ich entdeckte die \ newcommand Befehl, der wie eine Art von Funktion / Methode in regelmäßigen Programmiersprachen ist. Sie können es Argumente geben und alles.
Ich frage mich aber, kann ich irgendwie iterieren in LaTeX? Im Grunde, was ich möchte, ist eine Tabelle tun, erstellen mit N + 1 Spalt, in denen die erste Zeile nur eine leere Zelle enthält, und dann die Zahlen 1, 2, ..., N in den anderen Spalten. Ich möchte nur N als Argument an diese 'Funktion' (newcommand) geben.
Hier ist ein Beispiel für etwas, das aussehen könnte, was ich suche (obwohl offensichtlich wird dies nicht funktionieren):
\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} }
Nennen Sie es mit:
\mytable{3}{a & b & c}
Ausgabe sollte sein:
| 1 | 2 | 3 | --------+---+---+---+ letters | a | b | c | --------+---+---+---+
Hat jemand wissen, ob so etwas wie dies möglich ist?
Danke!
Lösung
Tante Google sagt ja .
Andere Tipps
So stellen Sie das folgende in einen neuen Befehl und sicher sein Paket ifthen
zu verwenden.
\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}
Sie können den \loop
oder \repeat
Token verwenden. Oder die multido
Paket.
Sicher ist es möglich. Sie können auch wieder auftreten. eplain hat Iteration Makros darin, siehe zB hier .
Eine andere Möglichkeit (wenn Sie wie ich faul sind) ist Perltex