\onehalfspacing 和 {spacing}{1.5} 会产生不同的结果吗?

\onehalfspacing 和 {spacing}{1.5} 会产生不同的结果吗?

我正在处理一份文档,其中要求增加文本的一小部分行距。但是,我不知道为什么,\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,而不是onehalfspacingAND ,它(对于 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 倍,即当前字体大小。

相关内容