我正在尝试设置我的文档,使所有章节都从奇数页开始。但是我希望两个章节有不同的行为,它们需要从同一页开始。
\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
更改为。style
chapter
chapter
section
\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}
两个建议的结果: