我编写的文档使用\begin{figure}
和\includegraphics
加载图像。后来,我\input
将此文档放入同一文件夹中的主文档中,并将图像包含在我的输出文档中。
我想在单独的文件夹中再次加载此文档。我使用适用于其他没有图片的文档的路径引用其位置。但是,似乎找不到图像。有什么建议可以解决这个问题吗?
答案1
我不确定它是否像 一样优雅\graphicspath
,但另一个想法可能是有一个指向文档相对路径的命令。在文档中,您可以执行
\makeatletter%
\ifx\mypath\@empty%
\xdef\mypath{.}%
\fi%
\makeatother%
就在文档的开头,.
如果尚未定义路径,则将路径设置为(当前文件夹)。在加载文档的其他文档中,您可以设置
\xdef\mypath{relative_or_absolute_path_to_doc_folder}
在执行\input
where之前relative_or_absolute_path_to_doc_folder
将其替换为相应的值。
假设您的第一个文档在文件夹中,并且加载第一个文档的a/b/c/d
文档在中a/x/y
,那么它应该可以使用relative_or_absolute_path_to_doc_folder
或。a/b/c/d
../../b/c/d
全部\includegraphics{x.pdf}
改為\includegraphics{\mypath/x.pdf}
。
这种方法的优点是,您稍后可以将第一个文档复制到其他地方,同时将图形文件夹一起移动(假设它位于文档文件夹的子目录中)。您只需要在\mypath
加载它的文档中更改相对路径设置。如果您移动加载第一个文档的第二个文档,情况也是如此。
我不确定\graphicspath
et al. 到底做了什么,但我认为可能如果存在一些问题(这里我可能错了,所以更有知识的人可以随时纠正我):
- 您的图形文件夹中有几个子文件夹,其中包含类似名称的图像(?)
- 在第一个文档中将其定义为相对路径:我担心它可能会被解释为当从该文档加载第一个文档时加载第一个文档的文档的相对路径(?)
- 将其定义为绝对路径,将文档复制到其他地方时可能需要重新定义它(?)
- 在第一个文档和加载它的文档中定义它(会发生什么?)
再次强调,上述这些担忧可能是错误的,通常情况下,\graphicspath
这可能是更好的解决方案。我认为我列出的方法也可能有效,在某些情况下也可能可行。