我正在使用 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}
结果是: