natbib:引用有多个作者时出错`未定义控制序列。 \cite{citationkey}`

natbib:引用有多个作者时出错`未定义控制序列。 \cite{citationkey}`

我尝试使用informs2014书目格式Undefined control sequence,但当引用中有多个作者时,我总是收到错误。MWE:

main.tex

\documentclass{scrartcl}

\usepackage{natbib}

\begin{document}

\cite{citationkey}

\bibliographystyle{informs2014}
\bibliography{references}

\end{document}

references.bib

@article{citationkey,
  title={Something important},
  author={Big Guy and Another Big Guy},
  journal={Prestigious Journal},
  volume={47},
  number={7},
  pages={966--978},
  year={2001},
  publisher={Institute}
}

错误:

Undefined control sequence. \cite{citationkey}
Undefined control sequence. ... \protect\BIBand{} Guy(2001)}]{citationkey}

令我困惑的是,我使用书目样式文件已有一段时间了,以前从未遇到过这个问题。

答案1

正如错误所说,问题在于未定义\BIBand用于多作者引用的命令。

informs2014.bst文件中这里我们可以找

FUNCTION {bbl.and}
{ "\protect\BIBand{}"}

因此该命令\BIBand正在使用中。因此应该定义某处

Management-Science-template.tex文件中(也来自这里) 我们可以找

% Natbib setup for author-year style
\usepackage{natbib}
 \bibpunct[, ]{(}{)}{,}{a}{}{,}%
 \def\bibfont{\small}%
 \def\bibsep{\smallskipamount}%
 \def\bibhang{24pt}%
 \def\newblock{\ }%
 \def\BIBand{and}%?

因此,如果您不打算使用他们的模板,您必须将上述命令复制到您的序言中,并且一切都应该按预期工作和格式化。

相关内容