引用ハイパーリンクの色は引用キーによって異なります

引用ハイパーリンクの色は引用キーによって異なります

私は博士論文を執筆中で、biber と biblatex を使用して参考文献と出版物のリストの両方を論文に含めることができました。論文で私の出版物の 1 つが引用されている場合、\cite{...} 番号を異なる色で強調表示するのは面白いと思いました。たとえば、\cite{Amariti:2023hev} の出力を緑ではなくオレンジにしたいです。

論文の基本的な構成は以下のとおりです。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{xcolor}
\definecolor{newred}{rgb}{0.8, 0.0, 0.0}
\definecolor{ao}{rgb}{0.0, 0.5, 0.0}

\usepackage{hyperref}
\hypersetup{
    colorlinks = true,
    linkcolor= newred,
    citecolor= ao,
    linktoc=page
} 
\usepackage[backend=biber, style=authoryear]{biblatex}

\DeclareSourcemap{
  \maps[datatype=bibtex, overwrite]{
    \map{
      \perdatasource{bib1.bib}
      \step[fieldset=keywords, fieldvalue={, }, appendstrict]
      \step[fieldset=keywords, fieldvalue=one, append]
    }
    \map{
      \perdatasource{bib2.bib}
      \step[fieldset=keywords, fieldvalue={, }, appendstrict]
      \step[fieldset=keywords, fieldvalue=two, append]
    }
  }
}

\begin{filecontents}{bib1.bib}
@article{Amariti:2023hev,
    author = "Amariti, Antonio and Morgante, Davide and Pasternak, Antoine and Rota, Simone and Tatitscheff, Valdo",
    title = "{One-form symmetries in $\mathcal{N} = 3$ S-folds}",
    eprint = "2303.07299",
    archivePrefix = "arXiv",
    primaryClass = "hep-th",
    doi = "10.21468/SciPostPhys.15.4.132",
    journal = "SciPost Phys.",
    volume = "15",
    number = "4",
    pages = "132",
    year = "2023"
}
}
\end{filecontents}
\begin{filecontents}{bib2.bib}
@article{Gaiotto:2012xa,
    author = "Gaiotto, Davide and Rastelli, Leonardo and Razamat, Shlomo S.",
    title = "{Bootstrapping the superconformal index with surface defects}",
    eprint = "1207.3577",
    archivePrefix = "arXiv",
    primaryClass = "hep-th",
    doi = "10.1007/JHEP01(2013)022",
    journal = "JHEP",
    volume = "01",
    pages = "022",
    year = "2013"
}
\end{filecontents}
\addbibresource{bib1.bib}
\addbibresource{bib2.bib}

\begin{document}
I want the color of \cite{Gaiotto:2012xa} from bib2 to be the default (green) and the one of \cite{Amariti:2023hev} from bib1 to be another color like orange.

\printbibliography[title={First Bibliography}, keyword=one]
\printbibliography[title={Second Bibliography}, keyword=two]
\end{document}

さらに、論文全体に散在する少数の引用に対してだけ、別の \cite コマンドを定義したくありません。

このようなことは可能でしょうか?

答え1

使用できます

\AtEveryCitekey{\ifkeyword{two}
     {\hypersetup{citecolor=ao}}
     {\hypersetup{citecolor=orange}}}

ここに画像の説明を入力してください

関連情報