目录第一页有页码。如何删除它?

目录第一页有页码。如何删除它?

我对出现在目录第一页上的页码有问题(当然,我并不需要它),但只有当我有最后两页目录时才会出现这种情况。当目录只占一页时,页脚和页眉是清晰的,但当我将其扩展到另一页时,页码会出现在页脚中。这是我的 MWE:

\documentclass{book}

\usepackage[
centering,
%showframe,
top=14mm,
headheight=11pt,
headsep=12pt,
includeheadfoot,
papersize={148mm,210mm},
text={90mm,150mm},
dvips=false,
pdftex=false,
vtex=false
]{geometry}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{} % clear all header fields 
\newcommand{\TheAuthor}{} 
\newcommand{\Author}[1]{\renewcommand{\TheAuthor}{#1}} 
\rhead{\small\TheAuthor}
\newcommand{\TheTitle}{} 
\newcommand{\Title}[1]{\renewcommand{\TheTitle}{#1}} 
\lhead{\small\scshape\TheTitle}
\fancyfoot{} % clear all footer fields 
\fancyhead[RO,LE]{\thepage} 

\usepackage{titlesec}
\titleformat{\chapter}{\normalfont\Large\scshape}{\thechapter}{1em}{}[\vspace{6pt}]

\usepackage{lipsum}
\renewcommand{\contentsname}{whatever}

%-------------------------------------------------------------------------

\begin{document}


\newpage
\thispagestyle{empty}
\tableofcontents
\thispagestyle{empty}
\newpage
\thispagestyle{empty}


\setcounter{footnote} {0}\chapter*{{\fontsize{11}{14}\selectfont \normalfont{Author1} \\
{\scshape\Large Title}}}
\addcontentsline{toc}{chapter}{\normalsize\normalfont{Author1} \\ \normalfont\scshape{Title}}
\thispagestyle{empty}
\Author{Author1}
\Title{Title}
\lipsum
\newpage
\thispagestyle{empty}

\end{document}

请复制此部分几次

 \setcounter{footnote} {0}\chapter*{{\fontsize{11}{14}\selectfont  \normalfont{Author1} \\
 {\scshape\Large Title}}}
 \addcontentsline{toc}{chapter}{\normalsize\normalfont{Author1} \\  \normalfont\scshape{Title}}
 \thispagestyle{empty}
 \Author{Author1}
 \Title{Title}
 \lipsum
 \newpage
 \thispagestyle{empty}

答案1

代替

\pagestyle{fancy}
...<settings>...
\fancyhead[RO,LE]{\thepage} 

我将定义一种新的页面样式:将这些行更改为

\newcommand{\TheAuthor}{}
\newcommand{\Author}[1]{\renewcommand{\TheAuthor}{#1}}
\newcommand{\TheTitle}{}
\newcommand{\Title}[1]{\renewcommand{\TheTitle}{#1}}

\usepackage{fancyhdr}
\fancypagestyle{fancymain}{%
  \fancyhead{}%
  \rhead{\small\TheAuthor}%
  \lhead{\small\scshape\TheTitle}%
  \fancyfoot{}%
  \fancyhead[RO,LE]{\thepage}}

然后你的文档的开头可以是

\begin{document}
\pagestyle{empty}
\tableofcontents

\cleardoublepage

\pagestyle{fancymain}

<all the rest>

更少的代码。我建议你也重新考虑为每一章编写所有复杂的代码,并为其定义一个个人命令。

但是,这仍然会将页码保留在目录的第一页中。这里有一个窍门:临时重新定义页面样式。因此,不要使用简单的命令\tableofcontents,而是写入

\begingroup
  \makeatletter \let\ps@plain\ps@empty \makeatother
  \tableofcontents
\endgroup

还有另一种方法可以解决这个问题,如果你不想在章节开头显示页码的话。

\usepackage{fancyhdr}两行

\fancypagestyle{plain}{\fancyhf{}%
  \renewcommand{\headrulewidth}{0pt}}

那么简单的\tableofcontents就可以了(没有涉及@字符的魔法代码)。

相关内容