该setspace
包提供了几个多行间距命令,例如\doublespacing
。但据我所知,它不提供按任意因子计算的简单间距命令。它提供了\setstretch
但只是乘以\baselineskip
而不是像字体大小那样乘以\doublespacing
,因此\doublespacing
和导致不同的间距。我想知道为什么没有这样的命令以及是否可以创建一个。到目前为止,我的尝试(基于中\setstretch{2}
的定义)如下:\doublespacing
setspace
\documentclass{article}
\usepackage{setspace}
\usepackage{xfp}
\makeatletter
\newcommand{\multispacing}[1]{%
\setstretch {\fpeval{round(#1*10/12, 3)}}% default
\ifcase \@ptsize \relax % 10pt
\setstretch {\fpeval{round(#1*10/12, 3)}}%
\or % 11pt
\setstretch {\fpeval{round(#1*11/13.6, 3)}}%
\or % 12pt
\setstretch {\fpeval{round(#1*12/14.5, 3)}}%
\fi
}
\makeatother
\multispacing{3}
\begin{document}
First line
Second line
\end{document}
编辑
我已经找到编译失败的原因,并相应地更改了代码。现在我只想知道为什么包中没有提供这样的命令setspace
。