问题
I am using three different background colors to highlight edits I am doing against three different types of comments received for my submitted article to a journal. I am successful in highlighting the text and citations and references in main body of the paper. However, I was not successful in highlighting the citations in the Reference section. I would like to highlight them using same background color as in the text.
\documentclass[journal]{IEEEtran}
\ifCLASSINFOpdf
\else
\fi
%\usepackage[left=0.5in, right=0.5in,top=0.1in,bottom=0.1in]{geometry}
\usepackage{graphicx}
\usepackage{float}
\usepackage[skip=2pt,font=scriptsize]{caption} %\usepackage{caption}
\usepackage{subcaption}
\usepackage{array}
\usepackage{mdwmath}
\usepackage{mdwtab}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage{siunitx}
%\usepackage{xcolor, soul}
%\sethlcolor{lightgray}
\usepackage{cancel}
\usepackage{amssymb}% http://ctan.org/pkg/amssymb
\usepackage{pifont}% http://ctan.org/pkg/pifont
%\usetikzlibrary{calc,matrix}
\usepackage{color,soul}
\usepackage{cite}
\newtheorem{theorem}{Theorem}{}
\newtheorem{corollary}{Corollary}{}
\newtheorem{remark}{Remark}{}
\hyphenation{op-tical net-works semi-conduc-tor}
%% different color for different reviewer \textcolor{r1}{text}
\usepackage[dvipsnames]{xcolor}
\usepackage{soul}
\colorlet{r1}{ForestGreen!20}
\colorlet{r2}{Red!20}
\colorlet{r3}{RoyalPurple!20}
%\definecolor{r1}{r1!50}%{rgb}{0.8, 0.5, 0.2}
%\definecolor{r2}{rgb}{0.61, 0.87, 1}
%\definecolor{r3}{rgb}{1, 0.87, 0.8}
\newcommand{\Hl}[2][\empty]{%
\ifx#1\empty
\else
\sethlcolor{#1}%
\fi
\hl{#2}}
%% Highlighting the citations and references as well using different background color
\soulregister\Hl{7}
\soulregister\cite7
\soulregister\ref7
\soulregister\pageref7
%% Highlighting citations in the Reference section using different background color
\usepackage{etoolbox}
\makeatletter
\pretocmd\@bibitem{\csname keycolor#1\endcsname}{}{\fail}
\newcommand\citecolor[1]{\@namedef{keycolor#1}{\hspace*{-\labelwidth}\hspace*{-\labelsep}{\color{yellow}\rule[-0.3em]{\linewidth}{1\baselineskip}}\vspace*{\itemsep}\vspace*{-\baselineskip}}}
\makeatother
\citecolor{miguel14anestimator}
\begin{document}
I want to highlight \Hl[r1]{\cite{cite1}}, \Hl[r2]{\cite{cite2}} ,\Hl[r3]{\cite{cite3}} in Reference section using appropriate colors.
\bibliography{BIBfile}{}
\bibliographystyle{IEEEtran}
\end{document}
My present output: Highlights the citations in default yellow color that too by producing two white spaces.
My citations stored in seperate bib file as
@ARTICLE{cite1,
author={M. {Carrasco} and F. {Mancilla-David} and R. {Ortega}},
journal={IEEE Trans. Ind. Electron.},
title={An Estimator of Solar Irradiance in Photovoltaic Arrays With Guaranteed Stability Properties},
year={2014},
volume={61},
number={7},
pages={3359-3366},}
@ONLINE{cite2,
author={Licor},
title={Pyranometer products specifications},
year={2020},
month={Apr.},
url={https://www.licor.com/documents/3bjwy50xsb49jqof0wz4}
}
@article{cite3,
title = "An assessment of series resistance estimation techniques for different silicon based SPV modules",
journal = "Renewable and Sustainable Energy Reviews",
volume = "98",
pages = "199 - 216",
year = "2018",
author = "Rashmi Singh and Madhu Sharma and Rahul Rawat and Chandan Banerjee"
}
回答1:
I added an optional argument to \citecolor
that allows you to specify how many lines each bibitem has
\documentclass[journal]{IEEEtran}
\ifCLASSINFOpdf
\else
\fi
%\usepackage[left=0.5in, right=0.5in,top=0.1in,bottom=0.1in]{geometry}
\usepackage{graphicx}
\usepackage{float}
\usepackage[skip=2pt,font=scriptsize]{caption} %\usepackage{caption}
\usepackage{subcaption}
\usepackage{array}
\usepackage{mdwmath}
\usepackage{mdwtab}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage{siunitx}
%\usepackage{xcolor, soul}
%\sethlcolor{lightgray}
\usepackage{cancel}
\usepackage{amssymb}% http://ctan.org/pkg/amssymb
\usepackage{pifont}% http://ctan.org/pkg/pifont
%\usetikzlibrary{calc,matrix}
\usepackage{color,soul}
\usepackage{cite}
\newtheorem{theorem}{Theorem}{}
\newtheorem{corollary}{Corollary}{}
\newtheorem{remark}{Remark}{}
\hyphenation{op-tical net-works semi-conduc-tor}
%% different color for different reviewer \textcolor{r1}{text}
\usepackage[dvipsnames]{xcolor}
\usepackage{soul}
\colorlet{r1}{ForestGreen!20}
\colorlet{r2}{Red!20}
\colorlet{r3}{RoyalPurple!20}
%\definecolor{r1}{r1!50}%{rgb}{0.8, 0.5, 0.2}
%\definecolor{r2}{rgb}{0.61, 0.87, 1}
%\definecolor{r3}{rgb}{1, 0.87, 0.8}
\newcommand{\Hl}[2][\empty]{%
\ifx#1\empty
\else
\sethlcolor{#1}%
\fi
\hl{#2}}
%% Highlighting the citations and references as well using different background color
\soulregister\Hl{7}
\soulregister\cite7
\soulregister\ref7
\soulregister\pageref7
%% Highlighting citations in the Reference section using different background color
\usepackage{etoolbox}
\makeatletter
\pretocmd\@bibitem{\csname keycolor#1\endcsname}{}{\fail}
\newcommand\citecolor[3][1]{\@namedef{keycolor#3}{\hspace*{-\labelwidth}\hspace*{-\labelsep}{\color{#2}\rule[-0.3em]{\dimexpr\linewidth+\labelwidth+\labelsep\relax}{#1\baselineskip}}\vspace*{\itemsep}\vspace*{-#1\baselineskip}}}
\makeatother
\citecolor[3]{r1}{cite1}
\citecolor[2]{r2}{cite2}
\citecolor[3]{r3}{cite3}
\begin{filecontents*}[overwrite]{\jobname.bib}
@article{einstein,
author = {Einstein, A.},
title = {Die Grundlage der allgemeinen Relativitätstheorie},
journal = {Annalen der Physik},
volume = {354},
number = {7},
doi = {10.1002/andp.19163540702},
pages = {769--822},
year = {1916}
}
@ARTICLE{cite1,
author={M. {Carrasco} and F. {Mancilla-David} and R. {Ortega}},
journal={IEEE Trans. Ind. Electron.},
title={An Estimator of Solar Irradiance in Photovoltaic Arrays With Guaranteed Stability Properties},
year={2014},
volume={61},
number={7},
pages={3359-3366},}
@ONLINE{cite2,
author={Licor},
title={Pyranometer products specifications},
year={2020},
month={Apr.},
url={https://www.licor.com/documents/3bjwy50xsb49jqof0wz4}
}
@article{cite3,
title = "An assessment of series resistance estimation techniques for different silicon based SPV modules",
journal = "Renewable and Sustainable Energy Reviews",
volume = "98",
pages = "199 - 216",
year = "2018",
author = "Rashmi Singh and Madhu Sharma and Rahul Rawat and Chandan Banerjee"
}
\end{filecontents*}
\begin{document}
normal cite: \cite{einstein}
I want to highlight \Hl[r1]{\cite{cite1}}, \Hl[r2]{\cite{cite2}} ,\Hl[r3]{\cite{cite3}} in Reference section using appropriate colors.
\bibliography{\jobname}
\bibliographystyle{IEEEtran}
\end{document}
来源:https://stackoverflow.com/questions/61252125/latex-highlighting-the-citations-in-the-reference-section-using-different-backgr