如果使用边界框,Includegraphics 不会显示图形

如果使用边界框,Includegraphics 不会显示图形

正如标题所说...我真的不知道问题是什么,尝试了不同格式的数字(eps,,)pdfjpg

\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
         \fbox{\includegraphics[bb= 1 150 600 700,scale=0.5]{tiger}}
\end{document}

图片应该是tiger.eps 这是我得到的:

在此处输入图片描述

如果我使用以下

\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
         \fbox{\includegraphics[scale=0.5]{tiger}}
\end{document}

我明白了

在此处输入图片描述

使用 miktex 2.9 + Texmaker 5.0.2,但尝试了 LyX 2.2.3,结果相同,尝试了不同的数字和单位,但bb=没有成功,希望有人能帮忙

编辑:感谢您的回答,是的,我使用 pdflatex...我实际上是 LyX 用户,使用 bb 只是因为 LyX 使用它,并且没有选项可以改用视口...但是如果我使用 ps2pdf 而不是 pdflatex,它就可以工作了。

答案1

显然,根据此错误报告在 LyX 源和票证浏览器上,最初的问题(使用“剪辑到边界框”时最终 PDF 中没有图像)是由于最新版 LaTeX 中的一个软件包放弃了对\includegraphics“bb”选项的完全支持。

点击上述链接,您将找到一个用于重新编译 Lyx 2.2.3 的补丁,该补丁本质上是通过将“bb”替换为“viewport”来在内部修改 LyX 的 BoundingBox 功能。

如果你无法重新编译 LyX,你将需要等待 2.2.4 版本:根据LyX 2.2.x 状态报告在 LyX 源和票证浏览器上,问题应该已得到解决(查找“使用最近的图形包修复剪辑图形的 PDF 输出(错误 7910)”)。

答案2

为什么要使用选项bb

例子:

  • EPS 与 LaTeX + dvips

    软件包graphics已经可以读取%%BoundingBox文件顶部的注释。bb不需要选项。

  • 使用 pdfLaTeX 的 PDF

    PDF 模式下的 pdfTeX 编译器会读取图片文件的 MediaBox(或者其他可选的框)。无需选项bb

    因此,驱动程序pdftex.def发出警告并使用选项viewport

  • 使用 XeLaTeX 的 PDF

    此外,XeTeX 还可以读取 PDF 图像的 MediaBox。

以上几种情况都可以正常显示图片,但是图片的位置总是不对,这是因为设置中的边界框bb=1 150 600 700 不对,ghostscript stiger.eps`的边界框是:

%%BoundingBox: 17 171 567 739

在大多数情况下,bb不需要选项。选项bb有缺点:

  • 用户必须进行调查才能获得正确的值。
  • 如果图像变化改变了边界框,则需要在 TeX 文件中更新数字。

如果只想显示图像的一部分,请使用选项viewporttrim。选项clip会隐藏选定区域以外的区域。

答案3

应避免使用bb和,而应使用viewport(和clip)或trim。以下是一些示例:

在此处输入图片描述

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\fbox{\includegraphics[scale=0.1]{tiger}}
%
\fbox{\includegraphics[viewport=1 150 600 700,scale=0.1]{tiger}}
%
\fbox{\includegraphics[viewport=1 150 600 700,clip,scale=0.1]{tiger}}
%
\fbox{\includegraphics[trim=1 150 0 0,scale=0.1]{tiger}}

\end{document}

指定viewport相对于边界原点(通常是左下角)的坐标。b指定需要从每一侧移除的内容。btrim

相关内容