У меня следующая структура (папки вкурсив)
- мастер.lyx
- части
- мст
- mstCh1.lyx
- преамбула
- пакеты.tex
- преамбула.tex
- стр1
- p1Intro.lyx
Каждый импортируемый файл lyx preamble.tex
находится в parts/mst/
:
master.lyx
с использованием\subimport{parts/mst/preamble/}{preamble}
mstCh1.lyx
с использованием\subimport{preamble/}{preamble}
p1Intro.lyx
с использованием\subimport{../mst/preamble/}{preamble}
Это позволяет мне компилировать файлы либо по отдельности, либо из master.lyx
, where mstCh1.lyx
и p1Intro.lyx
добавлять их как дочерние документы.
preamble.tex
содержит среди прочегоimport{./}{packages.tex}
По странным причинам все работает как и ожидалось, за исключением p1Intro.lyx
того, что не может быть скомпилировано из-за
\subimport{../mst/preamble/}{preamble} LaTeX Error: 'preamble.tex' not found.
даже если относительный путь указан правильно.
Использование currfile не помогает, так как возвращаемая папка всегда пуста...
Есть идеи?
Редактировать
После некоторых тестов, которые я провел сегодня утром, похоже, относительный путь ..
интерпретируется неправильно. Я только что отправил электронное письмо автору пакета и обновил этот пост соответствующим образом.
решение1
Я использую обходной путь и отредактирую этот ответ с учетом ответа автора пакета.
Вместо использования ..
в \subimport
команде я просто использую символическую ссылку на папку, к которой пытаюсь получить доступ.
В моей текущей конфигурации:
- Я создал символическую ссылку, вызываемую
preamble
в папкеp1
, указывающую../mst/preamble
на команду оболочки (Linux): `ln -s ../mst/preamble/ preamble - Я импортирую
preamble.tex
файл,p1Intro.lyx
с\subimport{preamble}{preamble}
которым теперь работает! Более того, он позволяет мне использовать ту же команду, что и та, что используется в файлеmstCh1.lyx
.