LaTeX (backref)
Mã LaTeX sau đây sử dụng trích dẫn và trích dẫn chứa danh sách các trang, trong đó mục nhập được trích dẫn. Đây là trang đầu tiên. Gói hyperref
cũng thêm các liên kết PDF, tham chiếu trở lại trang là màu đỏ, liên kết trích dẫn là màu xanh lá cây.
\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}
Nhưng LaTeX không yêu cầu dòng trống, dòng trống trông có vẻ thừa và ví dụ sẽ vẫn hoạt động mà không có hyperref
dòng trống:
\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}
Nhưng các liên kết và tham chiếu trở lại đã biến mất, do đó chúng tôi tái xác nhận chúng:
\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}
Nhưng bây giờ ví dụ đã bị hỏng và sẽ không biên dịch nữa:
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
?
Chuyện gì đã xảy ra? Gói hyperref
(hoặc gói chính xác hơn backref
, được tải bởi hyperref
) muốn nhận ở cuối mục nhập thư mục để thêm danh sách tham chiếu trở lại. Nhưng cú pháp trong LaTeX chỉ cung cấp phần đầu của mục nhập \bibitem
, phần cuối có thể ở bất cứ đâu. Trong gói khẩn cấp backref
này đã thêm một hạn chế \bibitem
phải kết thúc mục nhập bằng một dòng trống. Sau đó gói có thể xác định lại \bibitem
để đặt các tham chiếu trở lại vào cuối mục.
Vì dòng trống bị thiếu, TeX tiếp tục tìm kiếm nó, nhưng tìm thấy phần cuối của tệp thay vào đó và đưa ra thông báo lỗi.