我一直在使用classicthesis
带有arsclassica
样式包的模板撰写博士论文。我的大学要求我将论文正文设置为双倍行距,因此我\doublespacing
在大部分文档中都使用了这种格式。这也会让我的章节和节标题也设置为双倍行距,这很烦人。我可以在每个章节/节/小节标题前后手动插入\singlespacing
,\doublespacing
但这会非常繁琐。
我知道之前有关于这个话题的几个答案,特别是这是来自@GonzaloMedina 的,提出了两种可能的补救措施:
用于在每个部分单元之前和之后
etoolbox
插入:\singlespacing
\doublespacing
\usepackage{etoolbox} \makeatletter \pretocmd{\@sect}{\singlespacing}{}{} \pretocmd{\@ssect}{\singlespacing}{}{} \apptocmd{\@sect}{\doublespacing}{}{} \apptocmd{\@ssect}{\doublespacing}{}{} \makeatother
classicthesis
不幸的是,这似乎对文档没有任何影响。用于
titlesec
直接指定标题的格式:\usepackage{titlesec} \titleformat{\section} {\singlespacing\normalfont\Large\bfseries}{\thesection}{1em}{} \titleformat{\subsection} {\singlespacing\normalfont\large\bfseries}{\thesubsection}{1em}{} \titleformat{\subsubsection} {\singlespacing\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
arsclassica
但是,这会覆盖/提供的良好默认格式classicthesis
。
在该问题下的评论部分,@PeterGrill 建议使用
\let\OldSection\section
\renewcommand*{\section}[1]{\singlespace\OldSection{#1}\doublespace}
这是我目前最接近可行的解决方案,但不幸的是,它阻止我使用可选\section[Short title]{Long title}
语法,这对于我的一些长节标题很有用。他还建议了另一种解决这个问题的变体:
\usepackage{letltxmacro}
\LetLtxMacro\OldSection\section
\renewcommand*{\section}[2][]{\singlespace\OldSection[#1]{#2}\doublespace}
但是,正如 Gonzalo 指出的那样,这会阻止正确生成 TOC。
简而言之,我想知道是否有更好的方法来在使用classicthesis
/的双倍行距文档中专门强制使用章节/章节/小节标题的单倍行距arsclassica
。
以下是一个简单的测试用例:
\documentclass[headinclude, oneside]{scrbook}
\usepackage[eulerchapternumbers,beramono,pdfspacing]{classicthesis}
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\doublespacing
\section[A short section name]{A long section name that spans multiple lines within the document but should be single-spaced}
\lipsum[1]
\section[Another short section name]{Another long section name that spans multiple lines within the document but should be single-spaced}
\lipsum[2]
\end{document}
答案1
重做相关\titleformat
命令:
\documentclass[headinclude, oneside]{scrbook}
\usepackage[eulerchapternumbers,beramono,pdfspacing]{classicthesis}
\usepackage{arsclassica}
\usepackage{setspace}
\usepackage{lipsum}
\titleformat{\section}
{\singlespacing}
{\textsc{\MakeTextLowercase{\thesection}}}
{1em}
{\spacedlowsmallcaps}
\begin{document}
\doublespacing
\section[A short section name]{A long section name that spans multiple lines within the document but
should be single-spaced}
\lipsum[1]
\section[Another short section name]{Another long section name that spans multiple lines within the
document but should be single-spaced}
\lipsum[2]
\end{document}
有沒有都arsclassica
一樣。