在大型项目中使用 \include 并将输出文件放在单独的目录中

在大型项目中使用 \include 并将输出文件放在单独的目录中

此刻我的项目看起来像这样

我的项目

build 文件夹包含如下所示的 main.tex 文件

\input{../latex/preamble}
\begin{document}
    \input{../latex/chapter1}
    \input{../latex/chapter2}
\end{document}

所有图表都包含在 /src 中,而 references.bib 文件位于 /ref 中。

我想做的是,在主文件中使用 \include 而不是 \input(前言除外),同时保留此文档结构,或者将 main.tex 文件放在根文件夹中,同时将输出保留在 /build 中。我曾尝试通过将 main.tex 文件放在根文件夹中(并更改 include 的相对路径)并运行来实现此目的 pdflatex --output-director=./build main.tex

如果可能的话,我还希望将所有章节的 .aux 文件放在单独的目录中(或 /build 中),以保持一切整洁。

我已经花了几个小时来处理这个问题,但还是没能解决。似乎是构建中的 include 和输出文件的组合导致了这个问题。我收到消息

 ! I can't write on file `./latex/test.aux'.
 \@include ...\immediate \openout \@partaux #1.aux
 \immediate \write \@partaul.4 \include{./latex/test}`

对此有什么建议吗?

附加问题:在此设置中,我应该将 biber.conf 放在哪里?

答案1

输出目录中的目录结构必须与主目录结构相同,这样 TeX 才知道.aux将为\include命令写入的文件放在哪里。因此,如果您\include{latex/chapter1}要将输出文件放到 中,build/则需要创建一个目录build/latex

相关内容