
Recentemente decidi dividir minha tese em vários arquivos aninhados da seguinte forma:
% Principal.tex
\documentclass{memoir}
\usepackage{subfiles}
\usepackage{siunitx}
\include{units}
\begin{document}
\subfile{pre_textual} % ToC, lists, etc.
\subfile{textual}
\subfile{pos_textual}
\end{document}
O arquivo de unidades está no mesmo diretório que main.tex. E o subarquivo usual:
%textual.tex
\documentclass[../../main.tex]{subfiles} %this is because it's nested
\begin{document}
\subfile{chapter1}
\subfile{chapter2}
\end{document}
% capítulo1.tex
\documentclass[../../../main.tex]{subfiles} %this is because it's nested
\begin{document}
text yada \si{\CustomUnit}
\end{document}
O problema é que quando compilo o subarquivo (textual ou capítulo) ele não encontra o arquivo de unidades. Se eu adicionar o caminho completo ao units.tex
recebo o erro
Can't write to the file
Editar:
Meu arquivo unidades.tex se parece com isso
\DeclareSIUnit{\lix}{g/cm^2\day}
\DeclareSIUnit{\molp}{\mole\%}
\DeclareSIUnit{\taxaresf}{\degreeCelsius/\minute}
exceto que tem mais linhas e unidades suficientes para me fazer criar um arquivo separado.
Responder1
A solução que encontrei foi adicionar o caminho completo usando input
em vez de incluir. Se você usar simplesmente a entrada sem o caminho completo também não funcionará.
Então acabo com isso:
\usepackage{siunitx}
\input{D:/OneDrive/Documents/Thesis_latex/units}
Isto acontece porque osubfiles
package não gosta \include
de s no preâmbulo.
Seção 2.3 do manual:
O preâmbulo do arquivo principal pode \input (não \include nem \subfile) arquivos (arquivos vg com definições e comandos abreviados), e os subarquivos também.