4

我用乳胶写了一篇研究论文,并使用 Kile 生成了 pdf。现在我也需要一个 dvi 文件。Kile 的快速构建过程不提供 dvi 文件,但它的“Latex”编译过程提供。

所以我尝试编译该文档,但它给出了includegraphicsfigure not found”的错误。当我将正确的扩展名附加到图像名称时,错误停止出现,但新错误出现“ bounding box is missing”。

我添加了边界框值,现在正在生成 DVI 文件。我的问题是:我尝试给出非常高和低的边界框值,但 PDF 中没有变形。为什么?我可以在不提供边界框值的情况下生成 DVI 吗?

4

2 回答 2

4

通常,LaTeX 接受不同于 PDFLaTeX 的图形文件格式。也就是说,您可以包含 .pdf 和 .jpg 并毫无问题地运行 PDFLaTeX(我想是您的情况),但运行 LaTeX 可能会导致几个错误(如您所述,找不到图)。

要使用 LaTeX 编译文档,您需要提供 .eps 图形文件,默认情况下,该文件包含一个边界框。

过度简化,LaTeX 使用盒子和盒子块,它设法在页面中很好地放置盒子。

这就是为什么您需要为您的图片提供一个边界框:它是包含您的图形的框的大小。

于 2010-06-01T07:13:19.390 回答
4

Alessandro 的回答是正确的,但如果您不熟悉 Tex 环境,可能会有点神秘。

从 Tex &c 文档创建输出的主要方法有两种,称为路径:输出 dvi 的 Web2c 路径和输出 pdf 的 Pdftex 路径。Web2c 路径包含使用 Postscript specials 的 dvi 文件中的图形,并且不能嵌入 pdf 图形。由于您被要求提供 dvi 文件,这意味着您必须将 pdf 图形转换为 eps。

另一种机制,Pdftex 路径,是将图形嵌入为 pdf。Postscript 不能直接用这种方式嵌入,因为 pdf 本质上是 Postscript 的一种计算残缺的形式(有花里胡哨的),所以 Postscript 的编程结构不能在不运行 Postscript 程序的情况下翻译成 pdf,即 pdftex不支持。但是可以嵌入 pdf 和 svg 格式,以及 jpg 等许多位图格式。

进一步的三点:首先,\includegraphics两个路径的代码不同:它根据我们是否是不同的文件扩展名来查找不同的文件扩展名,并对它们采取不同的行动。其次,该pdftex程序可以创建 pdf 或 dvis:它会查看它是如何被调用的,无论是(对于 Latex)pdflatex还是latex. 第三,Xetex 还有另一个第三个路径,它的目标格式与 dvi 略有不同,它的 xdv 格式以不同的方式处理字体和字符集,但在其他方面与 dvi 类似。

所以你的问题与 dvi 的边界框无关,但无论如何都要回答:dvi 格式没有边界框的概念,而且确实 dvi 文件没有足够的信息来计算一个,因为它们显示了放置的位置字体中的字符,但不包括它们的字体度量:您必须查看字体度量文件以获取该信息。此外,使用 Postscript 特价商品,必须运行 Postscript 引擎来查找 Postscript 图形的范围。

于 2010-06-01T08:28:52.473 回答