Question
Je suis nouveau à LaTeX et je dois dire que je me bats vraiment avec. J'ai découvert la commande \ newcommand qui est un peu comme une fonction / méthode dans les langages de programmation normaux. Vous pouvez lui donner des arguments et tout.
Je me demandais cependant, puis-je en quelque sorte itérer dans LaTeX? Fondamentalement, ce que je voudrais faire est de créer un tableau avec N + 1 colonnes où la première ligne contient uniquement une cellule vide puis les nombres 1, 2, ..., N dans les autres colonnes. Je veux seulement donner N comme argument à cette 'fonction' (newcommand).
Voici un exemple de ce qui pourrait ressembler à ce que je cherche (bien que cela ne fonctionne évidemment pas):
\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} }
Appelez-le avec:
\mytable{3}{a & b & c}
Le résultat devrait être:
| 1 | 2 | 3 | --------+---+---+---+ letters | a | b | c | --------+---+---+---+
Est-ce que quelqu'un sait si quelque chose comme cela est possible?
Merci!
La solution
Tante Google dit que oui .
Autres conseils
Faites simplement ce qui suit dans une nouvelle commande et assurez-vous d'utiliser le paquet 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}
Vous pouvez utiliser les jetons \ loop
ou \ repeat
. Ou bien le package multido
.
Bien sûr que c'est possible. Vous pouvez aussi vous reproduire. eplain contient des macros d’itération. Voir, par exemple, ici .
Une autre possibilité (si vous êtes paresseux comme moi) est perltex