我使用 fancyhdr 作为页眉和页脚。这在除目录页之外的所有页面上都运行良好。此处页眉显示 leftmark 和 rightmark,目录显示两次。知道为什么会这样吗?
\documentclass[12pt,twoside]{book}
% set margin
\usepackage[paper=a4paper,left=25mm,right=25mm,top=25mm,bottom=40mm,bindingoffset=6mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{totcount}
\usepackage{lastpage}
\usepackage{float}
% headers and footers (https://www.youtube.com/watch?v=mZcV1wIPCBo)
\usepackage{fancyhdr}
% beautiful cross-references with hyperref
\usepackage{xcolor,colortbl}
\definecolor{Green}{RGB}{121,141,33}
\usepackage{hyperref} % http://ctan.org/pkg/hyperref
\hypersetup{
colorlinks,
linkcolor=Green,
citecolor=Green,
filecolor=Green,
urlcolor=Green,
}
% change font
\usepackage[default,osfigures,scale=0.95]{opensans}
\usepackage[T1]{fontenc}
% \usepackage[sfdefault,light,condensed]{roboto} %% Option 'sfdefault' only if the base font of the document is to be sans serif
% \usepackage[sfdefault]{AlegreyaSans}
% \renewcommand*\oldstylenums[1]{{\AlegreyaSansOsF #1}}
%disable indent globally
\setlength{\parindent}{0pt}
\begin{document}
\input{"0"}
\pagestyle{fancyplain}
\fancyhf{}
\fancyhead{}
\fancyfoot{}
\fancyhead[LO,RE]{\rightmark}
\tableofcontents
\fancyhead{}
\fancyfoot{}
\fancyhead[LE,RO]{\leftmark}
\fancyhead[LO,RE]{\rightmark}
\fancyfoot[LE,RO]{my footer\\~\\Page~\thepage~of~\getpagerefnumber{LastPage}}
\fancyfoot[LO,RE]{my footer}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\makeatletter
\let\ps@plain\ps@fancy
\makeatother
\input{"Chapters/1"}
\input{"Chapters/2"}
\input{"Chapters/3"}
\input{"Chapters/4"}
\input{"Chapters/5"}
\input{"Chapters/6"}
\end{document}
答案1
这是时间问题,因为你正在对页面样式进行更改。发布
\tableofcontents
\cleardoublepage
将解决问题。
但是,你的主要问题是混淆了各个平面并给出了相互矛盾的指令。最好坚持使用简单的页面样式,而不是在文档中定义它们。
这是经过更改的完整版本。请注意heightrounded
的选项geometry
,以及 的设置,headheight
如所请求的fancyhdr
。
我定义了两种页面样式:一种用于前言,一种用于正文,它们由相应的命令自动选择。初始部分(您的\input{0}
)使用空页面样式。命令\chapter
经过修改,因此它不会发出\thispagestyle{plain}
指令。
\documentclass[12pt,twoside]{book}
% set margin
\usepackage[
paper=a4paper,
left=25mm,
right=25mm,
top=25mm,
bottom=40mm,
heightrounded,
headheight=14.5pt,
bindingoffset=6mm,
]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{totcount}
\usepackage{lastpage}
\usepackage{float}
\usepackage{etoolbox} % for \patchcmd
% headers and footers (https://www.youtube.com/watch?v=mZcV1wIPCBo)
\usepackage{fancyhdr}
\usepackage[default,osfigures,scale=0.95]{opensans}
\usepackage{lipsum} % just for this example
% beautiful cross-references with hyperref
\usepackage{xcolor,colortbl}
\usepackage{hyperref} % http://ctan.org/pkg/hyperref
\hypersetup{
colorlinks,
linkcolor=Green,
citecolor=Green,
filecolor=Green,
urlcolor=Green,
}
%%% customizations
\definecolor{Green}{RGB}{121,141,33}
\pagestyle{fancy}
\fancypagestyle{frontmatter}{%
\fancyhf{}%
\fancyhead[RO,LE]{\rightmark}%
}
\fancypagestyle{body}{%
\fancyhf{}%
\fancyhead[LE,RO]{\leftmark}%
\fancyhead[LO,RE]{\rightmark}%
\fancyfoot[LE,RO]{my footer\\~\\Page~\thepage~of~\getpagerefnumber{LastPage}}%
\fancyfoot[LO,RE]{my footer}%
\renewcommand{\headrulewidth}{0.4pt}%
\renewcommand{\footrulewidth}{0.4pt}%
}
\patchcmd{\chapter}{\thispagestyle{plain}}{}{}{} % remove \thispagestyle{plain}
%%% continuous numbering
\makeatletter
\renewcommand\frontmatter{%
\cleardoublepage
\pagestyle{frontmatter}%
\@mainmatterfalse
}
\renewcommand\mainmatter{%
\cleardoublepage
\pagestyle{body}%
\@mainmattertrue
}
\makeatother
\begin{document}
\pagestyle{empty}% titlepage
% \input{"0"}
\lipsum[1]
\frontmatter
\tableofcontents
\mainmatter
\chapter{Title}
\lipsum
\chapter{Title}
\lipsum
\chapter{Title}
\lipsum
\chapter{Title}
\lipsum
% \input{"Chapters/1"}
% \input{"Chapters/2"}
% \input{"Chapters/3"}
% \input{"Chapters/4"}
% \input{"Chapters/5"}
% \input{"Chapters/6"}
\end{document}