使用作者/年份样式以优雅的方式使整个引文加粗

使用作者/年份样式以优雅的方式使整个引文加粗

下列的这个问题,我想用粗体显示参考书目中的具体参考资料。与上一个问题不同的是,我想使用abbrvnat参考书目样式。

当我使用该样式时,放在序言(下文)中的建议代码不起作用,abbrvnat但使用其中plain一种时它可以起作用。

\usepackage{xparse}
\ExplSyntaxOn

\clist_new:N \g_boldcite_list_clist
\cs_new:Npn \boldcite_checkkey:n #1
 {
  \clist_if_in:NnTF \g_boldcite_list_clist { #1 } { \bfseries } { \mdseries } \boldcite_bibitem:n {#1}
 }
\cs_set_eq:NN \boldcite_bibitem:n \bibitem

\RenewDocumentCommand{\bibitem}{m}
 {
  \boldcite_checkkey:n { #1 }
 }
\NewDocumentCommand{\boldreferences}{m}
 {
  \clist_gput_right:Nn \g_boldcite_list_clist { #1 }
 }
\ExplSyntaxOff

然后通过使用\boldreferences{key1,key2},选定的参考文献在参考书目中变为粗体。

(致谢:@埃格尔

上面的代码似乎对生成的.aux文件做了一些更改,并且取决于样式。“普通”.aux文件(不使用自定义代码)如下所示:

...
\bibcite{ref1}{{1}{year1}{{X et~al.}}{{authors}}}
\bibcite{ref2}{{2}{year2}{{Y et~al.}}{{authors}}}
\bibcite{ref3}{{3}{year3}{{Z et~al.}}{{authors}}}
...

使用具有样式的自定义代码plain,我得到以下结果:

...
\bibcite{ref1}{{1}{}{{}}{{}}}
\bibcite{ref2}{{2}{}{{}}{{}}}
\bibcite{ref3}{{3}{}{{}}{{}}}
...

再次使用自定义代码,和abbrvnatapalike或(我认为)所有需要作者/年份的样式:

...
\bibcite{[}{{1}{}{{}}{{}}}
\bibcite{[}{{2}{}{{}}{{}}}
\bibcite{[}{{3}{}{{}}{{}}}
...

我怀疑某些东西与 Latex3 和一些特殊字符()有关[,但我不知道如何解决它。

我正在使用 natbib 和 xelatex。

相关内容