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!

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top