为什么改变 \baselinestretch 不会改变行距?

为什么改变 \baselinestretch 不会改变行距?

我读到过,LaTeX 文档中的行距由\baselinestretch宏控制,例如这里\baselinestretch序言中的设置确实会改变行距。\baselinestretch但是当我在文档内部重新定义时,行距不受影响。

显然可以在文档中间更改行距,因为证明通过setspace包,但是为什么简单地重新定义\baselinestretch不能做到这一点?


举个例子,我希望下面的代码中有一个 lorem ipsum 段落,行距为 1.5 倍,后面跟着一个同一段,行距为 1.0 倍,但结果两段都是 1.5 倍行距。

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

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

答案1

\baselinestretch只是设置下一次字体选择时使用的乘数,因此您需要\selectfont

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

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

相关内容