我不想让页眉和页脚出现在目录中。我\thispagestyle{empty}
之前用过\tableofcontents
,效果不错……但只出现在目录的第一页。但我的目录由 3 页组成,页眉和页脚出现在第二页和第三页。我怎样才能让它们消失?
感谢你们对我的帮助 !
\documentclass[a4paper, 12pt]{book}
\usepackage{fancy}
\begin{document}
\tableofcontents
\thispagestyle{empty}
\chapter{Analysis}
\end{document}
答案1
一个可能的解决方案:
\let\originaltableofcontents\tableofcontents
\renewcommand\tableofcontents{%
\cleardoublepage
\pagestyle{empty}%
\originaltableofcontents
\addtocontents{toc}{\protect\thispagestyle{empty}}%
\cleardoublepage
\pagestyle{fancy}% <- use the page style of the document
}
梅威瑟:
\documentclass[a4paper, 12pt]{book}
\usepackage{blindtext}% only for dummy text
\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength\headheight{14.5pt}
\let\originaltableofcontents\tableofcontents
\renewcommand\tableofcontents{%
\cleardoublepage
\pagestyle{empty}%
\originaltableofcontents
\addtocontents{toc}{\protect\thispagestyle{empty}}%
\cleardoublepage
\pagestyle{fancy}% <- use the page style of the document
}
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}
或者也许您可以使用包tocbasic
:
\usepackage{tocbasic}
\addtotoclist[book.cls]{toc}
\renewcommand*{\tableofcontents}{\listoftoc[{\contentsname}]{toc}}% ToC under control of tocbasic
\AfterTOCHead[toc]{\thispagestyle{empty}\pagestyle{empty}}
\AfterStartingTOC[toc]{\cleardoublepage}
梅威瑟:
\documentclass[a4paper, 12pt]{book}
\usepackage{blindtext}% only for dummy text
\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength\headheight{14.5pt}
\usepackage{tocbasic}
\addtotoclist[book.cls]{toc}
\renewcommand*{\tableofcontents}{\listoftoc[{\contentsname}]{toc}}% ToC under control of tocbasic
\AfterTOCHead[toc]{\thispagestyle{empty}\pagestyle{empty}}
\AfterStartingTOC[toc]{\cleardoublepage}
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}
答案2
这里有两个问题:首先,它\tableofcontents
发出一个\chapter
命令,重置页面样式。事实上,它以两种方式实现这一点:第一,它将第一页的页面样式设置为plain
,然后将正常页面样式设置为headings
。要取消此操作,您必须重新定义\tableofcontents
。如果找到book.cls
,您可以搜索它,然后查看您需要进行的更改。尝试以下操作:
\makeatletter
\renewcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\thispagestyle{empty}
\@starttoc{toc}%
\pagestyle{empty}
\if@restonecol\twocolumn\fi
}
\makeatother
使用此代码的 MWE 产生了所需的结果:由具有empty
页面样式的页面组成的目录。请注意,您需要执行\thispagestyle{empty}
前 \@starttoc
,用于第一页;然后\pagestyle{empty}
,用于后续页面。