我bibliography.bib
在我的项目中放了一个文件,内容如下:
@inproceedings{hitaj2017deep,
title={Deep models under the GAN: information leakage from collaborative deep learning},
author={Hitaj, Briland and Ateniese, Giuseppe and Perez-Cruz, Fernando},
booktitle={Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security},
pages={603--618},
year={2017},
organization={ACM}
}
@inproceedings{shokri2015privacy,
title={Privacy-preserving deep learning},
author={Shokri, Reza and Shmatikov, Vitaly},
booktitle={Proceedings of the 22nd ACM SIGSAC conference on computer and
communications security},
pages={1310--1321},
year={2015},
organization={ACM}
}
然后我引用了参考文献.tex
:
A book on game theory is \cite{shokri2015privacy}.
\bibliographystyle{plain}
\bibliography{bibliography.bib}
但我收到一个错误:
(no line number):
This is BibTeX, Version 0.99d (TeX Live 2016/Debian)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: sample-sigconf.aux
The style file: plain.bst
I found no \citation commands---while reading file sample-sigconf.aux
Database file #1: acmart.bib
You've used 0 entries,
2118 wiz_defined-function locations,
497 strings with 4007 characters,
and the built_in function-call counts, 18 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 2
:= -- 7
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 1
format.name$ -- 0
if$ -- 1
int.to.chr$ -- 0
int.to.str$ -- 0
missing$ -- 0
newline$ -- 3
num.names$ -- 0
pop$ -- 0
preamble$ -- 1
purify$ -- 0
quote$ -- 0
skip$ -- 1
stack$ -- 0
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 2
(There was 1 error message)
/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty:462:
LaTeX Error:
Command \bibhang already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.462 \newlength{\bibhang}
我不知道如何解决它。
答案1
.tex
文件中的片段
A book on game theory is \cite{shokri2015privacy}.
\bibliographystyle{plain}
\bibliography{bibliography.bib}
(请注意,它应该是,\bibliography{bibliography}
文件名中的\bibliography
不是以文件扩展名为例)表明您正在使用传统的 BibTeX 来构建参考书目和引文。您可能正在加载专用的附加包,如natbib
或cite
。
此外,您的.log
显示您正在加载biblatex
。biblatex
使用完全不同的系统来创建参考书目和引文,并且与 BibTeX 方法及其包(、、、...)不兼容cite
。该消息强烈建议您正在加载一个包,就像natbib
在加载之前一样。由于这两个包不兼容,您会收到错误jurabib
.log
natbib
biblatex
Command \bibhang already defined.
Or name \end... illegal, see p.192 of the manual.
这个错误信息量不大,但是下一个版本biblatex
将使不兼容错误更有用:https://github.com/plk/biblatex/pull/751。
长话短说,您加载biblatex
并使用传统的 BibTeX 技术来编写参考书目,这两种技术会相互干扰并导致错误。您需要决定是否要使用biblatex
或传统的 BibTeX。
如果您想使用传统的 BibTeX,只需在序言中删除对的调用即可
biblatex
。您必须在某处加载它,并且您应该能够结束它。切换到
biblatex
。据我所知,这需要对文档进行更多更改,而不是删除biblatex
,但也许您想使用biblatex
BIbTeX 没有的 功能之一。在这种情况下,我建议您遵循要切换到 biblatex 该怎么做?。