答案1
理论
在您的设置中,与BibTeX是:bibtex build/%
。意思是:”在以下文件夹中查找(隐含的.aux
)文件:<location of the .tex file you're compiling>/build
“。
当您告诉 (pdf)LaTeX 将每个临时/辅助文件放在子文件夹(此处名为build
)中以保持原始文件夹“干净”时,这很方便。您可以-output-directory
在运行 (pdf)LaTeX(例如 )时使用该选项激活此行为pdflatex -output-directory=build/ %.tex
。
你的情况
但是,由于您没有启用此功能(即,用于 (pdf)LaTeX 编译的 bash 命令不会调用该-output-directory
选项),因此所有临时文件都会在与.tex
您正在编译的文件相同的文件夹中创建。
但就您而言,仍然在名为:的不存在的子文件夹中bibtex
寻找-file 。.aux
build
bibtex build/%
解决方案
因此,您应该告诉在与文件相同的文件夹中bibtex
查找文件,即.aux
.tex
写bibtex %
而不是bibtex build/%
在BibTeX线.
(或者您也可以创建一个名为的子文件夹build
,然后使用以下命令:pdfLaTeX:pdflatex -output-directory=build/ %.tex
;bibTeX: bibtex build/%
。但您还需要更新其他命令的路径(例如 pdf-viewer)。)