ヘッダーの偶数ページと奇数ページを片側オプションで区別する

ヘッダーの偶数ページと奇数ページを片側オプションで区別する

下記の MWE を参照してください。オプションbookにもかかわらず、onesideヘッダーで奇数ページと偶数ページを区別するには (標準クラスで) どうすればよいでしょうか。片面印刷でも、片面オプションがない場合と同様に、奇数ページのヘッダーには章が表示され、偶数ページのヘッダーにはセクションが表示されるようにしたいと思います。

\documentclass[oneside]{book}

\usepackage{lipsum}
\usepackage{fancyhdr}

\usepackage[
  a4paper,                                    
  textwidth=16cm,                             
  outer=2cm,
  textheight=45\baselineskip,
  headheight=\baselineskip,
  includehead=true,% Default
  heightrounded,
]{geometry}

\pagestyle{fancy}
\fancyhead{}
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot{}

\begin{document}

\chapter{Chapter One}
\section{Section One of Chapter One}
\lipsum
\lipsum
\section{Section Two of Chapter One}
\lipsum
\lipsum

\end{document}

答え1

別の方法としては を使用しoneside、次のようにページ番号に基づいてヘッダーを切り替えることです。

\documentclass[oneside]{book}

\usepackage{lipsum}
\usepackage{fancyhdr}
\usepackage{ifthen}

\pagestyle{fancy}
\fancyhead{}
\fancyhead[L]{\ifthenelse{\isodd{\value{page}}}{\leftmark}{\rightmark}}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot{}

\begin{document}

\chapter{Chapter One}
\section{Section One of Chapter One}
\lipsum
\lipsum
\section{Section Two of Chapter One}
\lipsum
\lipsum

\end{document}

答え2

Stefan Lehmke のコメントに触発されて、次の解決策を見つけました。

  • 使用twoside
  • LaTeX が章を常に偶数ページから開始するように強制するのを避けるために追加します\renewcommand{\cleardoublepage}{\clearpage}(序文の最後に置く)。
  • 内側の余白と外側の余白が交互にページごとに入れ替わらないように、パッケージasymmetricにオプションを追加します。geometry

\documentclass{book}

\usepackage{lipsum}
\usepackage{fancyhdr}

\usepackage[
  a4paper,
  asymmetric,                               
  textwidth=16cm,
  outer=2cm,
  textheight=45\baselineskip,
  headheight=\baselineskip,
  includehead=true,% Default
  heightrounded,
]{geometry}

\pagestyle{fancy}
\fancyhead{}
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot{}

\renewcommand{\cleardoublepage}{\clearpage}

\begin{document}

\chapter{Chapter One}
\section{Section One of Chapter One}
\lipsum
\lipsum
\section{Section Two of Chapter One}
\lipsum
\lipsum

\chapter{Chapter Two}
\section{Section One of Chapter Two}
\lipsum
\lipsum
\section{Section Two of Chapter Two}
\lipsum
\lipsum

\end{document}

関連情報