Por que alterar \baselinestretch não altera o espaçamento entre linhas?

Por que alterar \baselinestretch não altera o espaçamento entre linhas?

Eu li que o espaçamento entre linhas em um documento LaTeX é controlado pela \baselinestretchmacro, por exemploaqui. A configuração \baselinestretchno preâmbulo altera de fato o espaçamento entre linhas. No entanto, quando eu redefino \baselinestretchdentro do documento, o espaçamento entre linhas não é afetado.

É claramente possível alterar o espaçamento entre linhas no meio do documento, comodemonstradopelo setspacepacote, mas por que a simples redefinição \baselinestretchnão faz isso?


Por exemplo, eu esperaria que o código a seguir tivesse um parágrafo de lorem ipsum com espaçamento de 1,5, seguido pelo mesmo parágrafo com espaçamento de 1,0, mas ambos saíssem com espaçamento de 1,5.

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

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

Responder1

\baselinestretchapenas define o multiplicador usado na próxima seleção de fonte, então você precisa de \selectfont.

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

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

informação relacionada