当使用 \includegraphics 和 PDF 时如何运行 pdfcrop?

当使用 \includegraphics 和 PDF 时如何运行 pdfcrop?

这个问题类似于那个,但我想在包含 PDF 时执行 pdfcrop。

答案1

当启用 shell 转义功能(--shell-escape--enable-write18(MiKTeX))时,可以通过以下方式调用转换\immediate\write18{...}

\immediate\write18{pdfcrop image.pdf}%
\includegraphics{image-crop}

转换可能仅限于裁剪图像文件尚不存在的情况:

\IfFileExists{image-crop.pdf}{}{\immediate\write18{pdfcrop image.pdf}}%
\includegraphics{image-crop}

答案2

根据 Heiko Oberdiek 的回答,我写了一个命令来裁剪所有包含的 PDF

\usepackage{xstring}
\let\oldincludegraphics\includegraphics
\renewcommand{\includegraphics}[2][width=\textwidth]{%
    \immediate\write18{pdfcrop #2}%
    \StrSubstitute{#2}{.pdf}{-crop.pdf}[\temp]%
    \oldincludegraphics[#1]{\temp}%
    }

问题:

  • 它不检查图形是否是 PDF
  • 它应该是可选的

相关内容