biblatex+hyperref: citetitle/citeauthor でハイパーリンクを取得

biblatex+hyperref: citetitle/citeauthor でハイパーリンクを取得

私はの\citetitle\citeauthorコマンドを頻繁に使用しています。これらは優れたコマンドですが、参考文献のエントリへのハイパーリンクを提供しません。これを克服するには、 を使用して取得するbiblatex必要があります。\citetitle{Knuth} \cite{Knuth}

コンピュータプログラミングの芸術[1]

ここで、[1]は参考文献にハイパーリンクされています。これは私が望むほど見栄えがよくありません。

\citetitle(または '\citeauthor`) コマンドだけを使用して参考文献へのハイパーリンクを取得するにはどうすればよいですか?

PS. 私もhyperrefパッケージを使用していますが、それは明らかだと思います。

答え1

これらの引用コマンドは両方とも で定義されていますbiblatex.def。リンクを追加するには、ドキュメントのプリアンブルまたは設定ファイルで再定義します。 のリンクされたバリアントは、\citeauthorすでに で説明されています。この前の質問このコマンドも同様に変更できますが、と の形式\citetitleの順序を入れ替える必要があることに注意してください。bibhyperrefcitetitle

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

関連情報