使用 natbib 和 thebibliography

使用 natbib 和 thebibliography

我正在尝试创建如下引用:

这些书(查尔斯,1985 年;史密斯,1989 年)都很棒。

通过使用包natbib

\begin{thebibliography}{99}

\bibitem[(Charles, 1985)]{Charles85}

\bibitem[(Smith, 1989)]{Smith89}

\end{thebibliography}{}

但该命令\citep{Charles85,Smith89}似乎不起作用。

答案1

natbib需要可选参数中的作者和年份信息\bibitem采用特殊格式,以便可以解析。natbib.sty在注释中解释可能的格式

 % If author-year citations are selected, \bibitem must have one of the
 %   following forms:
 %   \bibitem[Jones et al.(1990)]{key}...
 %   \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}...
 %   \bibitem[Jones et al., 1990]{key}...
 %   \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones
 %       et al.}{1990}]{key}...
 %   \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}...
 %   \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}...
 %   \bibitem[\protect\citename{Jones et al., }1990]{key}...
 %   \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}...

问题中使用的格式

\bibitem[(Charles, 1985)]{Charles85}

不属于受支持的格式。让信息易于理解的最简单方法natbib可能是删除括号,使其变为

\bibitem[Charles, 1985]{Charles85}

natbib或者,您可以使用标准.bst文件使用的格式

\bibitem[Charles(1985)]{Charles85}

总共

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


\begin{document}
\citep{Charles85,Smith89}

\begin{thebibliography}{99}

\bibitem[Charles, 1985]{Charles85} Anne Charles: \emph{Title}. 1985

\bibitem[Smith, 1989]{Smith89} Jane Smith: \emph{Another Title}. 1989

\end{thebibliography}
\end{document}

(Charles,1985;Smith,1989)


.bib话虽如此,使用文件和 BibTeX (或biblatex和 Biber)通常更舒服:bibtex 与 biber 以及 biblatex 与 natbib 的比较) 而不是手册thebibliography。条目可以更轻松地重复使用和重新设计,并且 BibTeX (或 Biber) 负责排序。

相关内容