有了这个 MWE
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0.4pt}%
\fancyhf{}
\fancyhf[OLF]{{\footnotesize \textForFooter}}
\fancyhf[ORF]{{\footnotesize \thepage}}
\fancyhf[ERF]{{\footnotesize \textForFooter}}
\fancyhf[ELF]{{\footnotesize \thepage}}
\def\textForFooter{test}
\begin{document}
\tableofcontents
\newpage
\section{One}
\section{Two}
\end{document}
目录的页脚是
而下一页的页脚是
为什么这样?
答案1
默认情况下,book
文档类使用plain
页面样式第一的章节类文档单元的页面和headings
所有其他页面的页面样式。(附注:LaTeX 内核定义了四种页面样式:empty
、、plain
和。文档类使用以下页面样式headings
:myheadings
article
plain
全部页。
该指令\pagestyle{fancy}
指示 LaTeX 使用fancy
页面样式而不是headings
“所有其他页面”的页面样式,但它不会更改章节类文档单元首页的样式设置。而且,正如您现在已经知道的那样,该\tableofcontents
指令会启动一个新的章节类单元。
要覆盖目录的默认设置,并假设目录的长度小于一整页,您可以执行
\thispagestyle{fancy}
之后立马
\tableofcontents
。如果要
plain
在fancy
整个文档中替换页面样式,可以插入指令\fancypagestyle{plain}{}
在序言中(后
fancyhdr
当然是加载包了)。最后,如果目录长度超过一页,而您仍想将页面
fancy
样式应用于目录页面(并且可能也应用于表格列表和图表列表页面),我建议您执行\usepackage[titles]{tocloft} \tocloftpagestyle{fancy}
在序言中。
答案2
对于目录超过一页的文档,重新定义页面样式plain
是必要的。但这也会改变每章第一页的页脚。如果您不想这样,您可以使用组将重新定义限制在目录中,如下所示。
{
\fancypagestyle{plain}{}%
\tableofcontents
\newpage
}