在标题中使用 \singlespacing,在主文档中使用 \onehalfspacing

在标题中使用 \singlespacing,在主文档中使用 \onehalfspacing

我正在使用 KOMA-scriptscrartcl类撰写一篇文章。正文使用包\onehalfspacing中的选项setspace。在我的文章中,我使用包设置了几行文本的标题scrpage2。我想要实现的是\singlespacing仅在标题中使用。

像这样:

\documentclass[fontsize=14pt,headlines=3,headinclude]{scrartcl}
\usepackage{xltxtra}
\setmainfont{CMU Serif}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{scrpage2}
\chead{Some really long text\\ that takes\\more than one line}
\pagestyle{scrheadings}

\begin{document}
\onehalfspacing
\lipsum
\end{document}

结果

我希望如此一些很长的文字有单倍行距。可以吗?阅读 KOMA-script 手册时,我没有发现任何关于标题间距的建议。

答案1

首先,\setstretch{1}在 的参数前面加上\chead。(不要使用 ,\singlespacing因为这会在开头添加额外的空间。)其次,因为单倍行距的行高是半倍行距行高的 0.8 倍,所以headlines=3改为headlines=2.4

\documentclass[fontsize=14pt,headlines=2.4,headinclude]{scrartcl}
\usepackage[onehalfspacing]{setspace}
\usepackage{lipsum}
\usepackage{scrpage2}
\chead{\setstretch{1}Some really long text\\ that takes\\more than one line}
\pagestyle{scrheadings}
\begin{document}
\lipsum
\end{document}

答案2

我会使用\parbox;但由于scrpage2已经使用\parbox本身来放置标题,最终结果几乎是不可预测的,除非我们采用隐藏框高度的技巧

\documentclass[fontsize=14pt,headlines=3,headinclude]{scrartcl}
\usepackage[pass,showframe]{geometry} % just to draw frames
\usepackage{fontspec}
\setmainfont{CMU Serif}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{scrpage2}
\chead{%
  \parbox[b][0pt]{\textwidth}{
  \singlespacing\centering
    Some really long text\\
    that takes\\
    more than one line\vspace{-\dp\strutbox}
  }%
}

\pagestyle{scrheadings}

\begin{document}
\onehalfspacing
\lipsum
\end{document}

最后的\vspace目的是将底线推到“真正正确”的位置(实际上是几个点)。

在此处输入图片描述

答案3

自 2013 年起scrpage2已过时。自 3.24 版起,官方继任者scrlayer-scrpage可以选择singlespacing将页眉和页脚设置为单倍行距:

\documentclass[fontsize=14pt,headlines=3,headinclude]{scrartcl}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage[singlespacing]{scrlayer-scrpage}
\chead{Some really long text\\ that takes\\more than one line}
\pagestyle{scrheadings}

\begin{document}
\onehalfspacing
\lipsum
\end{document}

结果是:

在此处输入图片描述

相关内容