删除文本前的页面的页码

删除文本前的页面的页码

我正在写一篇文本,可以将其分为两组:文本前元素和文本元素。文本前元素包含目录、图表、缩写列表等;文本元素是文本的章节。

我想要做的是从文本前元素中删除页码。

我使用的第一个方法是thispagestyle{empty}在每个文本前元素下使用。这种方法有效,但是当目录或列表包含两页或更多页时,只有该元素的最后一页的页码会被删除。

第二种方法,我尝试\pagenumbering{gobble}在文档开头使用,当我想要显示数字时,我将其改为\pagenumbering{arabic}。这种方法的问题在于,数字将从我放置最后一条命令的位置的 1 开始,而我并不想这样。我希望计算文本前的页面,只是不显示。我知道我可以将页码设置为从某个数字开始,但我需要手动执行此操作,并且始终自己计算之前的页数。

第三种方法是使用我发现的方法这里。这个方法很好用,直到我注意到我的章节开始的页面没有编号。没问题,我在\thispagestyle{headings}每个页面之后使用了编号\chapter,一切正常。但当我最后添加参考资料时,第一页没有样式。

我的问题是:有没有最简单的方法可以从某一组页面中删除页码,并且只删除那里的页码,而不会遇到这些问题?

提前致谢。

答案1

这是一个解决方案

\documentclass{book}
\usepackage{blindtext} % just for dummy text

\makeatletter
\newcommand*{\emptystyles}{%
\let\oldplain\ps@plain
\let\ps@plain\ps@empty
\pagestyle{empty}}

\newcommand*{\restorestyles}{%
\clearpage\thispagestyle{empty}
\let\ps@plain\oldplain
\pagestyle{headings}}
\makeatother

\begin{document}
\emptystyles

\tableofcontents
\listoffigures
\listoftables

\restorestyles

\blinddocument % chapters of dummy text
\blinddocument
\blinddocument

\end{document}

答案2

book如果您使用我们可以修改的类及其\frontmatter功能,那么事情会变得更容易\mainmatter。因此,如果您改变主意,您的文档不会被奇怪的命令所困扰。

\documentclass{book}

% access at the internals of the class, with care
\makeatletter
\renewcommand\frontmatter{%
  \cleardoublepage
  \@mainmatterfalse
  \let\ps@plain\ps@empty
  \pagestyle{empty}%
}
\renewcommand{\mainmatter}{%
  \cleardoublepage
  \@mainmattertrue
  \let\ps@plain\bookps@plain
  \pagestyle{headings}%
}
\let\bookps@plain\ps@plain
\makeatother

\begin{document}

\frontmatter

\tableofcontents

\listoffigures

\mainmatter

\newcommand{\fakechapter}{% just for filling up
  \chapter{Title}
  \section{A}
  x
  \begin{figure}
  \caption{Caption}
  \end{figure}
  \section{A}
  x
  \begin{figure}
  \caption{Caption}
  \end{figure}
  \section{A}
  x
  \begin{figure}
  \caption{Caption}
  \end{figure}
  \section{A}
  x
  \begin{figure}
  \caption{Caption}
  \end{figure}
}

\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter
\fakechapter

\end{document}

页面样式与前言(您的“借口材料”)plain的样式相同,但其副本保存在安全的地方,以便在处理时恢复。empty\mainmatter

如果使用fancyhdr页眉和页脚,也可以进行类似的更改。

相关内容