我如何以编程方式获取 LaTeX 文档的标题?

我如何以编程方式获取 LaTeX 文档的标题?

我有一系列pdflatex由 GNU Make 内部以编程方式呈现的文档makefile

我希望能够编写一个 Make 目标来“轮询”每个文档,以便\title我可以将每个文档合并到“文档列表”中。

我可以这样做吗?如果可以,怎么做?

答案1

标准类将使用 给出的标题存储\title在名为 的全局宏中\@title。但是,由于历史原因,此信息不会保留\maketitle。因此,如果您希望信息保留,最简单的方法是重新定义\title以将数据保存在您选择的宏中

\makeatletter
\xdef\my@title{No \string\title\space given!}
\renewcommand{\title}[1]{%
  \gdef\@title{#1}%
  \gdef\my@title{#1}%
}
\makeatother

同时当然保留了 的标准设置\maketitle。然后您可以使用\my@title来恢复信息,例如将其写入日志文件。

相关内容