siunitx 自定义文件及子文件

siunitx 自定义文件及子文件

我最近决定将我的论文分成几个嵌套文件,如下所示:

% 主.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。如果你使用没有完整路径的简单输入也不会起作用。

所以我最终得到了这个:

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

发生这种情况是因为subfiles软件包不喜欢\include序言中的 s。

手册第 2.3 节:

主文件的前言可以 \input(不是 \include 也不是 \subfile)文件(带有定义和简写命令的 vg 文件),子文件也可以。

相关内容