对于普通图像包含,使用 \includegraphics 而不是 \pgfimage 有什么优势?

对于普通图像包含,使用 \includegraphics 而不是 \pgfimage 有什么优势?

TikZ & PGF 手册说“LaTeX 的\includegraphics设计比 pgf 的图像机制更好”,并且“鼓励 LaTeX 用户使用\includegraphics来包含图像。”但是\includegraphics\pgfimage不是使用任何独有的功能\includegraphics(例如剪辑)?

我发现的唯一区别是,使用latexmk时会自动识别修改后的图像,但使用时不会。另一方面,支持选项,这很好(尽管在 PDF 阅读器中没有得到广泛支持)。还支持屏蔽,而不支持。我发现的最后一个区别是,只有在找不到引用的图像时才会发出警告,而不是错误。这当然可能是积极的,也可能是消极的;就我个人而言,我喜欢它。\includegraphics\pgfimage\pgfimageinterpolate\pgfimage\includegraphics\pgfimage

\includegraphics使用还有其他重要的区别和优势吗\pgfimage

答案1

\pgfimage目前\includegraphics在每种输出格式(即驱动程序)内部使用,除了pdftex使用自己的pdftex基元来包含图像(\includegraphicsBTW 中也使用)。一个显着的区别是 PGF 提供不同的宏来首先声明图像,然后多次使用它,而\includegraphics没有,尽管如此,\includegraphics也只会将图像存储在 PDF 中一次。

请注意,自 2010/09/09 起,pdftex驱动程序graphicx已支持该interpolate选项。手册中未提及这一点graphicx,似乎已冻结。我在源文件注释中找到了它:

% 2010/09/09 v0.05a (HO)
% [..]
%  * Option `interpolate' added for bitmaps, see PDF specification.
%    Values are `true' or `false', default is `false'.

因此你可以将其用作:

\includegraphics[interpolate=true]{<image>}
% or simply
\includegraphics[interpolate]{<image>}

另一个很大的不同(在我看来)是,只要加载了选项,\includegraphics就可以使用我的软件包提供的大多数新键。它提供框架、最小/最大尺寸、多个剪辑、尺寸调整等。adjustboxexport

总之,我认为“设计得更好”的意思\includegraphics是它已经配备了所有需要的驱动程序,这些驱动程序经过了数十年的使用,并且稳定且经过了测试。显然,PGF 并未为其驱动程序文件完成所有与图像相关的代码,否则它不会为大多数驱动程序提供后备支持\includegraphics

相关内容