使用 biblatex 使期刊名称在文本中以简短形式出现,在参考书目中以完整形式出现

使用 biblatex 使期刊名称在文本中以简短形式出现,在参考书目中以完整形式出现

我有一个参考书目文件,其中包含期刊名称字段中的定义,例如\pra,并且我在我的文件中将其定义为\def \pra {Phys. Rev. A},这正是我想要的参考书目。

现在我还希望能够有类似的命令\citearticleshort,它可以插入期刊名称的简写,例如在本例中为 PRA,加上卷号和可能的页码。

我怎样才能\pra在一种情况下扩展到 Phys. Rev. A,在另一种情况下扩展到 PRA?我看到 biblatex 中有类似映射的功能,但我不知道如何使用它来解决我的问题。

答案1

biblatex\ifcitation\ifbibliography测试分别检查我们是否在引文或参考书目中。

在你的情况下,我们可以定义\pra

\newcommand*{\pra}{%
  \ifcitation
    {PRA}
    {Phys. Rev. A}}

在引用中扩展\pra为“PRA”,在其他地方扩展为“Phys. Rev. A”(尤其是在参考书目中)。

平均能量损失

\documentclass{article}
\usepackage[style=authoryear,backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{pra,
  author = {Anne Uthor},
  title = {Title},
  journal = {\pra},
  year = {2008},
  volume = {15},
  number = {7},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\newcommand*{\pra}{\ifcitation{PRA}{Phys. Rev. A}}

\begin{document}
\fullcite{pra}

\printbibliography
\end{document}

在此处输入图片描述

相关内容