我在 2018 年写了一篇文章,在 2019 年的另一篇论文中对其进行了改进,并在 2021 年晚些时候发表了第一篇论文。由于我使用的是 alpha 样式,因此说 [Me21] 出现在 [Me19] 之前听起来很奇怪。因此,我想显示 [Me18] 而不是 [Me21],并在参考书目中精确说明它于 2018 年在线出现并于 2021 年出版。我想这在某种程度上是可能的,因为它在其他论文中已经做过:
正确的做法是什么?我对 Bibtex 和 BibLatex 解决方案都很感兴趣,理想情况下希望它与 Zotero 兼容,这样我在从 Zotero 复制条目时就不需要进行太多肮脏的调整。
梅威瑟:
\documentclass[]{article}
\usepackage{filecontents}
\begin{filecontents}{biblio.bib}
@article{ABCD,
title = {My title},
author = {Its, Me},
date = {2021-03},
journaltitle = {My journal},
volume = {1},
number = {2},
pages = {3},
note = {First online appearance in arxiv:1234 (2018).},
}
\end{filecontents}
% BibLatex > Bibtex
\usepackage[backend=biber,style=trad-alpha]{biblatex}
\addbibresource{biblio.bib}
\begin{document}
I'd like to see [Its18] instead of~\cite{ABCD}.
\printbibliography
\end{document}
答案1
通过biblatex
,您可以使用字段shorthand
直接指定引用标签:
\documentclass[]{article}
\begin{filecontents}[overwrite]{biblio.bib}
@article{ABCD,
title = {My title},
author = {Its, Me},
date = {2021-03},
shorthand = {Its18},
journaltitle = {My journal},
volume = {1},
number = {2},
pages = {3},
note = {First online appearance in arxiv:1234 (2018).},
}
\end{filecontents}
% BibLatex > Bibtex
\usepackage[backend=biber,style=trad-alpha]{biblatex}
\addbibresource{biblio.bib}
\begin{document}
I'd like to see [Its18], and you do~\cite{ABCD}.
\printbibliography
\end{document}
答案2
我怀疑是否存在适用于所有 BibTeX 和风格的通用解决方案biblatex
。
对于biblatex
的alphabetic
样式,我可能会将文章首次在线发表的年份写成origdate
。默认情况下,origdate
标准样式不使用 ,但我们可以使用 使其出现在字母标签中\DeclareLabelalphaTemplate
。
\documentclass[]{article}
\usepackage[backend=biber,style=trad-alpha]{biblatex}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=3,strside=left,ifnames=1]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
\labelelement{
\field[strwidth=2,strside=right]{origyear}
\field[strwidth=2,strside=right]{year}
}
}
\begin{filecontents}{\jobname.bib}
@article{ABCD,
title = {My title},
author = {Its, Me},
date = {2021-03},
origdate = {2018},
journaltitle = {My journal},
volume = {1},
number = {2},
pages = {3},
note = {First online appearance in arxiv:1234 (2018).},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
I'd like to see [Its18] instead of~\cite{ABCD}.
\printbibliography
\end{document}