使用自定义格式文件时出错,“LaTeX 错误:未给出 \title。”

使用自定义格式文件时出错,“LaTeX 错误:未给出 \title。”

为了加快编译速度,我尝试使用自定义格式文件。但是,当我尝试使用\maketitle... 时,它似乎表现异常,尽管我使用了\title{Test}

平均能量损失

我创建了一个preamble.tex包含以下内容:

\documentclass{scrartcl}

\endofdump

然后我用 将其编译为一个.fmt文件pdflatex -output-directory /tmp/ -ini -jobname=preamble "&pdflatex" mylatexformat.ltx /tmp/preamble.tex,并且它preamble.fmt没有任何警告或错误。

然后我创建一个demo.tex包含以下内容

%& /tmp/preamble

\author{tec}
\date{2023-02-02}
\title{Test}

\begin{document}

\maketitle

Hello

\end{document}

当我尝试编译它时latexmk -f -pdf -pdflatex -shell-escape -interaction=nonstopmode -output-directory=/tmp /tmp/demo.tex,它失败,并出现错误:

! LaTeX Error: No \title given.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.10 
     
(/usr/share/texmf/tex/latex/microtype/mt-cmr.cfg)

LaTeX Warning: No \author given.

如果我删除\maketitle,它就会按预期工作,并且我会得到包含“Hello”的 PDF。

我也尝试设置标题和作者

\makeatletter
\gdef\@title{Test}
\gdef\@author{tec}
\makeatother

然而,我仍然遇到了上述错误。


如果有人能帮助我弄清楚发生了什么,以及如何解决这个问题,我将不胜感激。

答案1

似乎我错过了mylatexformat文档中相当关键的部分。该\endofdump命令应该同时在preamble.tex demo.tex

如果我添加\endofdump到的开始demo.tex,一切都会按预期进行。

相关内容