如何强制奇数页上的章节(包括例外)

如何强制奇数页上的章节(包括例外)

我正在尝试设置我的文档,使所有章节都从奇数页开始。但是我希望两个章节有不同的行为,它们需要从同一页开始。

\documentclass[12pt,a4paper,twoside,open=right]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\scr@startchapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother

\begin{document}
    \chapter*{first}
    \lipsum

    \chapter*{second}
    \lipsum

    \chapter{third}
    \lipsum

    \chapter{fourth}
    \lipsum
\end{document}

就我所了解的情况而言,我想做的是。我使用scrreprt并且为了从奇数页开始章节,我使用参数open=right

为了将两个章节放在同一页上,我包含了\usepackage{etoolbox}命令\patchcmd{...},以便所有标有星号(*)的章节都放在同一页上。

结果是第一章和第二章都是正确的。第三章是错误的,因为它从第 4 页开始,因此不是奇数页。第四章正确地从第 5 页开始。

我怎样才能实现上述目标?

答案1

避免修补内部 KOMA-Script 命令。您可以使用将级别从\RedeclareSectionCommand更改为。stylechapterchaptersection

\documentclass[12pt,twoside,open=right]{scrreprt}[2017/09/07]

\usepackage[ngerman]{babel}
\usepackage{lipsum}

\newcommand*\specialchapters{%
  \RedeclareSectionCommand[style=section]{chapter}%
}
\newcommand*\normalchapters{%
  \RedeclareSectionCommand[style=chapter]{chapter}%
}

\begin{document}
\specialchapters
\addchap*{first}
\lipsum

\addchap*{second}
\lipsum

\normalchapters
\chapter{third}
\lipsum

\chapter{fourth}
\lipsum
\end{document

或者你可以“克隆”级别chapter到一个新的级别schap,然后将该级别的样式更改为section

\documentclass[12pt,twoside,open=right]{scrreprt}[2017/09/07]

\usepackage[ngerman]{babel}
\usepackage{lipsum}

\DeclareNewSectionCommand[
  style=chapter,
  level=\chapternumdepth,
  tocindent=0pt,
  tocnumwidth=1.5em
]{schap}

\RedeclareSectionCommand[
  style=section
]{schap}

\begin{document}
\schap*{first}
\lipsum

\schap*{second}
\lipsum

\chapter{third}
\lipsum

\chapter{fourth}
\lipsum
\end{document}

两个建议的结果:

enter image description here

相关内容