我有一个使用 pdflatex 的构建过程,它一直运行良好(并且相当快),直到我添加了auto-pst-pdf
以处理一些 EPS 图形。这样做会导致渲染速度变慢并生成错误消息:
-------------------------------------------------
auto-pst-pdf: Auxiliary LaTeX compilation
-------------------------------------------------
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
entering extended mode
kpathsea: Running mktextfm cmr10+20
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input cmr10+20
This is METAFONT, Version 2.718281 (TeX Live 2011)
kpathsea: Running mktexmf cmr10+20
! I can't find file `cmr10+20'.
<*> ...ljfour; mag:=1; nonstopmode; input cmr10+20
Please type another input file name
! Emergency stop.
<*> ...ljfour; mag:=1; nonstopmode; input cmr10+20
Transcript written on mfput.log.
grep: cmr10+20.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input cmr10+20' failed to make cmr10+20.tfm.
kpathsea: Appending font creation commands to missfont.log.
kpathsea: Running mktextfm cmr10-20
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input cmr10-20
This is METAFONT, Version 2.718281 (TeX Live 2011)
kpathsea: Running mktexmf cmr10-20
! I can't find file `cmr10-20'.
<*> ...ljfour; mag:=1; nonstopmode; input cmr10-20
Please type another input file name
! Emergency stop.
<*> ...ljfour; mag:=1; nonstopmode; input cmr10-20
Transcript written on mfput.log.
grep: cmr10-20.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input cmr10-20' failed to make cmr10-20.tfm.
-------------------------------------------------
auto-pst-pdf: End auxiliary LaTeX compilation
-------------------------------------------------
即使对于使用该类的最小文件article
(请参阅 MWE),我也会看到一些这样的消息。对于任何复杂程度的文件,以及使用更复杂的文档类,我都会看到数十条这样的消息,导致渲染时间不可接受,并且在某些情况下,会导致超时和 pdflatex 崩溃。
注释掉此行
\RequirePackage[protrusion=true,expansion,tracking=true,kerning=true,spacing=true]{microtype}
在我的文档类中恢复性能并消除崩溃。
看来,通过关闭expansion
可以减轻这些症状,但我不知道为什么。这些错误是什么意思?它们是否意味着我无论如何都没有“真正”获得字体扩展(可能是因为某些字体限制)?microtype
和之间是否存在不兼容性auto-pst-pdf
?我可以做些什么来恢复性能,同时仍然使用所有功能microtype
?
\documentclass{article}
\usepackage{auto-pst-pdf}
\RequirePackage[protrusion=true,expansion,tracking=true,kerning=true,spacing=true]{microtype}
\begin{document}
\end{document}
答案1
请按如下方式使用:
\documentclass{article}
\usepackage{auto-pst-pdf}
\ifpdf
\usepackage[tracking,kerning,spacing]{microtype}
\fi
\begin{document}
foo
\end{document}
答案2
auto-pst-pdf
编译的一步生成一个。dvi
因此,您必须小心使用仅在两种模式下都有效的选项(dvi
和pdf
)或ifpdf
根据模式使用不同的选项。
模式相关选项的一个例子是expansion
:在dvi
输出扩展中通常不可能看到文档microtype
。
最好的方法是删除protrusion
和expansion
选项。足够聪明,仅在合理的情况下microtype
在-mode 中启用选项。pdf