Цвет гиперссылки цитаты отличается в зависимости от ключа цитаты

Цвет гиперссылки цитаты отличается в зависимости от ключа цитаты

Я пишу свою докторскую диссертацию и мне удалось включить в нее как библиографию, так и список публикаций с использованием biber и biblatex. Я подумал, что было бы интересно выделить, когда одна из моих публикаций цитируется в диссертации, раскрасив для них номер \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}}}

введите описание изображения здесь

Связанный контент