单面文档的章节标题在偶数页上,节标题在奇数页上

单面文档的章节标题在偶数页上,节标题在奇数页上

对于单面文档,我需要在偶数页上显示章节标题,在奇数页上显示节标题。对于双面文档,我可以轻松实现这一点。但对于单面文档,它要么在所有页面上显示章节标题,要么在所有页面上显示节标题,但不能在交替页面上同时显示两者。我尝试了以下代码。

\documentclass[a4paper,12pt,oneside]{book}

\usepackage{fancyhdr}

\usepackage{lipsum}

\begin{document}

\pagestyle{fancy}


\fancyhf{}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\renewcommand{\sectionmark}[1]{\markright{#1}{}}

\lhead[E]{\leftmark}

\lhead[O]{\rightmark}

\cfoot{\thepage}

\lipsum

\lipsum

\end{document}

答案1

这个怎么样:

\documentclass[a4paper,12pt,oneside]{book}
\usepackage{fancyhdr}
\usepackage{lipsum}

\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\def\thechaptername{#1}}
\renewcommand{\sectionmark}[1]{\def\thesectionname{#1}}

\lhead{\ifodd\thepage\thesectionname\else\thechaptername\fi}
\cfoot{\thepage}

\begin{document}
\chapter{One}
\section{First}
\lipsum
\lipsum
\section{Second}
\lipsum
\lipsum
\chapter{Two}
\section{twofer}
\lipsum
\end{document} 

答案2

建议:

\documentclass[a4paper,12pt,oneside]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhead[L]{\ifodd\value{page}\rightmark\else\leftmark\fi}
\fancyfoot[C]{\thepage}

\usepackage{blindtext}% only for dummy text
\begin{document}
\blinddocument
\blinddocument
\end{document}

页眉和页脚的定义应在序言中完成。

相关内容