我正在尝试使用 xelatex 进行预编译,以便后续编译可以快速完成。这是 MWE。这是我将编译以产生所需输出的文件。
%&myone
%xelatex -ini -jobname="one" "&xelatex" mylatexformat.ltx myone.tex
\begin{document}
Hello World!
\end{document}
这是 myone.tex:
%xelatex -ini -jobname="myone" "&xelatex" mylatexformat.ltx myone.tex
\documentclass{article}
\begin{document}
\end{document}
当我发出:
xelatex -ini -jobname="myone" "&xelatex" mylatexformat.ltx myone.tex
它会产生一个错误:
! Can't \dump a format with native fonts or font-mappings.
我如何进行预编译?
答案1
xelatex
加载 OpenType 字体后无法转储格式。默认情况下,xelatex 使用 TU(Unicode)编码作为初始默认值,因此当类确实使用\normalfont
OpenType latin modern 时,转储被禁用。
这会将默认设置恢复为经典的 7 位 TeX 编码,然后在 initex 运行期间将使用 tfm latin modern,并在\everyjob
\def\encodingdefault{OT1}\normalfont
\everyjob\expandafter{\the\everyjob\def\encodingdefault{TU}\normalfont}
\documentclass{article}
\begin{document}
\end{document}
带有日志
.....
Beginning to dump on file myone.fmt
(preloaded format=myone 2017.10.14)
...