抱歉,如果这是一个重复的问题,我发现甚至很难用谷歌搜索我正在尝试做的事情!因此,我不得不承认我自己并没有真正尝试过很多,因为我甚至不知道从哪里开始。
在我的文章中,我经常引用 bibtex 项目,因此采取了编写“\cite{someone2020}(以下简称 paper1)”的标准程序。现在我想做两件事:
我希望每次我输入“paper1”时都能有文本超链接,就像它是常规的 bib 条目一样。也就是说,如果单击它,它会跳转到相关的 bib 条目。
如果可以将其放入引用“组”,我也希望如此。因此,像 \ref{someone2020, bob, betty, tom}”将给出“paper1, Bob 1961, betty 2030, tom et al. 1945”。
希望这是有意义的。
答案1
文档类的用户指南mnras
指出——参见第 2 页左侧栏——所有使用该mnras
文档类的论文都应指定选项usenatbib
。那么,我们假设 OP 文档的第一行是
\documentclass[usenatbib]{mnras}
文档mnras
类建议(但显然没有要求) 使用mnras
书目样式。
引文管理包natbib
提供了一种直接的方式来“别名”引文调用。假设有一个带有键的条目someone2020
。通过放置指令
\defcitealias{someone2020}{paper1}
在序言中,\citetalias{someone2020}
在文档正文中执行将产生paper1
,而 \citepalias{some2020} 将产生(paper1)
。
\documentclass[usenatbib]{mnras}
\begin{filecontents}[overwrite]{mybib.bib}
@misc{someone2020,author="Anne Author",title="Thoughts",year=2020}
@misc{bob,author="Bob",title="Thoughts",year=2021}
@misc{betty,author="Betty",title="Thoughts",year=2022}
@misc{tom,author="Tom and Dick and Harry",title="Thoughts",year=2023}
\end{filecontents}
\bibliographystyle{mnras}
\setcitestyle{citesep={,}} % match the OP's citation callout preference
\defcitealias{someone2020}{paper1}
%\usepackage{hyperref}
\begin{document}
As argued in \citet{someone2020} (hereafter: \citetalias{someone2020}), \dots
\citep{someone2020, bob, betty, tom}
(\citetalias{someone2020}, \citealp{bob}, \citealp{betty}, \citealp{tom})
\bibliography{mybib}
\end{document}