Различение четных/нечетных страниц в заголовке с помощью опции oneside

Различение четных/нечетных страниц в заголовке с помощью опции oneside

См. 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

Вдохновленный комментарием Стефана Лемке, я нашел следующее решение:

  • Использовать twoside.
  • Добавьте \renewcommand{\cleardoublepage}{\clearpage}, чтобы избежать того, что LaTeX заставляет главы всегда начинаться на четных страницах (помещайте в конец преамбулы).
  • Добавьте опцию 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}

Связанный контент