Seite 1 von 1
ungleichmäßiger Zeilenvorschub bei center(ing)
Verfasst: Di 28. Sep 2010, 19:55
von iTob
Guten Abend,
ich habe ein selstames Phänomen, dass ich nicht verstehe: Wenn ich \LARGE-Text in einer center-Umgebung (oder mit \centering) manuell umbreche, mit \\, entsteht ein ungleichmäßiger Zeilenvorschub.
Weiß jemand, woran das liege könnte?
Hier ein Minimalbeispiel, in dem \centering nur der Vollständigkeit halber vorkommt, mir geht es im wesentlichen um die center-Umgebung.
\documentclass[11pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
Das ist ganz normal:
\begingroup
\LARGE
XXXXXXX XXXXXXX XXXXX \\
XXXXXXXXXXXXXXXXXXXXXXXXX \\
XX XXXXX XXXXXX
\endgroup
\bigskip
Aber hier sind die Zeilenabstände ungleichmäßig
\begin{center}
\begingroup
\LARGE
XXXXXXX XXXXXXX XXXXX \\
XXXXXXXXXXXXXXXXXXXXXXXXX \\
XX XXXXX XXXXXX
\endgroup
\end{center}
\bigskip
hier ebenfalls
\centering
\begingroup
\LARGE
XXXXXXX XXXXXXX XXXXX \\
XXXXXXXXXXXXXXXXXXXXXXXXX \\
XX XXXXX XXXXXX
\endgroup
\end{document}
Das Problem tritt auch bei anderen Größenwechseln (\tiny, \Huge, …) auf.
Vielen Dank!
Grüße,
Tobi
Verfasst: Di 28. Sep 2010, 21:06
von Mechanicus
Hi,
abgesehen davon, dass \\ sowieso nicht toll ist
Dein Problem ist begingroup--endgroup
\documentclass[11pt,a4paper]{scrartcl}
\begin{document}
\begin{center}
\LARGE
XXXXXXX XXXXXXX XXXXX \\
XXXXXXXXXXXXXXXXXXXXXXXXX \\
XX XXXXX XXXXXX
\end{center}
\begin{center}
\begingroup
\LARGE
XXXXXXX XXXXXXX XXXXX \\
XXXXXXXXXXXXXXXXXXXXXXXXX \\
XX XXXXX XXXXXX\\
\endgroup
\end{center}
\end{document}
Gruß
Marco
Verfasst: Di 28. Sep 2010, 21:27
von iTob
Nabend, danke für die Antwort!
Aber daran scheint es nicht zu liegen. Eher daran, dass dritte Zeile nicht ausdrücklich – also mit \\, \par, Leerzeile oder so – beendet wird, was das
\end{center} aber scheinbar automatisch macht, wenn das \endgroup wegfällt.
Aber nach deinem Beitrag hab ich immerhin eine Lösung gefunden. Auch wenn mich immer noch interessiert, warum das so ist...
Viele Grüße
Tobi
PS: Ich lasse den Status vorerst offen, dann hab ich vielleicht noch eine Chance auf die Antwort nach dem warum …
Verfasst: Di 28. Sep 2010, 21:42
von Mechanicus
Hi,
iTob hat geschrieben:Nabend, danke für die Antwort!
PS: Ich lasse den Status vorerst offen, dann hab ich vielleicht noch eine Chance auf die Antwort nach dem warum …
Ich
glaube das hängt mit dem Satzsystem von LaTeX zusammen.
Der Zeilenabstand ist ja meines Wissens nach variabel (glue). Mit Beendigung des Absatzes wird also der Abstand gesetzt. Ist dieser aber auf normalsize ausgerichtet, so hast du ein Problem

Bsp:
\documentclass[11pt,a4paper]{scrartcl}
\begin{document}
Test Test Test Test Test Test
\LARGE Test Test Test Test Test
Test Test Test Test Test Test Test
Test Test Test Test Test Test Test Test Test Test Test
\normalsize
Test Test Test Test Test Test Test Test Test Test Test
Test Test Test Test Test Test Test Test Test Test Test Test
Test Test Test Test Test Test
\LARGE Test Test Test Test Test
Test Test Test Test Test Test Test
Test Test Test Test Test Test Test Test Test Test Test
Test Test Test Test Test Test Test Test Test Test Test
Test Test Test Test Test Test Test Test Test Test Test Test
\end{document}
Nach diesem Versuch bin ich bereit für Verbesserungen.
Gruß
Marco
Verfasst: Mi 29. Sep 2010, 08:29
von KOMA
TeX nimmt immer für den Umbruch immer die Satzeinstellungen, die zum Zeitpunkt des Umbruchs gelten. Da TeX keinen Zeilenumbruch, sondern einen Absatzumbruch macht, sind das normalerweise die Einstellungen am Ende des Absatzes. Wenn man nun also Schritgrößenänderungen innerhalb eines Absatzes hat, so wird der gesamte Absatz mit dem Grundlinienabstand gesetzt, der am Ende des Absatzes gilt. Es kommt allenfalls zu einer Zeilenaufweitung, wenn Material höher oder tiefer ist. Deshalb sind Dinge wie
\begin{Large}% Bitte nicht machen! Fehleranfällig!
\blindtext
\end{Large}
so problematisch. Hier wurde nämlich vergessen, den Absatz zu beenden, bevor die Reichweite der Schriftgrößenänderung und damit der Änderung des Grundlinienabstandes beendet wurde.
Der feste Zeilenumbruch bei Umgebungen ist ein Sonderfall. In Wirklichkeit ist das nämlich ein verkappter Absatz, der sich optisch nicht wie ein Absatz verhält. Für den Umbruch ist es jedoch ein Absatz. Damit sollte man niemals
schreiben, sondern immer
bzw. ohne passende Umgebungen
Ebenso muss im Fall, dass am Ende einer center-, flushleft-, flushright- oder sonstigen Umgebung noch eine Schriftgrößenumschaltung aktiv ist, zuerst der Absatz beendet werden. Ob man das bei center mit \\ oder mit \par oder mit einer Leerzeile macht, ist egal.
BTW: Im Forum dürfte sich höchstwahrscheinlich irgendwo mein Warnbeispiel mit \begin{tiny} finden, das dieses Problem ausfürhlich behandelt.
Verfasst: Mi 29. Sep 2010, 12:15
von iTob
Danke, hast du vielleicht noch einen Tip, nach was ich suchen muss, um den Beitrag zu finden, bisher war ich bei der Suche erfolglos...
Verfasst: Mi 29. Sep 2010, 13:26
von Nerd 032F
http://www.komascript.de/comment/2952#comment-2952 Gefunden über Suche nach Autor "KOMA" und Stichwort "Umschalter" hier im Forum.
Verfasst: Mi 29. Sep 2010, 15:57
von iTob
danke, auf „Umschalter“ wäre ich nie gekommen...
Verfasst: Do 30. Sep 2010, 08:47
von KOMA
Ich schätze mal, dass der 0815 Nerd auch erst nach »tiny« gesucht hat, dort dann auf ein fettes »Umschalter« gestoßen ist und dann nochmal danach gesucht hat.