arquivo personalizado siunitx com subarquivos

arquivo personalizado siunitx com subarquivos

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.texrecebo 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 inputem 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 osubfilespackage não gosta \includede 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.

informação relacionada