В папке 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
создается) и попробуйте создать pdflatex через LyX, и он заявляет File image.pdf not found
. (И при использовании \includegraphics
напрямую main.tex
вместо via images.sty
это тоже работает.)
решение1
Проблема заключалась в том, что с точки зрения LyX .sty
файлы представляли собой сырой LaTeX, поэтому во временный каталог, где LyX выполняет компиляцию, копировался только файл, но не зависимости, указанные в этом файле, — они разрешались только для .lyx
файлов.
Я пошел по пути с абсолютным путем \graphicspath{{/home/username/latex/example/images/}}
. Это создаст мне проблемы только тогда, когда я перемещу его в новый каталог или на новый компьютер, и тогда мне придется только изменить ссылку на каталог.