natbib 包错误

natbib 包错误

我一直使用常规 \cite 命令来引用。但现在我使用了“natbib”包,而不是 \citep 和 \citet,但这总是在它创建的 natbib.sty 文件中出现错误。我还收到错误“命令 \bibhang 已定义”。

有人对此有经验吗?

\documentclass[a4paper,12pt]{report}
\usepackage{graphicx}
\usepackage[backend=biber]{biblatex}
\usepackage{algorithm}
\usepackage{caption}
\usepackage[comma,authoryear]{natbib}
\bibliographystyle{ieeetr}
\addbibresource{bib/literature.bib}
\begin{document}[a4paper,12pt]

\chapter*{Declaration}

\chapter*{Abstract}

 \chapter*{List  of abbrevations and symbols}

 \tableofcontents

\chapter{Introduction}

as mentioned in \citet{england2002}

\section{Insurance industry}


\section{IBNR Claims and Claims Reserving}

\section{Link with GLM}


\section{Robustification and Problems}

\section{Applications}

\chapter{Body}

\chapter{Conclusion}

\printbibliography 
\end{document}

使用此.bib 文件:

@article{england2002,
title={Stochastic claims reserving in general insurance},
author={England, Peter D and Verrall, Richard J},
journal={British Actuarial Journal},
volume={8},
number={03},
pages={443--518},
year={2002},
publisher={Cambridge Univ Press}
}

答案1

您的示例代码存在几个问题。

  • 你应该立即开始移除这两个参数都来自document环境。指令应为

    \begin{document}
    

    而不是\begin{document}[a4paper,12pt]document环境确实不是document接受参数。向环境提供参数(可选或其他)不会带来任何好处。

  • 不要同时加载biblatex包和natbib包。选择其中一个,但并非两者兼而有之

  • 假设你想继续natbib(尽管@Johannes_B 有学识渊博的意见……),你需要观察ieeetr参考书目风格是不是与作者年份样式的引文标注兼容。因此,您应该使用natbib选项numbers和加载包comma不是 authoryearcomma。不要忘记删除指令\addbibresource{bib/literature.bib}并替换\printbibliography\bibliography{bib/literature}-- 注意:没有文件扩展名。顺便说一句,使用数字样式的引用标注时,\citet会给出警告信息;请改用\cite

  • 如果您确实需要或想要作者年份样式的引文标注以及 IEEE 样式的参考文献条目,我建议您切换到IEEEtranN参考书目样式。如果您选择这种方式,请务必numbers在加载时省略该选项natbib

    您的(稍微精简的)工作示例的输出如下。

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{lit.bib}
@article{england2002,
  title    = {Stochastic claims reserving in general insurance},
  author   = {England, Peter D and Verrall, Richard J},
  journal  = {British Actuarial Journal},
  volume   = {8},
  number   = {03},
  pages    = {443--518},
  year     = {2002},
  publisher= {Cambridge University Press}
}
\end{filecontents}

\documentclass[a4paper,12pt]{article} % just for this example
\usepackage[comma]{natbib}
\bibliographystyle{IEEEtranN}
\begin{document}

as mentioned in \citet{england2002}, \dots

\bibliography{lit}
\end{document}

相关内容