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!

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top