使用 natbib 和 thebibliography

使用 natbib 和 thebibliography

我正在嘗試建立一個引用,例如:

這些書(Charles,1985;Smith,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}

(查爾斯,1985 年;史密斯,1989 年)


也就是說,使用.bib檔案和 BibTeX(或biblatexBiber:bibtex 與 biber 和 biblatex 與 natbib)而不是手冊thebibliography。條目可以更輕鬆地重複使用和重新設計樣式,BibTeX(或 Biber)負責排序。

相關內容