这个问题与以下内容相关问题。
我想知道是否存在一种方法来配置该命令\acroauthor
,以便它在使用一次时生成(结构化信息标准促进组织,2012)并且在第二次使用时生成(OASIS,2012)?
答案1
您必须稍微修改一下宏\acroauthor
才能得到正确的结果:
\begin{filecontents*}{\jobname.bib}
@article{oasis,
author={{\acroauthor{Organization for the Advancement of Structured Information Standards}{OASIS}}},
title={Some title},
journal={J. Something},
year={2012},
}
\end{filecontents*}
\documentclass{article}
\usepackage[authoryear]{natbib}
\usepackage{etoolbox}
\newif\ifabbreviation
\pretocmd{\thebibliography}{\global\abbreviationfalse}{}{}
\AtBeginDocument{\global\abbreviationfalse}
\DeclareRobustCommand\acroauthor[2]{%
\ifabbreviation #2\else #1\global\abbreviationtrue\fi}
\begin{document}
Here it is \citep{oasis}
A second time \citep{oasis}
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
这将获得所需的输出。