章节标题采用单倍行距,文档采用双倍行距

章节标题采用单倍行距,文档采用双倍行距

我正在使用该课程排版论文book,需要章节标题为单倍行距,而正文必须为双倍行距。

\singlespacing在章节定义的文本前插入会导致! Missing control sequence inserted. <inserted text> \inaccessible编译错误,并且会在目录中的章节编号和名称之间插入虚假的换行符。

这是一个最小工作示例:

\documentclass[12pt,oneside]{book}
\usepackage{lipsum} % included only to generate example text
\usepackage{setspace} % set double vs single spacing
\begin{document}
\clearpage
\doublespacing
\chapter{I need singlespace titles, doublespace text.}
\section{Section headers should also be single-spaced, but I could adjust titles to fit on one line}
\lipsum[4] % generate some filler text
\end{document}

这不是重复的这个问题,因为该问题的答案要么涉及对\section命令的特定黑客攻击,要么涉及当我尝试将其与类一起使用时titlesec出现错误的包。! Package titlesec Error: Not allowed in 'easy' settings.book

编辑:事实证明,这sectsty不适合我的需求,因为它会破坏其他地方的格式,并且doublespacing与使用titlesec解决方案的交互方式不同。例如,

\documentclass[12pt,oneside]{book}
\usepackage{lipsum}
\setcounter{secnumdepth}{3}
\usepackage{sectsty}
\usepackage{setspace} % set double vs single spacing
\allsectionsfont{\singlespacing}
\begin{document}
\doublespacing
\chapter{Singlespace titles, doublespace text.}
\section{Section headers should \\also be single-spaced}
\subsubsection{The \texttt{sectsty} package interacts with \texttt{doublespacing}, adds too much space below this header}
\paragraph{The \texttt{sectsty} package causes this paragraph to be indented}
\lipsum[4]
\end{document}

答案1

您可以在文档的序言中添加以下说明(加载包后setspace):

\usepackage{sectsty}
\allsectionsfont{\singlespacing}

完整的 MWE (最小工作示例):

\documentclass[12pt,oneside]{book}
\usepackage{lipsum}   % for filler text
\usepackage{setspace} 
\doublespacing

\usepackage{sectsty}
\allsectionsfont{\singlespacing}

\begin{document}

\chapter{I need singlespace titles, doublespace text.}

\section{Section headers should also be single-spaced, but I could adjust titles to fit on one line}

\lipsum[4] % filler text
\end{document}

答案2

相关问题有一个使用包的章节标题解决方案titlesec。但是,如果复制此答案并天真地修改章节标题,则会导致错误! Package titlesec Error: Not allowed in 'easy' settings。出现错误的原因是titlesec 包处理章节和章节的方式略有不同。使用该包对单倍行距章节和节标题的咒语titlesec如下:

\usepackage{titlesec}
\titleformat{\chapter}[display]{\normalfont\huge\bfseries\singlespacing}{\chaptertitlename\ \thechapter}{40pt}{\huge}
\titleformat{\section}{\singlespacing\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}{\singlespacing\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}{\singlespacing\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}

相关内容