
Недавно я решил разделить свою диссертацию на несколько вложенных файлов следующим образом:
% Основной.tex
\documentclass{memoir}
\usepackage{subfiles}
\usepackage{siunitx}
\include{units}
\begin{document}
\subfile{pre_textual} % ToC, lists, etc.
\subfile{textual}
\subfile{pos_textual}
\end{document}
Файл единиц находится в том же каталоге, что и main.tex. И обычный подфайл:
%текстовый.tex
\documentclass[../../main.tex]{subfiles} %this is because it's nested
\begin{document}
\subfile{chapter1}
\subfile{chapter2}
\end{document}
%chapter1.tex
\documentclass[../../../main.tex]{subfiles} %this is because it's nested
\begin{document}
text yada \si{\CustomUnit}
\end{document}
Проблема в том, что когда я компилирую подфайл (текстовый или глава), он не находит файл единиц. Если я добавляю полный путь к я units.tex
получаю ошибку
Can't write to the file
Редактировать:
Мой файл units.tex выглядит так
\DeclareSIUnit{\lix}{g/cm^2\day}
\DeclareSIUnit{\molp}{\mole\%}
\DeclareSIUnit{\taxaresf}{\degreeCelsius/\minute}
за исключением того, что в нем больше строк и достаточно единиц измерения, чтобы мне пришлось создать отдельный файл.
решение1
Решение, которое я нашел, было добавить полный путь, используя input
вместо include. Если вы используете просто input без полного пути, тоже не сработает.
Итак, я заканчиваю вот этим:
\usepackage{siunitx}
\input{D:/OneDrive/Documents/Thesis_latex/units}
Это происходит потому, чтоsubfiles
пакету не нравится \include
s в преамбуле.
Раздел 2.3 руководства:
Преамбула основного файла может включать файлы \input (не \include и не \subfile) (файлы vg с определениями и сокращенными командами), и подфайлы тоже.