在我的 Latex 文档中,当我调用该函数时,页码会被重置\maketitle
。我的文档类是\documentclass[a4paper, twoside, 14pt]{extreport}
。
这里举例说明:
\documentclass[a4paper, twoside, 14pt]{extreport}
\title{Page resetting title}
\author{J Smith}
\begin{document}
\pagenumbering{arabic}
first page
\newpage
second page
\newpage
third page
\maketitle
\newpage
fifth page
\newpage
sixth page
\end{document}
我想防止这种情况发生,但我不知道页码最终会在哪里。
我可以使用\setcounter{page}{}
,但我不知道如何传递动态参数。
谁能告诉我如何防止\maketitle
重置计数器,或者自己动态恢复计数?
答案1
最简单的方法是使用notitlepage
选项
\documentclass[a4paper, twoside, 14pt,notitlepage]{extreport}
\title{Page resetting title}
\author{J Smith}
\begin{document}
\pagenumbering{arabic}
first page
\newpage
second page
\newpage
third page
\maketitle
\newpage
fifth page
\newpage
sixth page
\end{document}
答案2
我唯一能想到的就是修补titlepage
环境的定义:
\documentclass[a4paper, twoside, 14pt]{extreport}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\titlepage}
{\setcounter{page}\@ne}
{}
{}{}
% Also:
\patchcmd{\endtitlepage}
{\if@twoside\else\setcounter{page}\@ne\fi}
{}
{}{}
\makeatother
\title{Page resetting title}
\author{J Smith}
\begin{document}
\pagenumbering{arabic}
first page
\newpage
second page
\newpage
third page
% \show\titlepage
% \show\endtitlepage
\maketitle
\newpage
fifth page
\newpage
sixth page
\end{document}
\setcounter
但我想,在适当的地方使用会简单得多……!