![Hyperref 链接到参考书目条目吗?](https://linux22.com/image/325568/Hyperref%20%E9%93%BE%E6%8E%A5%E5%88%B0%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E6%9D%A1%E7%9B%AE%E5%90%97%EF%BC%9F.png)
是否可以创建指向特定书目项目的链接?
我希望得到类似这样的结果:
This \hyperref[MyKey]{link} takes you to the same place as \cite{MyKey}.
完整(不工作)的 MWE:
\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}
\begin{document}
This \hyperref[MyKey]{link} takes you to the same place as \cite{MyKey} does.
\begin{thebibliography}{9}
\bibitem{MyKey} Anne Author, Thoughts, 3001.
\end{thebibliography}
\end{document}
答案1
一个简单的解决方案是在参考书目项目中设置\hypertarget
。语法非常简单:使用以下命令创建目标
\hypertarget{MyTargetKey}{}
并使用创建到目标的链接
\hyperlink{MyTargetKey}{link text}
所有内容放在一起:
\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}
\begin{document}
This \hyperlink{MyTargetKey}{link} takes you to the same
place as \cite{MyKey} does.
\begin{thebibliography}{9}
\bibitem{MyKey} \hypertarget{MyTargetKey}{} Anne Author, Thoughts, 3001.
\end{thebibliography}
\end{document}
如果你使用 BibLaTeX,这会变得更加黑客化,但仍然有效。你可以在作者字段中设置目标。
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOK{MyKey,
AUTHOR = {Author, \hypertarget{MyKeyH}{Anne}},
TITLE = {Thoughts},
YEAR = {3001},
}
\end{filecontents*}
\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
This \hyperlink{MyKeyH}{link} takes you to the same place as \cite{MyKey} does.
\printbibliography
\end{document}
这不是一个特别好的解决方案,但我不知道有没有直接、优雅的方法。
答案2
我有hyperref
并且使用 BibTeX 及其键,例如:
@BOOK{MyKey,
AUTHOR = {theName, theFirstName},
TITLE = {Thoughts},
YEAR = {3001},
}
至少在我的模板中,\hyperlink{cite.MyKey}{link}
足以使链接起作用。
我可能会稍后制作 MWE,但与此同时也许这可以帮助某人。
答案3
\usepackage{hyperref}
使链接在介绍中起作用例子就像魔术一样(“\cite{dirac}”变成了一个链接)。
\documentclass{article}
\usepackage{hyperref}
\usepackage{biblatex}
\addbibresource{sample.bib}
\begin{document}
Einstein's journal paper \cite{einstein} and Dirac's
book \cite{dirac} are physics-related items.
\clearpage
\printbibliography
\end{document}
这一切都与默认设置一致样本文件。