Я часто использую команды \citetitle
и . Это отличные команды, но они не предоставляют гиперссылку на запись в библиографии. Чтобы преодолеть это, мне приходится использовать to get\citeauthor
biblatex
\citetitle{Knuth} \cite{Knuth}
Искусство программирования[1]
где [1] является гиперссылкой на библиографию. Это выглядит не так хорошо, как хотелось бы.
Что мне нужно сделать, чтобы получить гиперссылку на библиографию, просто используя \citetitle
команду (или '\citeauthor`)?
P.S. Я тоже использую hyperref
пакет, но думаю это очевидно.
решение1
Обе эти команды цитирования определены в biblatex.def
. Чтобы добавить ссылки, вы можете переопределить их в преамбуле документа или файле конфигурации. Связанный вариант\citeauthor
уже рассматривается вэтот предыдущий вопрос. \citetitle
Команду можно изменить аналогичным образом, хотя учтите, что вы можете поменять порядок форматов bibhyperref
и citetitle
.
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\multicitedelim}
{\usebibmacro{postnote}}