如何以不同的颜色打印未引用的物品?

如何以不同的颜色打印未引用的物品?

有没有一种简单的方法可以让 LaTeX 使用 bibtex(而不是 biblatex)来打印文中未引用的参考文献,并且使用与引用的参考文献不同的颜色/格式?

因此,在下面的 MWE 中,我希望在参考列表中以不同的颜色列出“令人兴奋”的论文(自动)。

谢谢!

乳胶:

\documentclass{article}
\usepackage{natbib}
\bibliographystyle{apalike}
\begin{document}    
\nocite{*}
\citet{boring} is boring.  
\bibliography{simple}
\end{document}

简单.bib:

@article{boring,
 title={Some idiotic paper},
 author={A. Boring Author},
 year={2014},
 journal={Dumb and Dumber}
}

@article{exciting,
 title={An exciting paper},
 author={Smart Person},
 year={2014},
 journal={Excitement}
}

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{natbib}
\usepackage{color}
\bibliographystyle{apalike}
\makeatletter
\let\oldcitation\citation
\def\citation#1{%
\global\@namedef{ZZ#1}{}%
\oldcitation{#1}}
\let\oldbibitem\bibitem
\let\bibcolor\relax
\renewcommand\bibitem[2][]{%
\expandafter\ifx\csname ZZ#2\endcsname\relax
\color{red}%
\else
\color{black}%
\fi
\oldbibitem[#1]{#2}}%
\makeatother

\begin{document}    
\nocite{*}
\citet{boring} is boring.  
\bibliography{simple}
\end{document}

答案2

正如评论中指出的那样,David 的答案不适用于像 这样的多引文\cite{boring,exciting}。这里有一个调整来让它工作:

\makeatletter
\let\oldcitation\citation
\def\citation#1{%
\@for\tmp:=#1\do{%
\global\@namedef{ZZ\tmp}{}%
\oldcitation{\tmp}}}
\let\oldbibitem\bibitem
\let\bibcolor\relax
\renewcommand\bibitem[2][]{%
\expandafter\ifx\csname ZZ#2\endcsname\relax
\color{red}%
\else
\color{black}%
\fi
\oldbibitem[#1]{#2}}%
\makeatother

相关内容