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!

È stato utile?

Soluzione

La zietta Google dice .

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top