Warum ändert sich der Zeilenabstand nicht, wenn \baselinestretch geändert wird?

Warum ändert sich der Zeilenabstand nicht, wenn \baselinestretch geändert wird?

Ich habe gelesen, dass der Zeilenabstand in einem LaTeX-Dokument durch das \baselinestretchMakro gesteuert wird, zum BeispielHier. Die Einstellung \baselinestretchin der Präambel ändert tatsächlich den Zeilenabstand. Wenn ich ihn \baselinestretchjedoch innerhalb des Dokuments neu definiere, bleibt der Zeilenabstand davon unberührt.

Es ist natürlich möglich, den Zeilenabstand mitten im Dokument zu ändern, wiegezeigtdurch das setspacePaket, aber warum reicht eine einfache Neudefinition \baselinestretchnicht aus?


Beispielsweise würde ich erwarten, dass der folgende Code einen Absatz mit Lorem Ipsum und einem Zeilenabstand von 1,5 gefolgt vom gleichen Absatz mit einem Zeilenabstand von 1,0 enthält, aber beide ergeben einen Zeilenabstand von 1,5.

\documentclass{article}
\usepackage{lipsum}
\def\baselinestretch{1.5}

\begin{document}
\lipsum[1]
\hrule
\def\baselinestretch{1}
\lipsum[1]
\end{document}

Antwort1

\baselinestretchlegt einfach den Multiplikator fest, der bei der nächsten Schriftartauswahl verwendet wird, Sie benötigen also \selectfont.

\documentclass{article}
\usepackage{lipsum}
\def\baselinestretch{1.5}

\begin{document}
\lipsum[1]
\hrule
\def\baselinestretch{1}\selectfont
\lipsum[1]
\end{document}

verwandte Informationen