使用完全相同的样式和参数重复 \maketitle

使用完全相同的样式和参数重复 \maketitle

我正在尝试创建一个文档,它将在某个任意点重复首页上的标题。

\documentclass[a4paper,anonymous]{lipics-v2021}

\title{My Paper}

\titlerunning{paper} 

\author{Me}{}{}{}{}

\begin{document}

% Generate title
\maketitle

% Any amount of text/sections
lorem ipsum...

% I now want to show exactly the same title again
\maketitle

\end{document}

但是,此代码输出的是上面给出的标题和作者参数的完全未格式化的文本。

一些链接[12] 建议使用该titling包,尽管这里有两个问题:

  1. 我似乎无法让它使用我的项目文件\maketitle中定义的(在我的情况下是 lipics).cls
  2. titling包要求我重复的所有参数\maketitle。(例如\title{..}\author{}等等)。

答案1

在您的类以及标准类中,会\maketitle禁用自身,还会清空包含命令和定义的元数据的\@title和宏( 请参阅 [github 的 lipic-v2021 类][1] 上的第 304 行及后续内容)。因此,您可以(在序言中)使用相同的代码(从第 287 行开始)执行命令,但第 304 行到第 314 行除外。\@author\title{...}\author{...}\renewcomnand\maketitle

标准警告:您可以出于个人用途进行此类更改。但如果您的文档旨在提交给相应的期刊/会议/编辑(此处为 LIPIcs 系列会议),则切勿进行此类更改。[1]:https://github.com/prosysscience/lipics/blob/master/lipics-v2021.cls

答案2

看看类定义,你会发现(第 287-315 行)

\renewcommand\maketitle{\par
  \begingroup
    \thispagestyle{plain}
    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
    \if@twocolumn
      \ifnum \col@number=\@ne
        \@maketitle
      \else
        \twocolumn[\@maketitle]%
      \fi
    \else
      \newpage
      \global\@topnum\z@   % Prevents figures from going at top of page.
      \@maketitle
    \fi
    \thispagestyle{plain}\@thanks
  \endgroup
  \global\let\thanks\relax
  \global\let\maketitle\relax
  \global\let\@maketitle\relax
  \global\let\@thanks\@empty
  \global\let\@author\@empty
  \global\let\@date\@empty
  \global\let\@title\@empty
  \global\let\title\relax
  \global\let\author\relax
  \global\let\date\relax
  \global\let\and\relax
}

第二个\maketitle由于所有\global\let...\relax和而失败\global\let...\@empty

您可以尝试重新定义它(在内部\makeatletter\makeatother处理@宏名称中的字符)。

\makeatletter
\renewcommand\maketitle{\par
  \begingroup
    \thispagestyle{plain}
    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
    \if@twocolumn
      \ifnum \col@number=\@ne
        \@maketitle
      \else
        \twocolumn[\@maketitle]%
      \fi
    \else
      \newpage
      \global\@topnum\z@   % Prevents figures from going at top of page.
      \@maketitle
    \fi
    \thispagestyle{plain}\@thanks
  \endgroup
}
\makeatother

完整的标题页(包括页脚)会再次打印。如果您只想要标题本身,则必须查看\@maketitle定义,然后复制所需的部分。

例子:

\documentclass[a4paper,anonymous]{lipics-v2021}

\makeatletter
\renewcommand\maketitle{\par
  \begingroup
    \thispagestyle{plain}
    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
    \if@twocolumn
      \ifnum \col@number=\@ne
        \@maketitle
      \else
        \twocolumn[\@maketitle]%
      \fi
    \else
      \newpage
      \global\@topnum\z@   % Prevents figures from going at top of page.
      \@maketitle
    \fi
    \thispagestyle{plain}\@thanks
  \endgroup
}
\makeatother

\title{My Paper}

\titlerunning{paper}

\author{Me}{}{}{}{}

\begin{document}

% Generate title
\maketitle

% Any amount of text/sections
lorem ipsum...

% I now want to show exactly the same title again
\maketitle

\end{document}

相关内容