使用“biblatex”突出显示参考书目中的特定条目

使用“biblatex”突出显示参考书目中的特定条目

在上一个主题中 (突出显示特定的参考书目条目),提问者正在寻找一种为特定条目着色的方法。

提供的解决方案允许使用\DeclareBibliographyCategory和为任何所需的书目条目选择任意颜色\AtEveryBibitem。我们想要着色的条目可以使用明确指定\addtocategory结果如下

在此处输入图片描述

我想应用非常相似的东西,除了我不想指定书目条目的颜色。相反,我希望整个条目用特定的颜色突出显示

\begin{filecontents*}{sample.bib}
@article{aldaoudeyeh2016,
    title={{Photovoltaic-battery scheme to enhance PV array characteristics in partial shading conditions}},
    author={Aldaoudeyeh, Al-Motasem},
    journal={IET Renewable Power Generation},
    volume={10},
    number={1},
    pages={108--115},
    year={2016},
    publisher={IET}
}
@ARTICLE{wu2017,
    title={{Assessing Impact of Renewable Energy Integration on System Strength Using Site-Dependent Short Circuit Ratio}},
    author={Wu, Di and Li, Gangan and Javadi, Milad and Malyscheff, Alexander M and Hong, Mingguo and Jiang, John Ning},
    journal={IEEE Transactions on Sustainable Energy},
    year={2017},
    publisher={IEEE}
}
@article{wu2019method,
    title={A method to identify weak points of interconnection of renewable energy resources},
    author={Wu, Di and Aldaoudeyeh, Al~Motasem and Javadi, Milad and Ma, Feng and Tan, Jin and Jiang, John N and others},
    journal={International Journal of Electrical Power \& Energy Systems},
    volume={110},
    pages={72--82},
    year={2019},
    publisher={Elsevier}
}
\end{filecontents*}


\documentclass{book}


\usepackage[x11names]{xcolor}

\usepackage{hyperref}
\hypersetup{citecolor=DodgerBlue3, citebordercolor=DodgerBlue3, colorlinks=true}

\usepackage[style=alphabetic]{biblatex}
\addbibresource{sample.bib}

        \DeclareBibliographyCategory{highlight}
        \AtEveryBibitem{%
            \ifcategory{highlight}%
            {\color{SlateBlue3}}%
            {}%
            }

\begin{document}

\addtocategory{highlight}{aldaoudeyeh2016}

\cite{aldaoudeyeh2016}

\nocite{*}

\printbibliography

\end{document}

答案1

我可以让 的soul突出显示命令在biblatex参考书目中工作。soul并且ulem它们可以接受的参数非常有限。如果我们设法将整个参考书目条目作为参数传递给这些命令(这​​已经是一项不简单的任务),它们将作为参数获得的代码将不是这些命令可以成功使用的形式。

使用 BibTeX,您的机会就更好了,因为那里的参考书目项目基本上是可以排版的普通文本。

也可以看看如何在 biblatex 中为整个 bibitem 加下划线?自从那个答案写出来后,马塞尔·克鲁格已经发布了软件包lua-ul(例如https://tex.stackexchange.com/a/446488/35864soul), 这样就可以很容易地用 LuaLaTeX 重现的行为\hl

以下 MWE必须与LuaLaTeX一起运行,产生

\documentclass{article}
\usepackage[x11names]{xcolor}
\usepackage[style=alphabetic]{biblatex}
\usepackage{luacolor,lua-ul}
\usepackage[colorlinks]{hyperref}

\DeclareBibliographyCategory{highlight}

\makeatletter
% This relies on the internal definition of \highLight
% in lua-ul.
% It might be safer to define a new \newunderlinetype ourselves.
\newcommand*{\beginHighLight}[1][\luaul@highlight@color]{%
  \luaul@setcolor{#1}%
  \@highLight}
\makeatother

\AtEveryBibitem{%
  \ifcategory{highlight}%
    {\beginHighLight}%
    {}%
}

\addbibresource{biblatex-examples.bib}

\begin{document}
\addtocategory{highlight}{sigfridsson}

\cite{sigfridsson,worman,nussbaum}

\printbibliography
\end{document}

突出显示的参考书目条目

相关内容