PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Leerzeile im Quellcode bei Matheumgebung



bene
22-08-2012, 00:22
Servus,

folgendes Beispiel:


\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
a=b\\

x=y
\end{align}
\end{document}

Wenn ich das kompilier, dann bricht pdflatex ab. Hat es einen Grund, dass in Matheumgebungen keine Leerzeilen erlaubt sind? Ich habe momentan teilweise sehr umfangreiche Formeln bei denen sich eine optische Zeilenweise im Quellcode anbeiten würde, allein schon dass ich mich selbst besser zurecht finde.

rais
22-08-2012, 08:00
Moin moin,

Hat es einen Grund, dass in Matheumgebungen keine Leerzeilen erlaubt sind?
Leerzeile(n) im Code heißt für (La)TeX `neuen Absatz beginnen'.
Kommentiere die Leerzeile doch einfach aus.

MfG

u_fischer
22-08-2012, 09:29
Hat es einen Grund, dass in Matheumgebungen keine Leerzeilen erlaubt sind?

Die amsmath-Umgebungen sind keine normale Umgebungen wie tabular oder array: Der Inhalt der Umgebung wird zuerst in einem Argument gespeichert und dann verarbeitet. Die Befehle, die dieses Argument verarbeiten, sind nicht als \long definiert, deswegen bekommst du Fehler, wenn darin ein Absatz ist.

Das schützt davor, dass wegen eines fehlenden \end{align} plötzlich dein halbes Dokument im Argument landet.

Du bekommst diesen Fehler auch, wenn du mit \newcommand* (Sternchen ist wichtig) oder \def einen "kurzen" Befehl definierst und dann im Argument einen Absatz (\par) hast:


\documentclass{article}
\begin{document}
% "kurzer" Befehl (\def\test ...):
\newcommand*\test[1]{#1}

\test{a \par b}
\end{document}

bene
22-08-2012, 14:44
Danke. Sowohl für die Erklärung als auch für den Tipp.