我需要将文档(一本书)某一章的所有部分都显示在奇数页中。有什么想法吗?
答案1
这里有两个解决方案。第一个定义了一个新命令\mysection
;第二个借助使过程自动化etoolbox
,但需要在章节开头和结尾处各设置一个条件,其中章节必须出现在奇数页上。下面是一个 mwe:
\documentclass{book}
\usepackage{lipsum}
% first solution
\makeatletter
\newcommand{\mysection}[1]{%
\ifnum\value{section}=0\relax
\else
\cleardoublepage
\fi
\section{#1}}
\makeatother
% second solution
\usepackage{etoolbox}
\newif\ifoddsections
\pretocmd{\section}{
\ifoddsections
\ifnum\value{section}=0\relax
\else
\cleardoublepage
\fi
\else
\fi}{}{}
\begin{document}
\chapter{With a new section command}
\mysection{The first section of the chapter}\lipsum[1-6]
\mysection{A section starting on an odd page}
\mysection{A section starting on an odd page}
\chapter{With a conditional}
\oddsectionstrue
\section{The first section of the chapter}\lipsum[1-6]
\section{A section starting on an odd page}
\section{A section starting on an odd page}
\oddsectionsfalse
\chapter{A normal chapter with sections on even or odd pages}
\section{The first section of the chapter}\lipsum[1-6]
\section{A section starting on an odd page}
\section{A section starting on an odd page}
\end{document}
答案2
我假设您希望这些部分从页面开始,而不是从奇数页的中间开始?如果没有太多部分,您可以将\cleardoublepage
它们放在所有部分之前。更高级的方法是 etoolbox 的\pretocmd{\section}{\cleardoublepage}{}{}
,适当本地化。但这也可能遇到麻烦,因为\section
它会做一些奇怪的事情。