Laravel Asked: 2021-09-03 14:00:58 +0800 CST2021-09-03 14:00:58 +0800 CST 2021-09-03 14:00:58 +0800 CST 为什么要groff -Tdvi | dvipdf 和 groff -Tpdf 产生非常不同的结果? 772 让我们考虑以下简单的 groff 代码 .EQ s = sqrt { { sum from i=1 to N ( x sub i - x bar ) sup 2 } over { N - 1 } } .EN 当我使用该groff -e -Tpdf命令时,我得到以下(丑陋的)结果: 但是,当我使用groff -e -Tdvi然后dvipdf我得到一个更好的结果: 为什么那些如此不同? groff pdf 1 个回答 Voted Best Answer ktf 2021-09-07T04:57:19+08:002021-09-07T04:57:19+08:00 首先:向你年轻的学徒致敬,向古老的方式致敬! 输出看起来不同,因为使用了两种不同的排版机(在此之上使用了不同的字体)。 当使用-Tpdf选项时,输出被渲染为类似PostScript的排版器(*)并且使用标准字体(Times-Roman、Times-Italic、Symbol)。PDF 文档不包含字体定义,而是依赖 PDF 查看器来获取所需的 PostScript 字体。但通常查看器和/或打印机只有非常“相似”的字体,它们可能略有不同——导致轻微的错位。 使用-Tdvi选项时,使用 TeX 字体为TeX排版机呈现输出。由dvipdf创建的 PDF 代码包含完整的 TeX 字体定义。这会导致更大的输出文件,但避免了由字体替换引起的进一步错误。 感谢您提出这个有趣的问题! *) 我写 PostScript - like是因为我做了一些测试,并且 -Tpdf 的结果与-Tps有很大不同(它们不应该这样)。事实上,我现在认为 PDF 目标已损坏,建议使用-Tps然后将 PostScript 文件转换为 PDF 文件)
首先:向你年轻的学徒致敬,向古老的方式致敬!
输出看起来不同,因为使用了两种不同的排版机(在此之上使用了不同的字体)。
当使用-Tpdf选项时,输出被渲染为类似PostScript的排版器(
*
)并且使用标准字体(Times-Roman、Times-Italic、Symbol)。PDF 文档不包含字体定义,而是依赖 PDF 查看器来获取所需的 PostScript 字体。但通常查看器和/或打印机只有非常“相似”的字体,它们可能略有不同——导致轻微的错位。使用-Tdvi选项时,使用 TeX 字体为TeX排版机呈现输出。由dvipdf创建的 PDF 代码包含完整的 TeX 字体定义。这会导致更大的输出文件,但避免了由字体替换引起的进一步错误。
感谢您提出这个有趣的问题!
*
) 我写 PostScript - like是因为我做了一些测试,并且 -Tpdf 的结果与-Tps有很大不同(它们不应该这样)。事实上,我现在认为 PDF 目标已损坏,建议使用-Tps然后将 PostScript 文件转换为 PDF 文件)