包含文档中的所有 pdf 图形

包含文档中的所有 pdf 图形

我在一个文件夹中保存了几个以 .pdf 格式的图表,我想知道是否有办法将它们全部一次性添加到文档中,而无需输入每个文件的路径。

答案1

最好在 latex 外部执行此操作(尽管您可以根据需要使用 shell-escape(write18)功能从 latex 内部执行命令)。

我假设 bash 语法但其他命令行系统也可以做类似的事情。

假设你有一个目录/文件夹,img里面有三个 pdf 文件

$ ls img
a.pdf  b.pdf  other.pdf

并且您希望按字母顺序排列它们(或者通过使用参数ls或其他命令可以实现的任何其他顺序)

然后执行

ls img/*.pdf | sed -e "s/.*/\\\\includegraphics{\\0}/" > img/imglist.tex

img/imglist.tex会留下一个看起来像的文件

\includegraphics{img/a.pdf}
\includegraphics{img/b.pdf}
\includegraphics{img/other.pdf}

因此您只需要\input{img/imglist}在主文件中进行操作,并在imglist.tex每次更新图像目录时(或每次运行 latex 时)安排重新生成。

答案2

使用 texlive 2024 您可以访问所有文件,而无需使用明确的脚本或--shell-escape

l3sys-query工具允许在默认的受限 shell 转义模式下调用,因此您可以执行

\documentclass{article}
\usepackage{graphicx,l3sys-query}
\begin{document}

\QueryFiles{img/*.pdf}
{\begin{center}\includegraphics{#1}\end{center}}

\end{document}

相关内容