这个问题类似于那个,但我想在包含 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
- 它应该是可选的