我最近决定将我的论文分成几个嵌套文件,如下所示:
% 主.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 文件),子文件也可以。