![使用 fancyhdr 包实现多页目录的纯色/空白页面样式](https://linux22.com/image/356967/%E4%BD%BF%E7%94%A8%20fancyhdr%20%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%A4%9A%E9%A1%B5%E7%9B%AE%E5%BD%95%E7%9A%84%E7%BA%AF%E8%89%B2%2F%E7%A9%BA%E7%99%BD%E9%A1%B5%E9%9D%A2%E6%A0%B7%E5%BC%8F.png)
(编辑)在问题末尾添加了 MWE。
也许这与重新定义 \thepage 有关?如果是这样,我不知道如何确保除 ToC、\chapter 和 \part 之外的所有页面都采用新的 fancyhrd 样式。
我正在尝试删除fancyhdr
长达 3 页的目录页眉(包括我定义中的页码)。
我已经尝试了多个相关答案,但似乎没有一个对我有用。例如,我尝试过:
\begingroup
\makeatletter
\let\ps@fancy\ps@emptystyle
\tableofcontents
\clearpage
\endgroup
建议这里,但它似乎什么也没做。
我也尝试过:
\tableofcontents
\thispagestyle{empty}
\addtocontents{toc}{\protect\thispagestyle{empty}}
建议这里,它可以删除fancyhdr
目录第 1 页和第 3 页的页眉,但不能删除第二页的页眉。
知道我还能尝试什么来让它工作吗?
\documentclass[11pt, a4paper, final]{report}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{hyperref}
\hypersetup{hidelinks}
\usepackage[capitalise,noabbrev,nameinlink]{cleveref}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[R]{\thepage}
\fancyhead[L]{\textit{\nouppercase{\leftmark}}}
\fancyfoot{}
\fancypagestyle{plain}{
\fancyhf{}
\fancyhead[R]{\thepage}
\fancyfoot{}}
\begin{document}
\tableofcontents
\thispagestyle{empty}
\addtocontents{toc}{\protect\thispagestyle{empty}}
\setcounter{page}{0}
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\Blinddocument
\end{document}
答案1
如果您可以加载包托克巴什,然后你可以使用
\usepackage{tocbasic}
\addtotoclist[report.cls]{toc}
\renewcommand*{\tableofcontents}{\listoftoc[{\contentsname}]{toc}}% ToC under control of tocbasic
\AfterTOCHead[toc]{\thispagestyle{empty}\pagestyle{empty}}
\AfterStartingTOC[toc]{\clearpage}
请注意tocbasic
不能与 同时使用tocloft
。
代码:
\documentclass[11pt, a4paper, final]{report}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[capitalise,noabbrev,nameinlink]{cleveref}
\usepackage{fancyhdr}
\setlength\headheight{13.6pt}% as suggested by fancyhdr
\pagestyle{fancy}
\fancyhead[R]{\thepage}
\fancyhead[L]{\textit{\nouppercase{\leftmark}}}
\fancyfoot{}
\fancypagestyle{plain}{
\fancyhf{}
\fancyhead[R]{\thepage}
\fancyfoot{}}
\usepackage{tocbasic}
\addtotoclist[report.cls]{toc}
\renewcommand*{\tableofcontents}{\listoftoc[{\contentsname}]{toc}}% ToC under control of tocbasic
\AfterTOCHead[toc]{\thispagestyle{empty}\pagestyle{empty}}
\AfterStartingTOC[toc]{\clearpage}
\usepackage{hyperref}
\hypersetup{hidelinks}
\begin{document}
\pagenumbering{roman}% use a different numbering scheme to avoide the same identifier problem
\tableofcontents
\cleardoublepage
\pagenumbering{arabic}
\Blinddocument\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\end{document}