In vielen Code-Beispielen und Paketen sieht man das Kommentar-Zeichen Wieso? Welchen Zweck erfüllen sie? gefragt 10 Jun '13, 11:51 cgnieder |
Wenn TeX das Ende einer Zeile sieht, wandelt es das in ein Leerzeichen um, exakt äquivalent, als wenn man ein Leerzeichen eingegeben hätte: Open in writeLaTeX
Text Text ist genau gleich wie Open in writeLaTeX
Text Text Genaugenommen wird das Zeichen eingefügt, das der Nummer des Registers In Makro-Definitionen gilt das genauso wie im laufenden Text. Die Definition Open in writeLaTeX
\newcommand*\foo{ foo bar } ist gleich der Definition Open in writeLaTeX
\newcommand*\foo{ foo bar } wie folgendes Beispiel demonstriert: Open in writeLaTeX
\documentclass{article} \newcommand*\foo{ foo bar } \begin{document} bla\foo{}bar \end{document} Da Leerzeichen am Anfang einer Zeile verschluckt werden, nicht aber an anderen Stellen, sollte man Leerzeichen, die durch das Ende von Zeilen verursacht werden, verstecken, damit sie nicht unbeabsichtigt an Stellen auftauchen, an denen man sie nicht möchte: Open in writeLaTeX
\newcommand*\foo{% foo bar% } Diese Definition ist jetzt gleichwertig zu Open in writeLaTeX
\newcommand*\foo{foo bar} wie dieses Beispiel demonstriert: Open in writeLaTeX
\documentclass{article} \newcommand*\foo{% foo bar% } \begin{document} bla\foo{}bar \end{document} Jetzt sollte man aber auch nicht den Schluss ziehen, dass man einfach immer an das Ende einer Zeile ein Open in writeLaTeX
\newcommand*\test[1]{% \ifnum1=#1% 1% \else keine 1% \fi } liefert Open in writeLaTeX
\test{1} vielleicht unerwarteterweise »keine 1«! Das liegt daran, dass die Definition gleichbedeutend ist mit Open in writeLaTeX
\newcommand*\test[1]{\ifnum1=#11\else keine 1\fi} und tatsächlich Open in writeLaTeX
\newcommand*\test[1]{% \ifnum1=#1 % Leerzeichen nach `#1' 1% \else keine 1% \fi } Ähnlich vorsichtig sollte man nach Zuweisungen sein, die Skips (Längen, die dehn- und stauchbare Anteile enthalten können) zuweisen und nach beantwortet 10 Jun '13, 12:21 cgnieder |
Eine sehr gute Übersicht darüber, wann Zeilenenden oder Leerzeichen von LaTeX als Wortzwischenraum interpretiert werden und deshalb auch in der Ausgabe landen und wann nicht, findet man übrigens in dem Artikel »Ich habe zusätzliche Leerzeichen/Einzüge in meinem Text, die da nicht hingehören. Woher kommen die?« beantwortet 23 Jun '13, 18:14 saputello |