我下载了cleanthesis模板并运行 LaTeX,thesis-example.tex
创建一个.aux
文件。在文档中可以找到
\nocite{*}
\printbibliography[nottype=online]
\printbibliography[heading=subbibliography,title={Webseiten},type=online,prefixnumbers={@}]
这样 BibTeX 应该会生成一个.bbl
文件。但如果我运行bibtex
,它只会说
This is BibTeX, Version 0.99d (TeX Live 2012)
The top-level auxiliary file: thesis-example.aux
I found no \citation commands---while reading file thesis-example.aux
I found no \bibdata command---while reading file thesis-example.aux
I found no \bibstyle command---while reading file thesis-example.aux
(There were 3 error messages)
只.bbl
给我留下一个空文件。我检查了一下cleanthesis.sty
,发现
\bibliography{bib-refs}
这实际上是正确的.bib
文件。
然后我删除了该命令\nocite{*}
,并将其放在文本中的某个位置,\cite{WEB:GNU:GPL:2010}
在使用 LaTeX 编译后,我可以在.aux
文件中找到该命令
\abx@aux@cite{WEB:GNU:GPL:2010}
但如果我运行,bibtex
我会收到上面的相同消息和一个空bbl
文件。
我做错什么了吗?
答案1
如果你不是想要运行biber
写入前 你加载包cleanthesis
:
\usepackage[ % use biblatex for bibliography
backend=bibtex8, % - use bibtex8 backend
bibencoding=utf8, % - use auto file encode
style=alphabetic, % - use alphabetic (or numeric) bib style
natbib=true, % - allow natbib commands
hyperref=true, % - activate hyperref support
backref=true, % - activate backrefs
isbn=false, % - don't show isbn tags
url=false, % - don't show url tags
doi=false, % - don't show doi tags
urldate=long, % - display type for dates
maxnames=3,%
minnames=1,%
maxbibnames=5,%
minbibnames=3,%
maxcitenames=2,%
mincitenames=1%
]{biblatex}
但是,至少使用bibtex8
如果你有编码utf8
答案2
您应该运行biber
,而不是bibtex
,因为该包使用 包biblatex
来处理引用。较新版本的biblatex
假设biber
为默认后端(即对条目进行排序的程序),因此它不适用于bibtex
。
要强制biblatex
使用bibtex
或bibtex8
,您可以编辑cleanthesis.sty
。当前版本的第 285 行内容为
% backend=biber, [...]
将其更改为
backend=bibtex,
或者
backend=bibtex8,
有关bibtex
vs. 的一些信息,biber
请参阅bibtex 与 biber 以及 biblatex 与 natbib 的比较