请参阅下面的 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
。 - 添加
\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}