我正在尝试创建一个文档,它将在某个任意点重复首页上的标题。
\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}
但是,此代码输出的是上面给出的标题和作者参数的完全未格式化的文本。
一些链接[1,2] 建议使用该titling
包,尽管这里有两个问题:
- 我似乎无法让它使用我的项目文件
\maketitle
中定义的(在我的情况下是 lipics).cls
- 该
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}