创建一个修改过的 cite 命令,为方括号内的数字添加颜色

创建一个修改过的 cite 命令,为方括号内的数字添加颜色

我一直在搜索,但找不到答案。我正在使用命令cite{},它当然运行良好。我想做一个小修改。当我的参考文献出现在文本中时,方括号内的参考编号应该具有指定的颜色。我该如何实现这一点(请参阅下面附图)?只有内部数字应该有颜色,外部括号应该保持黑色。任何帮助都值得感激,非常感谢。

编辑:到目前为止,我正在使用以下方法来创建我的文档。

像这样

% main tex-file
\documentclass[a4paper,11pt]{memoir}
\usepackage[style=numeric, backend=biber, backref, sorting=none]{biblatex}
\addbibresource{bib/bibfile.bib}

\begin{document}
This is a test \cite{ref1}.

\printbibliography
\end{document}


% bib/bibfile.bib
@CONFERENCE{ref1,
  author = {Hans Neumann},
  title = {title},
  booktitle = {book title},
  year = {1998}
}

答案1

一种方法是使用超链接,它还有一个好处,就是可以将引文等内容转换为 PDF 文件中的超链接。通过添加以下行

\usepackage{hyperref}
\hypersetup{colorlinks=true, citecolor=green}

到你的序言结尾(超链接喜欢最后加载),你的 MWE 会产生:

在此处输入图片描述

尽管您可能想要不同的绿色:)这是完整的代码:

% main tex-file
\documentclass[a4paper,11pt]{memoir}
\usepackage[style=numeric, backend=biber, backref, sorting=none]{biblatex}
\addbibresource{bibfile.bib}

% to generate the bibfile
\usepackage{filecontents}
\begin{filecontents}{bibfile.bib}
@CONFERENCE{ref1,
  author = {Hans Neumann},
  title = {title},
  booktitle = {book title},
  year = {1998}
}
\end{filecontents}

\usepackage{hyperref}
\hypersetup{colorlinks=true, citecolor=green}

\begin{document}
This is a test \cite{ref1}.

\printbibliography
\end{document}

答案2

非常感谢安德鲁,他发布了一个解决我的问题的答案。

不过,我也设法找到了另一种解决方案(尽管 Andrew 的答案似乎更优雅)。这个问题对我有帮助:关联

\documentclass[a4paper,11pt]{memoir}
\usepackage[style=numeric, backend=biber, backref, sorting=none, labelnumber]{biblatex}
\addbibresource{bib/bibfile.bib}

% using labelnumber
\DeclareCiteCommand{\citenum}
  {}
  {\printfield{labelnumber}}
  {}
  {}

% defining a new custom command with desired color:
\newcommand\mycite[1]{[\textcolor{green}{\citenum{#1}}]}

\begin{document}
This is a test \mycite{ref1}.
% and i get the same output as Andrew! :D

\printbibliography
\end{document}

答案3

还有一种可能性,如果使用 cite.sty 而不是 hyperref

\renewcommand\citeform[1]{\textcolor{green}{#1}}

它只会设置数字的颜色,而不会设置其他内容。

相关内容