强制在每一页上编页码

强制在每一页上编页码

我有一份 LaTeX 报告,其中包含标题、摘要和正文部分。我想从第一页开始给每一页都加上编号。我该怎么做?现在的情况是第一页没有编号,摘要前有一个编号,摘要后从 1 开始。

答案1

LaTeX 识别三种基本的页面样式

  • 空的
  • 清楚的
  • 标题

empty 就是字面意思,一个空白页。通常用于标题页,plain 用在章节开始页,headings 用在所有其他页面。

整个文档的页数实际上是内部计数的。因此,即使页面具有 pagestyle empty,计数器也会增加,但页码不会显示。

您提到您正在使用摘要,我假设您为此使用了摘要环境。按照摘要的定义,您report.cls会发现它使用与标题页相同的页码,并且页码在摘要后被隐藏并重置为

 \thispagestyle{empty}%
  \setcounter{page}\z@

解决这个问题的一个简单方法是重新定义环境

\documentclass{report}

\usepackage{lipsum}

\makeatletter
\renewenvironment{titlepage}
    {%
      \if@twocolumn
        \@restonecoltrue\onecolumn
      \else
        \@restonecolfalse\newpage
      \fi
     % \thispagestyle{empty}% remove the empty page style
      %\setcounter{page}\z@ %remove the counter reset
    }%
\makeatother

\begin{document}

\begin{titlepage}
 A title
\end{titlepage}


\begin{abstract}

 bla
\end{abstract}

\chapter{first}
\lipsum
\chapter{second}
\lipsum
\section{subsecond}
\lipsum

\end{document}

这将为您提供一份文档,其中标题页有第 1 页(也显示在纸上),并且计数器不再重置

答案2

您没有提到想要将哪种页码样式应用于迄今为止未显示页码的页面,因此我假设您想要对这些页面使用“普通”页面样式(显示位于页脚行中心的页码)。

您可以将以下代码添加到文档中,不是在序言中但紧跟在\maketitle指令之后(或者,在环境之后的第一页的开头titlepage):

\makeatletter
\let\ps@oldempty\ps@empty % save default definition of \ps@empty
\renewcommand\ps@empty\ps@plain
\makeatother

相关内容