当我使用 -aux-directory 标志运行 pdflatex 时,natbib 无法找到引用。
带有 -aux-directory 的 pdflatex 命令:
pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex -aux-directory=auxillary
且不包含:
pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex
当我使用 -aux-directory 运行它时,没有生成 bbl 文件,缺少参考页面,并且日志显示一长串错误,如下所示:
Package natbib Warning: Citation `Altman2006' on page 1 undefined on input line
当我在没有 -aux-directory 的情况下运行它时,一切都正常。
还有其他人遇到过这个问题吗?
梅威瑟:
博士论文.tex
\documentclass[11pt,twoside,a4paper]{article}
\usepackage[round,authoryear]{natbib}
\begin{document}
Bibtex test: \citet{Card1999}
\bibliographystyle{apalike}
\bibliography{PhD_Bibliography}
\end{document}
PhD_书目.bib
@INCOLLECTION{Card1999,
author = {David Card},
title = {The Causal Effects of Education on Earnings},
booktitle = {Handbook of Labour Economics},
year = {1999},
editor = {O. Ashenfelter and David Card},
volume = {3},
pages = {1801-1863},
publisher = {Elsevier Science B.V},
chapter = {30}
}
答案1
如果您的论文是一个单独的文件(这不太可能),那么只需在 bibtex 命令后附加./auxillary/%
.
另外,我写了一个 bash 脚本分享于此答案但它适用于 Linux 环境。不过,您可以将工作复制到适用于 Windows 的 bat 文件中:
- 首先,脚本需要进入 aux 文件夹
- 在主辅助系统上运行 bibtex
- 将生成的 bbl 文件复制到所有章节文件名(例如 main.bbl、chapter1.bbl 等)
就是这样,调用脚本而不是 bibtex。另外,(这可能不是 的问题-aux-directory
,而是 的问题-output-directory
)如果每个章节都在其自己的专用文件夹中,则需要将文件夹结构复制到构建文件夹(此处为“辅助”)。