如何防止 \maketitle 动态重置页码

如何防止 \maketitle 动态重置页码

在我的 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但我想,在适当的地方使用会简单得多……!

相关内容