使用 fancyhdr 包实现多页目录的纯色/空白页面样式

使用 fancyhdr 包实现多页目录的纯色/空白页面样式

(编辑)在问题末尾添加了 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}

相关内容