LaTeX (обратная ссылка)
В следующем коде LaTeX используется цитата, а цитата содержит список страниц, где цитируется запись. Вот это первая страница. Пакет hyperref
также добавляет ссылки PDF, обратная ссылка на страницу красная, ссылка на цитирование зеленая.
\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}
Но LaTeX не требует пустой строки, пустая строка выглядит излишней, и пример все равно будет работать без hyperref
пустой строки:
\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}
Но ссылки и обратная ссылка исчезли, поэтому мы вставляем их заново:
\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}
Но теперь пример сломан и не компилировать больше:
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
?
Что произошло? Пакет hyperref
(или более точный пакет backref
, который загружен hyperref
) хочет получить в конце библиографической записи, чтобы добавить список обратной ссылки. Но синтаксис в LaTeX обеспечивает только начало записи \bibitem
, конец может быть где угодно. В этот аварийный пакет backref
добавлено ограничение, \bibitem
которое должно заканчиваться записью с пустой строкой. Тогда пакет можно переопределить\bibitem
чтобы поместить обратные ссылки в конец записи.
Поскольку пустая строка отсутствует, TeX продолжает ее искать, но вместо этого находит конец файла и выдает сообщение об ошибке.