我使用 biblatex-apa 引用样式。我还使用带有彩色链接的 hyperref,而不是丑陋的彩色框。当我使用时,\textcite
作者姓名和年份都是链接的一部分,但右括号不是。像这样:琼斯(2000)。有办法解决这个问题吗?我想要两个括号都链接或者都不链接...
解决这个问题的一种方法是使用citestyle=authoryear
作为选项。这意味着只有年份是关联的,所以这不是一个完美的解决方案。有没有更好的方法来解决这个问题?
答案1
您好,我是 biblatex-apa 的作者。我知道这个问题是什么,明天我应该会修复这个问题并发布 biblatex-apa 的新版本氯化三乙胺。
答案2
如果能给出一个简单的例子就更好了。;-)(我正在使用标准 biblatex 样式,但不知道 biblatex-apa 的样式\DeclareLanguageMapping
。)
我认为以下解决方案相当“黑客化”,因为 a) 我不知道这个特定\textcite
命令的功能 b) 除此之外的其他命令\textcite
可能也需要更改 c) 附加\printtext[bibhyperref]
包装器似乎指向参考书目中的正确条目,但这只是我的运气。从长远来看,您应该向 biblatex-apa 的作者 Philip Kime 发送功能请求。
\documentclass{article}
\usepackage[american]{babel}
\usepackage[style=apa]{biblatex}
\usepackage{csquotes}
\DeclareLanguageMapping{american}{american-apa}
\usepackage[colorlinks=true]{hyperref}
\DeclareCiteCommand{\textcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{textcite}}}%
{}
{\iffieldundef{postnote}
{\ifbool{cbx:parens}
% {\bibrightparen}% DELETED
{\printtext[bibhyperref]{\bibrightparen}}% NEW
{}}
% {\ifbool{cbx:parens}% DELETED (FOR POSTNOTE)
{\printtext[bibhyperref]{\ifbool{cbx:parens}% NEW (FOR POSTNOTE)
{\postnotedelim}
{\addspace\bibleftparen}%
% \printfield{postnote}\bibrightparen}}% DELETED (FOR POSTNOTE)
\printfield{postnote}\bibrightparen}}}% NEW (FOR POSTNOTE)
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{a01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@misc{b02,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
}
\end{filecontents}
\bibliography{\jobname}
\begin{document}
Some Text \textcite{a01}. Some more text \textcite[A postnote]{b02}.
\printbibliography
\end{document}