我无法引用

我无法引用

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 来构建参考书目和引文。您可能正在加载专用的附加包,如natbibcite

此外,您的.log显示您正在加载biblatexbiblatex使用完全不同的系统来创建参考书目和引文,并且与 BibTeX 方法及其包(、、、...)不兼容cite。该消息强烈建议您正在加载一个包,就像natbib在加载之前一样。由于这两个包不兼容,您会收到错误jurabib.lognatbibbiblatex

 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。

  1. 如果您想使用传统的 BibTeX,只需在序言中删除对的调用即可biblatex。您必须在某处加载它,并且您应该能够结束它。

  2. 切换到biblatex。据我所知,这需要对文档进行更多更改,而不是删除biblatex,但也许您想使用biblatexBIbTeX 没有的 功能之一。在这种情况下,我建议您遵循要切换到 biblatex 该怎么做?

相关内容