如何使用 setspace 中的 \SetSinglespace?

如何使用 setspace 中的 \SetSinglespace?

文件setspace.sty记录命令\SetSinglespace

% GT:  Tue 10 Dec 1996:  Instead of fixing singlespacing to exact unity,
% allow user to redefine it (only slightly, please!) from its initial
% value of unity, in the case when a particular font is slightly larger
% or slightly smaller than its point size would indicate.  This change
% affects setspace's single spacing commands, and LaTeX's footnote and
% float environments.  The one and a half, double, and arbitrary
% spacing commands are unaltered.

接下来是

\newcommand{\SetSinglespace}[1]{%
  \def\setspace@singlespace{#1}%
}

% Here's the default single line spacing value.
\SetSinglespace{1}

我以为我可以使用\SetSinglespace来改变“单倍行距”的行为。当使用Fira Sans在我的文档中,我想使用字体的推荐行距,即字体大小为 1.4 倍。 我试过

\documentclass{article}
\usepackage[sfdefault]{FiraSans}
\usepackage[nodisplayskipstretch]{setspace}
\SetSinglespace{1.167}% 1.4/1.2
%\setstretch{1.167}

\usepackage{blindtext}

\begin{document}
\blindtext
\end{document}

但它没有效果。

\setstretch{1.167}注意不是一个解决方案,因为它关闭了脚注和浮动中的行拉伸。在我的例子中,行拉伸是需要的。

答案1

您已将跳过设置为\singlespacing活动状态。但是,您从未将其设置为活动状态。

\documentclass{article}
\usepackage[sfdefault]{FiraSans}
\usepackage[nodisplayskipstretch]{setspace}
\SetSinglespace{1.167}% 1.4/1.2
\singlespacing

\usepackage{blindtext}

\begin{document}
\blindtext
\end{document}

宽敞的费拉

答案2

只是\SetSingleSpacing{<whatever>}没有立即的效果,因为

\newcommand{\SetSinglespace}[1]{%
  \def\setspace@singlespace{#1}%
}

之后没有\singlespacing声明。脚注中空格正确是setspace因为添加 \singlespacing当脚注排版时。

打电话\usepackage[singlespacing]{setspace}是没有用的,因为你是\SetSingleSpacing在包加载之后才打电话的。

为什么包中使用\AtEndOfPackage而不是\AtBeginDocument?因为行间空格的设置在setspace加载后完成,\AtBeginDocument用户的设置将被覆盖。

无论如何,你需要setspace这个。只是

\linespread{1.167}

在序言中就可以了。

\documentclass{article}
\usepackage[sfdefault]{FiraSans}

\usepackage{lipsum}

\linespread{1.167}

\begin{document}

\lipsum*[3]
\[
x+y=z
\]
abc\footnote{\lipsum*[4]} \lipsum[5]

\end{document}

在此处输入图片描述

输出

\documentclass{article}
\usepackage[sfdefault]{FiraSans}
\usepackage[nodisplayskipstretch]{setspace}
\usepackage{lipsum}

\SetSinglespace{1.167}% 1.4/1.2
\singlespacing

\begin{document}

\lipsum*[3]
\[
x+y=z
\]
abc\footnote{\lipsum*[4]} \lipsum[5]

\end{document}

是一样的。

相关内容