"! Misplaced \noalign." bei mit \forloop erstellte

Tabellen und Grafiken erstellen und anordnen


peekay
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: So 23. Mai 2010, 13:19
Wohnort: Hannover

"! Misplaced \noalign." bei mit \forloop erstellte

Beitrag von peekay »

Ich möchte für Formulare Tabellen durch eine Schleife in einem Makro erstellen lassen. Laufe jedoch immer wieder in einen Fehler, den ich mir nicht erklären kann. Das Minimalbeispiel ist ohne Makro, da der Fehler auch dann auftritt:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{array}
\usepackage{forloop}
\begin{document}

\begin{tabular}{|cp{.33\linewidth}|}
\hline
lfd. Nr. &
Tier-Identifikation
\\
\newcounter{ct}
\forloop{ct}{1}{\value{ct} < 25}%
{
	\arabic{ct} & \\
}
%255 & \\
\hline
\end{tabular}

\end{document}
Wird der Kommentar in der Zeile mit der 255 entfernt, kommt eine Tabelle heraus, wie ich es erwarte. Fehlt diese Zeile oder ist wie hier auskommentiert, kommt die Fehlermeldung. Hat jemand eine Idee, was ich übersehen haben könnte?
Zuletzt geändert von peekay am So 23. Sep 2012, 09:48, insgesamt 1-mal geändert.

Hagbard Celine
Forum-Century
Forum-Century
Beiträge: 152
Registriert: Mi 23. Feb 2011, 22:13
Wohnort: Halle (Saale)

Beitrag von Hagbard Celine »

Offenbar erwartet tabular ganz am Ende ein \\. Wenn du das hinter der Schleife einfügst, geht es (siehe unten). Um die dann entstehende leere Zeile zu vermeiden, habe ich die if-Bedingung eingefügt.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{array}
\usepackage{forloop}
\begin{document}

\begin{tabular}{|cp{.33\linewidth}|}
\hline
lfd. Nr. &
Tier-Identifikation
\\
\newcounter{ct}
\forloop{ct}{1}{\value{ct} < 25}%
{
   \arabic{ct} & \ifnum\value{ct}<24 \\\fi
}\\
%255 & \\
\hline
\end{tabular}

\end{document}

peekay
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: So 23. Mai 2010, 13:19
Wohnort: Hannover

Beitrag von peekay »

Hallo Hagbard Celin, vielen Dank für Deine Antwort.

Mmh, so richtig weiter gebracht hat es mich allerdings nicht. Ich finde auch die Lösung nicht schlecht, die letzte Zeile aus der Schleife auszulagern, also im Minimalbeispiel das Kommentarzeichen einfach wegzulassen. Das liefert das gleiche Ergebnis wie Dein Vorschlag, ist jedoch weniger komplex.

Was mich hier interessiert ist nicht, zu einem "Workaround" zu kommen, sondern warum verhält sich LaTeX so - aus meiner Sicht schräg?!?

Antworten