labbook/scrbook 新章节不在单独页面上

labbook/scrbook 新章节不在单独页面上

我正在使用依赖于 scrbook 的 labbook 文档类。它为每个章节开始一个新页面,而我并不想发生这种情况。有没有办法强制它在上一章结束的同一页面上继续新章节?

我试过

\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother

但它没有作用。

以下是 MWE:

\documentclass[oneside]{labbook}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother

\begin{document}

\labday{Monday}
First day in the lab.
\labday{Tuesday}
Second day in the lab.

\end{document}

有什么建议么?

答案1

因为\labday使用了\addchapKOMA-Script的无编号版本\chapter),所以您必须修补此命令。我\par在更改的定义开头添加了一个,以防(如您的示例所示)在文档主体\par之前没有添加行或添加空行。\labday

\documentclass[oneside]{labbook}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\addchap}{\if@openright\cleardoublepage\else\clearpage\fi}{\par}{}{}
\makeatother

\begin{document}

\labday{Monday}
First day in the lab.
\labday{Tuesday}
Second day in the lab.

\end{document}

答案2

自 2015 年起,KOMA-Script 提供了\RedeclareSectionCommand将分段命令的样式\chapter从更改style=chapter为 的命令style=section

\RedeclareSectionCommand[style=section,indent=0pt]{chapter}

请注意,stylesection需要一个值,indent但 stylechapter不知道这个选项。

\documentclass[oneside]{labbook}
\RedeclareSectionCommand[style=section,indent=0pt]{chapter}

\begin{document}
\labday{Monday}
First day in the lab.
\labday{Tuesday}
Second day in the lab.
\end{document}

结果是

在此处输入图片描述

相关内容