考虑以下文件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=false
为microtype
,则 DVI 输出就可以正常编译。
问题:
(a) 这是正常的吗?有没有什么好的解释可以解释为什么 PDF 输出可以正常工作而 DVI 输出却中断了? (b) 这个问题可以修复吗?或者我不应该在 DVI 输出中使用字体扩展?
答案1
pdftex
能够生成pdf
和dvi
输出。但字体扩展是 独有的功能pdf
,因此无法(立即)在 中使用dvi
。请参阅 的 3.5 节手册microtype
。
根据同一手册microtype
应该能够意识到它是在dvi
上下文中使用的,或者也许它做取决于DVIoutput
开关或\pdfoutput=0
命令。无论哪种方式,您都无法获得 的全部microtype
容量dvi
。
答案2
摘自微类型文档第 27 页:
[自动的字体扩展仅在 PDF 模式下运行 pdfTeX 时有效。虽然在 DVI 模式下也可以进行扩展,但它要求扩展字体的所有实例都存在于 TeX 系统中。
因此 (a) 这是 DVI 的预期默认行为,并且 (b) 修复它是可能的,但可能不值得这么麻烦。