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

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: "! Misplaced \noalign." bei mit \forloop erstellte

von peekay » Mi 18. Jul 2012, 11:29

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?!?

von Hagbard Celine » Di 17. Jul 2012, 00:11

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}

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

von peekay » Mo 16. Jul 2012, 15:30

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?

Nach oben