文件夹中example/
有子目录example/chapter1/
等example/chapter2/
。
有些图像出现在多个章节中,因此我创建了一个子目录example/images/
来放置这些图像,我们称之为example/images/image.pdf
。
在基础目录中提供了example/images.sty
一个用于包含图像的命令(并且执行了我为这个 MWE 剥离的一些内容):
\usepackage{graphicx}
\graphicspath{{../images/}}
\def\myimage{\includegraphics{image.pdf}}
现在,假设子目录中的某个文件example/chapter1/main.tex
使用该命令如下:
\documentclass{article}
\usepackage{../images}
\begin{document}
\myimage
\end{document}
在命令行上使用 pdflatex 进行编译时,此方法有效。但使用 LyX 时,此方法无效:导入example/chapter1/main.tex
LyX(因此example/chapter1/main.lyx
创建)并尝试通过 LyX 创建 pdflatex,它会声明File image.pdf not found
。(并且当\includegraphics
直接使用 inmain.tex
而不是 via时images.sty
,它也可以工作。)
答案1
问题在于,就 LyX 而言,.sty
文件是原始 LaTeX,因此只有文件会被复制到 LyX 进行编译的临时目录中,但不会复制该文件中引用的依赖项 - 这些仅针对.lyx
文件进行解析。
我使用了绝对路径\graphicspath{{/home/username/latex/example/images/}}
。只有当我将其移动到新目录或计算机时,这才会给我带来麻烦 - 然后我只需要更改目录引用。