我正在尝试排版一个包含大量软件包的较长文档。现在看来,预编译头文件可以大大加快编辑-编译-修订周期。我尝试遵循如何加快 MacOS X 上非常大的文档的 pdflatex 速度?但它在我的系统上不起作用,我不确定我做错了什么。
我的 preamble.tex 如下所示:
\documentclass[a4paper]{scrbook}
\usepackage{scrpage2}
\def\preambleloaded{Precompiled preamble loaded.}
和 main.tex 文件:
\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax} \ifundefined{preambleloaded}
\typeout{PRECOMILED PREAMBLE NOT LOADED}\input{preamble} \else
\typeout{\preambleloaded}
\fi
\begin{document}
test test test
\end{document}
现在,在编译序言之后
lualatex -ini -job-name="main" "&lualatex preamble.tex\dump"
创建了 main.fmt 文件,lualatex 运行无误。使用以下方法编译主文件
lualatex -shell-escape main.tex
一开始就给出了未包含序言的信息:
LaTeX2e <2011/06/27>
LuaTeX adaptation of babel <v3.8l-luatex-1.4> and hyphenation patterns for engl
ish, loaded.
PRECOMILED PREAMBLE NOT LOADED
(C:/Users/User/Documents/LaTeX/precompile/preamble.tex
(C:/Users/User/AppData/Roaming/MiKTeX/2.9/tex/latex/koma-script/scrbook.cls
...
目前我能想到的唯一区别是,我在 Windows 7 上使用 LuaLaTeX,而不是像链接问题中那样在 Mac OS X 上使用 pdftex。任何关于如何修复此问题的提示都非常感谢。
答案1
你需要:
lualatex -shell-escape "&main main.tex"
否则新生成的main.fmt
文件根本不会被使用。