LaTeX (backref)
Poniższy kod LaTeX używa cytatu, który zawiera listę stron, na których cytowany jest wpis. Oto pierwsza strona. Pakiet hyperref
dodaje również linki PDF, odnośnik do strony jest czerwony, link cytatu jest zielony.
\documentclass{article}
\usepackage[colorlinks,pagebackref]{hyperref}
\begin{document}
Donald E. Knuth is the inventor of \TeX~\cite{knuth}.
\begin{thebibliography}{9}
\bibitem{knuth}
Donald E. Knuth: \textit{The \TeX book}; Addison Wesley, 1984.
\end{thebibliography}
\end{document}
Ale LaTeX nie wymaga pustej linii, pusta linia wygląda na zbędną, a przykład nadal będzie działał bez, hyperref
a pusta linia:
\documentclass{article}
\begin{document}
Donald E. Knuth is the inventor of \TeX~\cite{knuth}.
\begin{thebibliography}{9}
\bibitem{knuth}
Donald E. Knuth: \textit{The \TeX book}; Addison Wesley, 1984.
\end{thebibliography}
\end{document}
Ale linki i referencje zniknęły, dlatego ponownie je wstawiamy:
\documentclass{article}
\usepackage[colorlinks,pagebackref]{hyperref}
\begin{document}
Donald E. Knuth is the inventor of \TeX~\cite{knuth}.
\begin{thebibliography}{9}
\bibitem{knuth}
Donald E. Knuth: \textit{The \TeX book}; Addison Wesley, 1984.
\end{thebibliography}
\end{document}
Ale teraz przykład jest zepsuty i nie będzie się już kompilował :
Runaway argument?
Donald E. Knuth: \textit {The \TeX book}; Addison Wesley, 1984. \end \ETC.
! File ended while scanning use of \BR@@bibitem.
<inserted text>
\par
<*> knuth
?
Co się stało? Pakiet hyperref
(lub bardziej precyzyjny pakiet backref
, który jest ładowany hyperref
) chce uzyskać na końcu pozycji bibliografii, aby dodać tylną listę referencyjną. Ale składnia w LaTeX zapewnia tylko początek wpisu \bibitem
, koniec może być wszędzie. W tym pakiecie awaryjnym backref
dodano ograniczenie, które \bibitem
musi kończyć wpis pustą linią. Następnie pakiet może przedefiniować, \bibitem
aby umieścić referencje na końcu wpisu.
Ponieważ brakuje pustej linii, TeX wciąż go szuka, ale zamiast tego znalazł koniec pliku i wyświetla komunikat o błędzie.