如何多次使用相同的图形?

如何多次使用相同的图形?

有没有办法多次使用同一个图形——而无需重新插入?也就是说,我不想在输出的 pdf 文件中多次使用它。

我记得我看到有人说过adjustbox可以做到这一点,但我在手册中找不到它。

答案1

和包\includegraphics提供的命令已经实现了这一点。从技术上讲,包含的图像在生成的 PDF 中仅放置一次,并且每个附加实例只是对已嵌入对象的引用。graphicsgraphicx

有趣的是,这些软件包的软件包文档中没有提到这个主题。(至少我在那里找不到它)。我从课程手册beamer(§13 图形,第 130 页)中了解到这一点,其中 Till Tantau 写了关于 PGF 图形命令的内容:

与 类似\pgfdeclareimage\includegraphics在 .pdf 文件中也只包含一次图像,即使它使用多次(事实上,图形包在这方面比 pgf 更智能一点)

但是,最终此图像折叠功能取决于graphics/graphicx后端驱动程序,这由所采用的 TeX/LaTeX 引擎决定:虽然它与 、 和 一起开箱即用pdftexxetex但如果采用+路线luatex,则图像会多次包含。对于这种情况,用户 AlexG 建议使用dvipsps2pdf另一个答案中的解决方法。

答案2

使用 pdfLaTeX、LuaLaTeX 和 XeLaTeX,\inludegraphics{...}可根据需要重复。对于这些引擎,软件包graphicx已确保图形文件仅包含一次,并在其他地方插入引用。

对于latex-> dvips->ps2pdf这不会自动完成,最终的 PDF 将包含同一包含文件的多个实例。这可以通过包来避免xsavebox

\usepackage{graphicx}
\usepackage{xsavebox} %include content only once
...
\xsavebox{img for frequent use}{\includegraphics{example}}%
\xusebox{img for frequent use}
...
\xusebox{img for frequent use}

此方法仍然可以应用于上面列出的其他引擎,因为它可以减少编译时间。

相关内容