我希望所有文内引用都使用不同的颜色,以便与文本区分开来。我使用了以下链接提供的解决方案。
使用 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}}