如何使 hyperref 与 \citetitle 一起工作?

如何使 hyperref 与 \citetitle 一起工作?

我想\citetitle{}使用 在 和参考书目条目之间创建一个链接hyperref(就像我使用\cite{}命令时那样)。我该怎么做?

\documentclass{scrartcl}
\usepackage[german]{babel}
\usepackage[]{hyperref}

\usepackage[natbib]{biblatex}
\addbibresource{biblatex-examples.bib}

\title{title}

\begin{document}
    \maketitle

\citetitle{sigfridsson}

\printbibliography

\end{document}

答案1

这个答案假设你正在使用biblatex它的标准样式之一,其中\citetitle定义在biblatex.def(v3.15 版本为 2156-2165)作为

\DeclareCiteCommand{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printfield[citetitle]{labeltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

如果您希望链接该命令的输出,只需\printtext[bibhyperref]{...}在适当的位置添加。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=authoryear]{biblatex}
\usepackage{hyperref}

\DeclareCiteCommand{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printtext[bibhyperref]{%
     \printfield[citetitle]{labeltitle}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson}

ipsum \citetitle{sigfridsson}

\printbibliography
\end{document}

链接的 citetitle 输出。


如果我对biblatex你的风格的猜测是错误的,并且此解决方案不适用于你,请考虑编辑你的问题以包含有关你当前引用和参考书目设置的更多详细信息。理想情况下,以与此处显示的示例文档类似的最小示例文档的形式。包含这样的示例文档始终是一个好主意,以避免误解并为人们提供一些起点。

相关内容