我想将所有期刊标题(带有超链接和不带有超链接的)的颜色更改为蓝色,但同时保留使用期刊文章的 DOI 链接到文章来源的超链接。
我尝试过的一个选项是:
\ExecuteBibliographyOptions{doi=false}
\newbibmacro{string+doi}[1]{%
\iffieldundef{doi}{#1}{\href{http://dx.doi.org/\thefield{doi}}{#1}}}
\DeclareFieldFormat[article]{journaltitle}{\textcolor[rgb]{0,0,1}{#1}}{\usebibmacro{string+doi}{\mkbibemph{#1}}}
然而,这在编译 PDF 文件时会产生多个错误。
我尝试过的另一种选择是单独设置期刊标题的颜色:
\ExecuteBibliographyOptions{doi=false}
\newbibmacro{string+doi}[1]{%
\iffieldundef{doi}{#1}{\href{http://dx.doi.org/\thefield{doi}}{#1}}}
\DeclareFieldFormat[article]{journaltitle}{\usebibmacro{string+doi}{\mkbibemph{#1}}}
\DeclareFieldFormat
[article]
{journaltitle}{\textcolor[rgb]{0,0,1}{#1}}
编译这个作品没有任何瑕疵,期刊标题的颜色是蓝色,但由于某种原因,它删除了 DOI 链接。
我哪里做错了?我必须做哪些改变才能获得可以正常工作的输出文件?
答案1
@kcabdeef 第二种方法不起作用,因为您重新定义了格式,并且第一种格式被删除了。按以下方式定义格式:
\DeclareFieldFormat[article]{journaltitle}{\usebibmacro{string+doi}{\mkbibemph{\textcolor[rgb]{0,0,1}{#1}}}}
并且它会起作用。