
Recientemente decidí dividir mi tesis en varios archivos anidados de la siguiente manera:
% 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}
El archivo de unidades está en el mismo directorio que main.tex. Y el subarchivo habitual:
%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}
El problema es que cuando compilo el subarchivo (textual o capítulo) no encuentra el archivo de unidades. Si agrego la ruta completa units.tex
me sale el error
Can't write to the file
Editar:
Mi archivo unit.tex se ve así
\DeclareSIUnit{\lix}{g/cm^2\day}
\DeclareSIUnit{\molp}{\mole\%}
\DeclareSIUnit{\taxaresf}{\degreeCelsius/\minute}
excepto que tiene más líneas y suficientes unidades para hacerme crear un archivo separado.
Respuesta1
La solución que encontré fue agregar la ruta completa usando input
en lugar de incluir. Si usa simplemente ingresar sin la ruta completa, tampoco funcionará.
Entonces termino con esto:
\usepackage{siunitx}
\input{D:/OneDrive/Documents/Thesis_latex/units}
Esto sucede porque elsubfiles
Al paquete no le gustan \include
los s en el preámbulo.
Sección 2.3 del manual:
El preámbulo del archivo principal puede \entrar (no \incluir ni \subfile) archivos (archivos vg con definiciones y comandos abreviados), y los subarchivos también lo harán.