Natbib 错误。未提供 \author

Natbib 错误。未提供 \author

我正在使用natbibJabRef为我的项目制作参考书目。

它工作正常,但是在尝试输入软件的参考(@software{,)后,它开始给我这个错误,该错误一直存在,其中参考以数字形式出现。

Package natbib Error: Bibliography not compatible with author-year citations. ...mand\NAT@force@numbers{}\NAT@force@numbers

我修复了 bib 文件,因为 JabRef 告诉我有些作者的拼写不正确,但这并不能解决问题。

我唯一能想到的是,在某些情况下,期刊名称中会出现“检测到缩写”的消息,因为期刊的缩写与全名(Cell= Cell)相匹配,但我不知道如何解决这个问题,或者这是否是产生错误的原因。

围兜参赛示例software

@software{hadoop,
  author = {{Apache Software Foundation}},
  title = {Hadoop},
  url = {https://hadoop.apache.org},
  version = {0.20.2},
  date = {2010-02-19},
}

但是,我现在的 bib 文件中没有任何软件条目,但错误一直出现。

我在用着:

    \bibliographystyle{apalike}

下面我列出了我正在使用的所有软件包:

\documentclass[12pt, oneside]{article}
\usepackage[utf8]{inputenc} %Escribir en castellano.
\usepackage{mathptmx }%Adobe Times Roman (or equivalent) as default font
\usepackage{titlesec} %Selection from various title styles
\usepackage[letterpaper,left=3.5cm,right=3cm,top=3cm,bottom=3cm]{geometry} %control de tamaño de papel y márgenes
\usepackage{graphicx} %para poder incluir figuras 
\usepackage{siunitx} %para notación científica
\usepackage{float} %complemento para figura
\usepackage{import} %para poder dividir el texto en varios archivos
\usepackage{natbib} %para la bibliografía
\usepackage{setspace} \onehalfspacing %Control del espacio entre lineas
\usepackage{xcolor} %Para cambiar el color de texto
\usepackage{listings}
\usepackage{pgfgantt} %Diagrama de Gantt
\usepackage[spanish]{babel} 
\lstset{basicstyle=\ttfamily,
    showstringspaces=false,
    commentstyle=\color{red},
    keywordstyle=\color{blue}
}

答案1

这里涉及几个问题。

首先,正如克里斯托弗回答,您的参考书目样式apalike在技术上并不知道@software条目类型。因此它将回退到@misc。(biblatex样式通常知道,@software因为它是那里标准数据模型的一部分。)这不一定是大问题。您可以切换到@misc以避免警告,或者您可以坚持@software使用更语义化的名称。

其次,更重要的apalike是(我相信所有 BibTeX 样式都一样)不知道字段date(同样date是来自biblatex世界的东西)。BibTeX 样式通常只有yearmonth字段。下面将编译

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{natbib}

\begin{filecontents}{\jobname.bib}
@software{hadoop,
  author  = {{Apache Software Foundation}},
  title   = {Hadoop},
  url     = {https://hadoop.apache.org},
  version = {0.20.2},
  year    = {2010},
  month   = feb,
}
\end{filecontents}


\begin{document}
Lorem \citep{hadoop}

\bibliographystyle{apalike}
\bibliography{\jobname}
\end{document}

第三,这可能是一个小问题,它apalike不是专门为与 一起使用而设计的natbib。这就是为什么没有 会year导致错误。如果您使用包中的样式natbib(例如\bibliographystyle{plainnat}缺少年份)不会导致错误。通常,您可以将apalikenatbib一起使用,通常会得到良好的结果,但这是存在一些问题的情况之一。

请注意,这里建议的两种样式都不知道该version字段,因此它将被忽略。如果您想要/必须坚持使用 BibTeX,您可能必须尝试使用​​可用字段(例如howpublished等)以获得此条目的良好输出。

总体而言,该条目看起来是为而设计的biblatex

答案2

@Software来自 biblatex软件包它需要 biblatex + biber 作为后端。

如果你想坚持使用 BibTeX,你需要将 bib 条目更改为@Misc

相关内容