siunitx benutzerdefinierte Datei mit Unterdateien

siunitx benutzerdefinierte Datei mit Unterdateien

Ich habe vor kurzem beschlossen, meine Abschlussarbeit wie folgt in mehrere verschachtelte Dateien aufzuteilen:

% Main.tex

\documentclass{memoir}
\usepackage{subfiles}
\usepackage{siunitx} 
\include{units}
\begin{document}
\subfile{pre_textual} % ToC, lists, etc.
\subfile{textual}
\subfile{pos_textual}
\end{document}

Die Units-Datei befindet sich im selben Verzeichnis wie main.tex. Und die übliche Unterdatei:

%textual.tex

\documentclass[../../main.tex]{subfiles} %this is because it's nested
\begin{document}
\subfile{chapter1}
\subfile{chapter2}
\end{document}

%kapitel1.tex

\documentclass[../../../main.tex]{subfiles} %this is because it's nested
\begin{document}
text yada \si{\CustomUnit}
\end{document}

Das Problem ist, dass beim Kompilieren der Unterdatei (Textdatei oder Kapiteldatei) die Einheitendatei nicht gefunden wird. Wenn ich den vollständigen Pfad hinzufüge, units.texerhalte ich den Fehler

Can't write to the file

Bearbeiten:

Meine units.tex-Datei sieht so aus

\DeclareSIUnit{\lix}{g/cm^2\day}
\DeclareSIUnit{\molp}{\mole\%}
\DeclareSIUnit{\taxaresf}{\degreeCelsius/\minute}

außer dass es mehr Zeilen und genügend Einheiten hat, um mich dazu zu bringen, eine separate Datei zu erstellen.

Antwort1

Die Lösung, die ich gefunden habe, war, den vollständigen Pfad anstelle von „include“ hinzuzufügen input. Wenn Sie einfach „input“ ohne vollständigen Pfad verwenden, funktioniert das auch nicht.

Ich komme also zu folgendem Ergebnis:

\usepackage{siunitx}           
\input{D:/OneDrive/Documents/Thesis_latex/units}

Dies geschieht, weil diesubfilesPaket mag keine \includes in der Präambel.

Abschnitt 2.3 des Handbuchs:

Die Präambel der Hauptdatei kann \input-Dateien (nicht \include- oder \subfile-Dateien) enthalten (VG-Dateien mit Definitionen und Kurzbefehlen), und das gilt auch für die Unterdateien.

verwandte Informationen