如果只是想得到 title、author 等信息,可以
\def\recordinfo#1{\gdef\recordedinfo{#1}#1}
然后使用
\recordinfo{%
\title{...}%
\author{...}%
\date{...}%
}
这样就把它们保存到了 \recordedinfo
之中,\maketitle
同样可用。
实际上,标准类文档中 title 等信息被保存到了 \@title
、\@author
、\@date
之中,在 \maketitle
之前可以使用它们,如果你用的文档类没有重定义 \title
等命令的话。
第一个例子中,\@title
就是
The Triangulation of Titling Data in Non-Linear Gaussian Fashion via $\rho$ Series\thanks{No procrastination}
当然也可以使用 regexpatch
宏包的 \xpretocmd
将信息保存到自己的命令中
% \usepackage{regexpatch} % 或者\usepackage{xpatch}
\xpretocmd\title{\gdef\titlesaved{#1}}{}{}
则 \titlesaved
中也会保存相同的标题信息。
至于它们的显示与否和显示顺序,这是由 \maketitle
或类似的命令来完成的。
可以使用 \meaning\maketitle
(或者 \show\maketitle
)查看其定义,在标准类文档中是由 \@maketitle
完成的,它决定了标题信息的输出顺序。
这些标题信息在每个文档类中都不一样,而且有些文档类不只有 title、author、date 信息,要设计一个通用的命令几乎是不可能的,只能靠人工查找,当然这还不如直接排版出来,再记住它们的顺序。
问 如何展开maketitle这个命令