我正在使用 Ubuntu 编写我的博士论文Beamer
演讲稿,但找不到引用。
这是我的 Makefile:
PRESENTATION = PhD_Presentation
TEX = pdflatex -synctex=1 -interaction=nonstopmode --shell-escape
OPEN = open -a Skim.app
RESOURCES = ${PRESENTATION}.pdf
default:
${TEX} ${PRESENTATION}.tex
${OPEN} ${PRESENTATION}.pdf
file:
${TEX} ${PRESENTATION}.tex
${TEX} ${PRESENTATION}.tex
release: file
rm -rf Release
mkdir Release
cp ${RESOURCES} Release
rm -rf auto *_minted-* *.log *.aux *.synctex.gz* *.out
clean:
rm -rf auto *_minted-* *.log *.aux *.synctex.gz* *.out
以下是我biblatex
在序言中所使用的方法。
\usepackage[natbib=true,style=authoryear,backend=bibtex,useprefix=true]{biblatex}
以下是我引用\cite{Mitry_2010_Review}
和引用参考书目的方式:
\begin{frame}[t, allowframebreaks]
\frametitle{References}
\printbibliography
\end{frame}
我已将我的参考书目添加到以下文件夹中:
\addbibresource{./bib_files/bibliography}
但是,我收到以下错误消息:
LaTeX Warning: Citation 'Gariano_2004' on page 4 undefined on input line 44.
LaTeX Warning: Citation 'Mitry_2010' on page 4 undefined on input line 44.
LaTeX Warning: Citation 'Matsumoto_1984' on page 4 undefined on input line 44.
LaTeX Warning: Citation 'Mitry_2010_Review' on page 4 undefined on input line 4
4.
我不知道如何告诉 Tex 该书目确实存在。
是否有更好的方法可以做到这一点,您有什么建议吗?TIA
答案1
为了生成引文和参考书目,您不仅需要在文档上运行 LaTeX(这是您最喜欢的 LaTeX 风格:、、、pdflatex
... ):您还需要运行参考书目工具(通常是 BibTeX 或 Biber)。为什么这是必要的以及参考书目工具的作用在lualatex
xelatex
使用问号或粗体引用关键字代替引用编号。
由于您正在使用,biblatex
我强烈建议您运行 Biber 而不是 BibTeX。
为此,请在 makefile 中添加一个 Biber 调用。完整的编译周期应该是
${TEX} ${PRESENTATION}
${BIBTOOL} ${PRESENTATION}
${TEX} ${PRESENTATION}
${TEX} ${PRESENTATION}
你定义的BIBTOOL
类似于TEX
BIBTOOL = biber
如果您只是以不影响引用的方式更改文档,则不必总是重新运行整个编译周期。但如果您想确保获得预期的输出,则需要运行整个周期。
然后,您应该将biblatex
文档中的调用更改为
\usepackage[backend=biber, natbib=true, style=authoryear, useprefix=true]{biblatex}
即替换backend=bibtex,
为backend=biber,
。虽然 BibTeX 仍然作为旧后端受支持,但biblatex
它不允许您使用 的所有biblatex
功能。
最后,\addbibresource{./bib_files/bibliography}
改为
\addbibresource{./bib_files/bibliography.bib}
\addbibresource
需要文件扩展名。