Biblatex:更改期刊标题的颜色而不删除 DOI 链接

Biblatex:更改期刊标题的颜色而不删除 DOI 链接

我想将所有期刊标题(带有超链接和不带有超链接的)的颜色更改为蓝色,但同时保留使用期刊文章的 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}}}}

并且它会起作用。

相关内容