我正在 Udemy 上学习“LaTeX 专业出版物”课程,但无法使我的引用正常工作。我正在使用带有 TeXworks 编辑器的 MikTeX。按照课程说明,我创建了一个名为的文件references.bib
:
@article{Linusson2013,
author = "Henrik Linusson",
title = "Multi-Output Random Forests",
journal = "University of Borås",
year = "2013"
}
我想在我的 LateX 文档中引用该文章article.tex
,并在参考部分添加参考书目:
\documentclass[a4paper]{article}
\begin{document}
\section{Introduction}
This is an example of a LaTeX document with BibTex~\cite{Linusson2013}
\section{References}
\bibliography{references}
\end{document}
根据课程说明,我首先references.bib
使用 BibTeX 生成 bbl 文件,但失败了(错误消息显示无法找到 .aux 文件)。当然,当我article.tex
使用 pdfLaTeX 编译时,引文不会显示在我的文章中。有人知道我做错了什么吗?
答案1
您生成参考书目和引文标注的方法似乎存在两个问题。
tex 文件缺少一条
\bibliographystyle
指令。的参数\bibliographystyle
包含要实现的样式。这是一条必不可少的指令;没有它,BibTeX 根本不会生成任何输出。说“用 BibTeX 运行 [bib 文件]”是误导和误导。bib 文件是 BibTeX 的基本输入,但它只是一些输入。
如果调用主 tex 文件
mywork.tex
,则需要运行bibtex mywork
BibTeX 将检查文件
mywork.aux
(由先前的 LaTeX 运行创建)以获取有关要遵循的参考书目样式、已删除的项目\cite
以及包含引用条目的 bib 文件的信息。根据这些信息,它将创建一个名为mywork.bbl
(格式化的 bib 条目)的文件和mywork.blg
相关日志文件。如果 bib 文件中有任何语法错误,您将在 blg 日志文件中发现它。
因此工作流程如下:
pdflatex mywork
bibtex mywork
pdflatex mywork
pdflatex mywork
请注意,必须运行 LaTeX再两次在 BibTeX 运行之后,以便完全传播所有更改。
MWE(最小工作示例)——请注意,我选择了plain
参考书目样式;您应该选择一种符合您的格式需求的样式。
\RequirePackage{filecontents}
\begin{filecontents}{myreferences.bib}
@misc{Linusson2013,
author = "Henrik Linusson",
title = "Multi-Output Random Forests",
howpublished = "University of Borås",
year = "2013",
}
\end{filecontents}
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\bibliographystyle{plain} % <-- choose a suitable bib style
\begin{document}
\section{Introduction}
This is an example of a \LaTeX\ document with a bibliography and citation call-outs generated by Bib\TeX~\cite{Linusson2013}.
\bibliography{myreferences}
\end{document}