梅威瑟:

梅威瑟:

首先我想知道为什么这些包在一起工作时会发生冲突。如果我不使用biblatex它,就不会有任何问题,但如果我使用它,那么这些包将不再起作用。

梅威瑟:

\documentclass[journal,twoside]{IEEEtran}
\usepackage[style=ieee,backend=biber]{biblatex}
\usepackage[hyphens]{url}
\usepackage[shortlabels]{enumitem}
\addbibresource{references.bib}
\begin{document}
I have cited this document \cite{Smith:2012qr}
\printbibliography
\end{document}

如果需要的话,还有reference.bib文件:

@BOOK{Smith:2012qr,
    title = {{O}nly a {T}est.}
}

预防错误:

\documentclass[journal,twoside]{IEEEtran}
%\usepackage[style=ieee,backend=biber]{biblatex}
\usepackage[hyphens]{url}
\usepackage[shortlabels]{enumitem}
%\addbibresource{references.bib}
\begin{document}
I have cited this document %\cite{Smith:2012qr}
%\printbibliography
\end{document}

问题:

  • 是什么导致了这个问题?
  • 这个问题该如何解决?

答案1

问题是biblatex已经加载url包,但没有hyphens选项。因此,如果您之后尝试使用此选项(再次)加载它,LaTeX 会给出相应的错误消息。更改加载这两个包的顺序可以解决问题:

\documentclass[journal,twoside]{IEEEtran}
\usepackage[hyphens]{url}
\usepackage[style=ieee,backend=biber]{biblatex}
\usepackage[shortlabels]{enumitem}
\addbibresource{references.bib}
\begin{document}
I have cited this document \cite{Smith:2012qr}
\printbibliography
\end{document}

相关内容