\maketitle 不打印两次

\maketitle 不打印两次

我正在尝试将其写\maketitle在标题页上,然后也写在论文正文的第一页上。

以下是我所拥有的:

\documentclass[12pt]{article}

\usepackage[margin=1in]{geometry}
\usepackage{setspace}

\title{#}
\author{#}
\date{#}

\begin{document}

    \begin{titlepage}
        \maketitle
        \thispagestyle{empty}  % no page #
    \end{titlepage}

    % Start paper
    \maketitle

    % 1.5 spacing
    \onehalfspacing

    % start the paper

\end{document}

由于某种原因,标题只打印在标题页上。有人能帮我吗?

答案1

通常,当通过 设置标题时\maketitle,整个标题结构在使用后会被清除。

我们可以通过使用内部宏设置标题来避免这种清除\@maketitle

\documentclass{article}

\makeatletter
\newcommand{\settitle}{\@maketitle}
\makeatother

\title{A title}
\author{An author}
\date{A date}

\begin{document}

\settitle
\thispagestyle{empty}
\addtocounter{page}{-1}

\clearpage

% Start paper
\maketitle

\end{document}

如果您希望文章的第一页从第 1 页开始,则需要进行一些页面校正。

或者,使用titling包裹\maketitle直接避免了这种删除,允许您在文档中多次使用。只需添加

\usepackage{titling}

你的序言。

答案2

\maketitle清除与标题相关的所有内容,以保存记忆。

您可以定义一个命令,同时避免在标题页中\maketitlepage打印内容。\thanks

\documentclass[12pt]{article}

\usepackage{lipsum} % just for the example

\makeatletter
\newcommand{\maketitlepage}{%
  \begin{titlepage}
    \let\thanks\@gobble
    \let\footnote\@gobble
    \if@twocolumn
      \ifnum \col@number=\@ne
        \@maketitle
      \else
        \twocolumn[\@maketitle]%
      \fi
    \else
      \@maketitle
    \fi
    \thispagestyle{empty}
  \end{titlepage}%
}
\makeatother


\title{Title}
\author{Author\thanks{The author was financially supported by TeX.Stackexchange}}
\date{\today}

\begin{document}

\maketitlepage

% Start paper
\maketitle

\lipsum

\end{document}

在此处输入图片描述

相关内容