microtype 字体扩展和 DVI 输出;kpathsea 问题

microtype 字体扩展和 DVI 输出;kpathsea 问题

考虑以下文件test.tex

\documentclass[11pt]{report}

\usepackage[T1]{fontenc}
\usepackage[protrusion,expansion]{microtype} 

\begin{document}
\chapter{A new chapter}
Some actual testing text here. Let us make this long enough so that it
will run over at least one line so I can test to see if protrusion is
the problem. Ha Ha Ha.!!
\end{document}

如果我使用 处理它pdflatex,文件就会正常生成。如果我尝试使用 处理它pdflatex -output-format dvi,它会失败并显示

kpathsea: Running mktextfm ecrm1095+20
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ecrm1095+20
This is METAFONT, Version 2.718281 (Web2C 2009)


kpathsea: Running mktexmf ecrm1095+20
! I can't find file `ecrm1095+20'.
<*> ...our; mag:=1; nonstopmode; input ecrm1095+20

Please type another input file name
! Emergency stop.
<*> ...our; mag:=1; nonstopmode; input ecrm1095+20

Transcript written on mfput.log.
grep: ecrm1095+20.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ecrm1095+20' failed to make ecrm1095+20.tfm.
kpathsea: Appending font creation commands to missfont.log.

! Font csnameendcsname=ecrm1095+20 at 10.95pt not loadable: Metric (TFM) file n
ot found.

如果我将选项设置expansion=falsemicrotype,则 DVI 输出就可以正常编译。

问题:

(a) 这是正常的吗?有没有什么好的解释可以解释为什么 PDF 输出可以正常工作而 DVI 输出却中断了? (b) 这个问题可以修复吗?或者我不应该在 DVI 输出中使用字体扩展?

答案1

pdftex能够生成pdfdvi输出。但字体扩展是 独有的功能pdf,因此无法(立即)在 中使用dvi。请参阅 的 3.5 节手册microtype

根据同一手册microtype应该能够意识到它是在dvi上下文中使用的,或者也许它取决于DVIoutput开关或\pdfoutput=0命令。无论哪种方式,您都无法获得 的全部microtype容量dvi

答案2

摘自微类型文档第 27 页:

[自动的字体扩展仅在 PDF 模式下运行 pdfTeX 时有效。虽然在 DVI 模式下也可以进行扩展,但它要求扩展字体的所有实例都存在于 TeX 系统中。

因此 (a) 这是 DVI 的预期默认行为,并且 (b) 修复它是可能的,但可能不值得这么麻烦。

相关内容