更新了论文的旧模板后,我还想通过专用的构建目录来清理文档的构建方式。
使用 TexStudio 它的工作原理(主要)通过改变:
pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex
bibtex.exe %
biber.exe %
到
pdflatex.exe -synctex=1 -interaction=nonstopmode --aux-directory=build %.tex
bibtex.exe --include-directory=build %
biber.exe --input-directory=build --output-directory=build %
我的模板利用filecontents
环境(独立的环境已被弃用,因此我切换了)来简化对缩写的排序(由于我还没有找到 LaTeX 内部解决方案,因此排序是在外部完成的):
\begin{filecontents}[overwrite]{abbreviations.tex}
\acro{TLA}{Three Letter Acronym}
\end{filecontents}
\begin{acronym}
\IfFileExists{abbreviations-sorted}{\input{abbreviations-sorted}}{\input{abbreviations}}
\end{acronym}
文件abbreviations.tex
在目录中创建build
,这并不一定是预期的,因为如果没有名称,则将其放在文档中更合理。我通过\input
添加build/
前缀修复了创建文件的加载问题。
\begin{filecontents}[overwrite]{abbreviations.tex}
\acro{TLA}{Three Letter Acronym}
\end{filecontents}
\begin{acronym}
\IfFileExists{build/abbreviations-sorted}{\input{build/abbreviations-sorted}}{\input{build/abbreviations}}
\end{acronym}
它看起来有点不干净/不安全,因为它与所使用的文件名不匹配filecontents
,并且依赖于构建环境。有没有办法让它再次“干净”?
答案1
经过进一步调查,我发现错误是由于使用
--aux-directory=build
。
将其更改为
--output-directory=build
构建按预期进行,无需build/
在文档中添加前缀。
现在 TexStudio 无法找到创建的 PDF 文档以供预览(因为它也是在build
目录中创建的)。通过更改解决了这个问题
Options -> Configure -> Build -> Build Options -> Additional Search Paths
到:
- 日志档案:
./build
- PDF文件:
./build