在章节开始前的空白页左侧显示页码

在章节开始前的空白页左侧显示页码

我已经花了一段时间来让布局符合我的要求,但仍然有两件事似乎无法解决。我想让章节开始前的空白页的页码显示在左侧而不是右侧。此外,我想让内容页从奇数页开始,并再次让左侧内容页之前的空白页的页码显示在左侧。到目前为止,我已经:

\documentclass[10pt,twoside]{book}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{etoolbox}
\usepackage{amssymb}
\usepackage{bbold}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{fancyhdr}
\usepackage[PetersLenny]{fncychap}
\usepackage{courier}
\usepackage[a4paper,inner=4cm,outer=1.5cm]{geometry}
\usepackage[nottoc]{tocbibind}
\usepackage[font=small,format=plain,labelfont=bf,up,]{caption}
\usepackage{flafter}

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{%
  \clearpage
  {\pagestyle{plain}\origdoublepage}%
}

\newcommand{\tstamp}{\today}   
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\lhead[\fancyplain{}{\thepage}]         {\fancyplain{}{\rightmark}}
\chead[\fancyplain{}{}]                 {\fancyplain{}{}}
\rhead[\fancyplain{}{\rightmark}]       {\fancyplain{}{\thepage}}
\lfoot[\fancyplain{}{}]                 {\fancyplain{\tstamp}{\tstamp}}
\cfoot[\fancyplain{\thepage}{}]         {\fancyplain{\thepage}{}}
\rfoot[\fancyplain{\tstamp} {\tstamp}]  {\fancyplain{}{}}

\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyhead[RO,RE]{\thepage} %RO=right odd, RE=right even
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}


\let\cleardoublepage\clearemptydoublepage

\begin{document}

blabla

\end{document}

说实话,我不知道这些代码是什么意思(主要是用 Google、这个论坛和反复试验才知道的)。但我想知道是否有人知道我遇到的两个问题的答案?

这是一次编辑,旨在澄清我的规格:

好的,我想在所有偶数页上,将页码放在左上角,在所有奇数页上,将页码放在右侧。此外,我想将章节名称放在所有偶数页的\textit{after}第一章开头的右侧(即命令之后),\mainmatter并将章节标题放在奇数页的左侧。因此,澄清一下,所有带有罗马数字的页面都应该只有页码,但是一旦目录之后的第一章开始,我希望将章节名称放在偶数页上,将章节名称放在奇数页上。

答案1

可能只是改变这一行:

\fancyhead[RO,RE]{\thepage} %RO=right odd, RE=right even

\fancyhead[RO,LE]{\thepage} %RO=right odd, LE=left even

这就是你需要的一切吗?

答案2

这是获得您想要的东西的设置;对其进行微调,我可能没有捕捉到隐藏在那些老式命令中的所有规范;带有和的“fancyhdr现代”语法更加灵活。\fancyheader\fancyfoot\fancypagestyle

关键是要numberleft为空白页定义一种特定的页面样式,该样式可以通过直接定义来激活\cleardoublepage

\documentclass[10pt,twoside]{book}
\usepackage{fancyhdr}
\usepackage[nottoc]{tocbibind}
\usepackage{lipsum}

\makeatletter
\renewcommand\cleardoublepage{%
  \clearpage
  \if@twoside
    \ifodd\c@page
      % do nothing
    \else
      \hbox{}\thispagestyle{numberleft}\newpage % changed line
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi}
\makeatother

\newcommand{\tstamp}{\today}   

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\fancyhf{}
\fancyhead[LO]{\rightmark}
\fancyhead[RO,LE]{\thepage}
\fancyhead[RE]{\leftmark}
\fancyfoot[L]{\tstamp}

\fancypagestyle{plain}{%
  \fancyhf{} % clear all header and footer fields
  \fancyhead[LO,RE]{\thepage} %RO=right odd, RE=right even
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}}
\fancypagestyle{numberleft}{%
  \fancyhf{} % clear all header and footer fields
  \fancyhead[L]{\thepage} %RO=right odd, RE=right even
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}}

\begin{document}

\frontmatter

\tableofcontents

\mainmatter

\chapter{A chapter}

\section{A section}

\lipsum[1-20]

\chapter{B chapter}

\section{B section}

\lipsum[1-20]

\end{document}

在此处输入图片描述


阅读完整的规范后,这里有一个新版本;我建议对您的规范进行的唯一更改是,如果前言的最后一页是空的,则不要打印页码;您可以通过从页面样式的定义中删除\if@mainmatter和来恢复它。\finumberleft

\documentclass[10pt,twoside]{book}
\usepackage{fancyhdr}
\usepackage[nottoc]{tocbibind}
\usepackage{lipsum}

\makeatletter
\renewcommand\cleardoublepage{%
  \clearpage
  \if@twoside
    \ifodd\c@page
      % do nothing
    \else
      \hbox{}\thispagestyle{numberleft}\newpage % changed line
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi}
\makeatother

\newcommand{\tstamp}{\today}   

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\fancyhf{}
\makeatletter
\fancyhead[RO]{\if@mainmatter\rightmark\fi}
\fancyhead[L]{\thepage}
\fancyhead[RE]{\if@mainmatter\leftmark\fi}
\fancyfoot[L]{\tstamp}

\fancypagestyle{plain}{% for chapter start pages
  \fancyhf{} % clear all header and footer fields
  \fancyhead[L]{\thepage} %RO=right odd, RE=right even
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}}
\fancypagestyle{numberleft}{% for otherwise blank pages
  \fancyhf{} % clear all header and footer fields
  \fancyhead[L]{\if@mainmatter\thepage\fi} %RO=right odd, RE=right even
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}}
\makeatletter

\begin{document}

\frontmatter

\tableofcontents

\mainmatter

\chapter{A chapter}

\section{A section}

\lipsum[1-20]

\chapter{B chapter}

\section{B section}

\lipsum[1-20]

\end{document}

相关内容