
Ich erhalte eine Fehlermeldung, wenn ich hyperref
und bibentry
Pakete zusammen verwende. Der Fehler lautet:
./Test.bbl:1: LaTeX Error: Command \BR@bibitem already defined.
Or name \end... illegal, see p.192 of the manual.
Zeigt auf l.1 \begin{thebibliography}{2}
, was natürlich die erste Zeile der Text.bbl
Datei ist.
Test
ist der Name meiner MWE-Datei:
\documentclass{article}
\usepackage[pagebackref=true,linktocpage]{hyperref}
\usepackage[square]{natbib}
\usepackage{bibentry}
\nobibliography*
\begin{document}
\section{Introduction}
Look ma, inline bibtex entries:
\begin{itemize}
\item \begin{NoHyper}\bibentry{McCune:2015}\end{NoHyper}
\item \begin{NoHyper}\bibentry{Deshpande:2018aa}\end{NoHyper}
\end{itemize}
\section{And now for something completely different}
Lorem ipsum yada yada,
also see \citep{McCune:2015},
yada yada, and \citep{Deshpande:2018aa} too.
\bibliographystyle{abbrvnat}
\bibliography{testref}
\end{document}
Die testref.bib
Datei ist die folgende:
@STRING{COMPSUR = {ACM Comput. Surv.}}
@book{Deshpande:2018aa,
Author = {Deshpande, Amol and Gupta, Amarnath},
Date-Added = {2017-04-12 14:27:29 +0000},
Date-Modified = {2017-04-12 14:28:23 +0000},
Note = {Forthcoming},
Publisher = {ACM Books},
Title = {Principles of Graph Data Management and Analytics},
Year = {2018}}
@article{McCune:2015,
Author = {McCune, Robert Ryan and Weninger, Tim and Madey, Greg},
Journal = COMPSUR,
Number = {2},
Numpages = {39},
Pages = {25:1--25:39},
Title = {Thinking Like a Vertex: A Survey of Vertex-Centric Frameworks for Large-Scale Distributed Graph Processing},
Url = {http://doi.acm.org/10.1145/2818185},
Volume = {48},
Year = {2015}}
Irgendwelche Vorschläge, was ich falsch machen könnte? Wenn ich das Hyperref-Paket lösche, funktioniert alles. Ich habe hier Artikel gelesen, aber die vorgeschlagenen Lösungen helfen nicht – eine bestand darin, das mit, \bibentry
das NoHyper
ich habe, in das MWE einzuschließen (tatsächlich wird das MWE aus einem dieser Pakete übernommen).
Antwort1
Laden Sie hyperref
nach den anderen Paketen, sieheWelche Pakete sollten nach Hyperref statt davor geladen werden?für Ausnahmen.
\begin{filecontents}{testref.bib}
@STRING{COMPSUR = {ACM Comput. Surv.}}
@book{Deshpande:2018aa,
Author = {Deshpande, Amol and Gupta, Amarnath},
Date-Added = {2017-04-12 14:27:29 +0000},
Date-Modified = {2017-04-12 14:28:23 +0000},
Note = {Forthcoming},
Publisher = {ACM Books},
Title = {Principles of Graph Data Management and Analytics},
Year = {2018}}
@article{McCune:2015,
Author = {McCune, Robert Ryan and Weninger, Tim and Madey, Greg},
Journal = COMPSUR,
Number = {2},
Numpages = {39},
Pages = {25:1--25:39},
Title = {Thinking Like a Vertex: A Survey of Vertex-Centric Frameworks for Large-Scale Distributed Graph Processing},
Url = {http://doi.acm.org/10.1145/2818185},
Volume = {48},
Year = {2015}}
\end{filecontents}
\documentclass{article}
\usepackage[square]{natbib}
\usepackage{bibentry}
\nobibliography*
\usepackage[pagebackref=true,linktocpage]{hyperref}
\begin{document}
\section{Introduction}
Look ma, inline bibtex entries:
%
\begin{itemize}
\item \begin{NoHyper}\bibentry{McCune:2015}\end{NoHyper}
\item \begin{NoHyper}\bibentry{Deshpande:2018aa}\end{NoHyper}
\end{itemize}
\section{And now for something completely different}
Lorem ipsum yada yada,
also see \citep{McCune:2015},
yada yada, and \citep{Deshpande:2018aa} too.
\bibliographystyle{abbrvnat}
\bibliography{testref}
\end{document}
Antwort2
Das Laden von hyperref nach den anderen Paketen reicht möglicherweise nicht aus.HyperrefDas Handbuch schlägt die folgende Problemumgehung vor (ersetzen Sie „Datenbank“ durch Ihre eigene Bib-Datei):
\makeatletter
\let\saved@bibitem\@bibitem
\makeatother
\usepackage{bibentry}
\usepackage{hyperref}
\begin{document}
\begingroup
\makeatletter
\let\@bibitem\saved@bibitem
\nobibliography{database}
\endgroup