我正在处理一份文档,其中要求增加文本的一小部分行距。但是,我不知道为什么,\begin{onehalfspacing}
...\end{onehalfspacing}
不起作用。
因此,我寻找了一种替代方法,并想出了\begin{spacing}{1.5}
... \end{spacing}
,这肯定增加了我正在处理的文档中行之间的间距。
然而,在尝试弄清楚为什么第一种方法不起作用时,我发现两种方法产生了不同的结果。
考虑一下代码,
\documentclass{book}
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\thispagestyle{empty}
\begin{onehalfspacing}
\lipsum[3] \vspace{20pt}
\end{onehalfspacing}
\begin{spacing}{1.5}
\lipsum[3]
\end{spacing}
\end{document}
输出结果如下:
现在,在我看来,我认为这两个结果应该是相同的,但事实是不同的。
问题:是什么原因导致这两个输出之间的差异?两者中哪一个能提供更准确的一倍半间距输出?最后,如果\spacing{1.5}
不准确,是否有人知道我应该使用缩放因子使其尽可能接近一倍半间距---因为这种方法在我的文档中有效,而\onehalfspacing
(由于某些未知原因)无效。
谢谢。
答案1
环境名称是onehalfspace
,而不是onehalfspacing
AND ,它(对于 10pt 文档)等同于\begin{spacing}{1.25}
。
\documentclass{book}
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\thispagestyle{empty}
\begin{onehalfspace}
\lipsum[3] \vspace{20pt}
\end{onehalfspace}
\begin{spacing}{1.25}
\lipsum[3]
\end{spacing}
\end{document}
以下是样式文件中的相关代码:
% one and a half spacing is 1.5 x pt size
\newenvironment{onehalfspace}{%
\begingroup
\onehalfspacing
}{%
\restore@spacing
}
在哪里
\newcommand{\onehalfspacing}{%
\setstretch{1.25}% default
\ifcase \@ptsize \relax % 10pt
\setstretch {1.25}%
\or % 11pt
\setstretch {1.213}%
\or % 12pt
\setstretch {1.241}%
\fi
}
和
\newenvironment{spacing}[1]{%
\par
\begingroup % moved from \endspacing by PGBR 29-1-91
\setstretch {#1}%
}{%
\restore@spacing
}
答案2
命令名称约定在包注释中有说明,例如
% one and a half spacing is 1.5 x pt size
\newenvironment{onehalfspace}{%
因此请注意,它是标称字体大小的 150%,而不是原始基线间距。
\documentclass{article}
\usepackage{setspace}
\begin{document}
\begin{onehalfspace}
\showthe\baselineskip
\end{onehalfspace}
\end{document}
生产
> 15.0pt.
l.8 \showthe\baselineskip
15 是 10pt 的 1.5 倍,即当前字体大小。