仅在一个章节的奇数页开始章节

仅在一个章节的奇数页开始章节

我需要将文档(一本书)某一章的所有部分都显示在奇数页中。有什么想法吗?

答案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它会做一些奇怪的事情。

相关内容