为了加快编译速度,我尝试使用自定义格式文件。但是,当我尝试使用\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
,一切都会按预期进行。