我有一个参考书目文件,其中包含期刊名称字段中的定义,例如\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}