PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle durch Schleife zusammenbauen



moono
22-06-2012, 22:07
Hallo Zusammen

Ich baue gerade ein Command zusammen, der mir eine vordefinierte einzeilige Tabelle generiert.

\newcommand{\sOrder}[2]{
\begin{tabular}{#1}
\hline
#2 \\
\hline
\end{tabular}
}
Folgender Aufruf compiliert und funktioniert.

\sOrder{|c|c|c|}{abc & def & efg}
Das ist mir allerdings noch zu kompliziert. Ich möchte den Befehl noch einfacher aufbauen. Dazu habe ich folgendes versucht:

\newcounter{bx}
\newcommand{\pOrder}[2]{
\begin{tabular}{\forloop{bx}{0}{\value{bx} < #1}{|c}|}
\hline
#2 \\
\hline
\end{tabular}
}
Aufruf:
\pOrder{3}{abc & def & gch}
Das kompiliert allerdings nicht. Grund dafür ist, dass die Tabellenumgebung scheinbar die Schleife innerhalb ihres Parameters nicht erlaubt.

Weiss jemand von euch, wie ich das richtig machen muss, damit das klappt?

rais
23-06-2012, 21:07
Moin moin,



\newcounter{bx}
\newcommand{\pOrder}[2]{
\begin{tabular}{\forloop{bx}{0}{\value{bx} < #1}{|c}|}
\hline
#2 \\
\hline
\end{tabular}
}
Aufruf:
\pOrder{3}{abc & def & gch}
Das kompiliert allerdings nicht. Grund dafür ist, dass die Tabellenumgebung scheinbar die Schleife innerhalb ihres Parameters nicht erlaubt.

warum so kompliziert? Die tabular-Umgebung kennt bei der Spaltendeklaration bereits eine Wiederholung: *{Anzahl}{Deklaration}

Wenn Dich das nicht weiterbringt, erstelle bitte ein vollständiges Minimalbeispiel.

MfG

moono
24-06-2012, 08:44
Die tabular-Umgebung kennt bei der Spaltendeklaration bereits eine Wiederholung: *{Anzahl}{Deklaration}


Manchmal liegt das Gesuchte so nah und trotzdem sieht man es nicht. Danke.