使用 biblatex 对文内引用进行颜色标注 - 修复一个小问题

使用 biblatex 对文内引用进行颜色标注 - 修复一个小问题

我希望所有文内引用都使用不同的颜色,以便与文本区分开来。我使用了以下链接提供的解决方案。
使用 biblatex 进行彩色引用:文内 + 参考文献(后记 + 参考书目问题) 具体来说,我使用了\AtEveryCite命令。右括号也涂成了蓝色。但是,当引用位于句子末尾时,句号应该是黑色的,但上面的命令却使它们变成了蓝色。有什么办法可以修复这个小问题吗?谢谢。杰伊

平均能量损失

\documentclass[a4paper, oneside, 12pt]{memoir}
\usepackage[backend=bibtex, %bibtex worked well
style=authoryear-comp, %nature for numbered style
sorting=nyt, % cite according to author's last name,year and title.
maxbibnames=3]{biblatex} 

\addbibresource{biblatex-examples.bib}
\usepackage[table,xcdraw,dvipsnames]{xcolor} % colouring of raws and also for R code grey background
\definecolor{bleu_cite}{RGB}{34,111,212} % pure blue: {0,0,128}, light blue:{80,135,208}
\usepackage[
colorlinks=true,        
allcolors = black,  
citecolor=bleu_cite,        
]{hyperref} 
\AtEveryCite{\color{bleu_cite}}

\begin{document}
     This is a borrowed fact \parencite{aristotle:physics}. 

\end{document}

答案1

默认情况下biblatex,在引用后扫描标点符号以避免重复标点符号。这意味着biblatex“接管”在引用后直接打印标点符号。您可以使用

autopunct=false

然后你就可以继续使用\AtEveryCite{\color{bleu_cite}}


但你也可以\DeclareCiteCommand使用使用 biblatex 进行彩色引用:文内 + 参考文献(后记 + 参考书目问题)。不过,您必须根据自己的风格进行修改。

\newcommand{\mkbibparenscol}[1]{\textcolor{bleu_cite}{\mkbibparens{#1}}}

\DeclareCiteCommand{\cite}[\textcolor{bleu_cite}]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\parencite}[\mkbibparenscol]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}

相关内容