LaTeX (backref)
Le code LaTeX suivant utilise une citation et la citation contient une liste de pages, où l'entrée est citée. Ici c'est la première page. Le package hyperref
ajoute également des liens PDF, la référence de page précédente est rouge, le lien de citation est vert.
\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}
Mais LaTeX ne nécessite pas la ligne vide, la ligne vide semble superflue et l'exemple fonctionnera toujours sans hyperref
et la ligne vide:
\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}
Mais les liens et les références arrières ont disparu, nous les réinsérons donc:
\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}
Mais maintenant, l'exemple est cassé et ne compilera plus:
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
?
Qu'est-il arrivé? Le paquetage hyperref
(ou le paquetage plus précis backref
chargé par hyperref
) veut aller à la fin de l'entrée de bibliographie pour ajouter la liste de références arrière. Mais la syntaxe dans LaTeX ne fournit que le début de l'entrée \bibitem
, la fin peut être n'importe où. Dans ce paquet d'urgence, backref
une restriction a été ajoutée, qui \bibitem
doit se terminer par une ligne vide. Ensuite, le paquet peut redéfinir\bibitem
pour mettre les références arrières à la fin de l'entrée.
Comme la ligne vide est manquante, TeX continue à la rechercher, mais a plutôt trouvé la fin du fichier et a généré le message d'erreur.