我有一份 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