例如,在我的main.tex
使用中
\input{/home/certain-directory/chapter-1.tex}
和
\input{/home/another-directory/chapter-2.tex}
我的 中也包含了一些通过绝对路径包含的数字/home/results-directory
。
问题:
是否有可用的工具可以将带有图形的源复制到另一个目录(带有子目录来保存图形)?
这样我们就可以在另一台电脑上进行编译,而无需手动编辑绝对路径。
答案1
我正在尝试编写一个脚本来执行此操作。
由于缺乏对xargs
、find
、grep
和等命令行工具的了解sed
,我停在了以下内容(仅提取图形名称)
$ sed -n 's/.*\\includegraphics\[.*\]{\(.*\)}/\1/p' main.tex > temp_figures
fig/laurana_view30_50.png
目前,我将编辑temp_figures
以Vim
垂直添加cp
每一行,并使用以下方式完成图形名称的缺失扩展c-x c-f
而不是复制具有相同目录结构的所有文件(使用cp --parents
,遗憾的是不能直接在上提供Mac OSX
),我可能会使用如下新文件名:
sed -n 's/.*\\includegraphics\[.*\]{\(.*\)}/\1/p' main.tex | sed 's/\//_/p'
fig_laurana_view30_50.png
希望这会有所帮助,并且希望我以后有时间掌握必要的知识来找到更好的解决方案。