页眉和页脚出现在我的目录中

页眉和页脚出现在我的目录中

我不想让页眉和页脚出现在目录中。我\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},用于后续页面。

相关内容