即使使用natbib包,citep和citet也无法正常工作

时间:2010-12-09 01:41:47

标签: latex biblatex

我正在写一个乳胶文件,我有一个很大的.bib文件和大量的引用。 我希望以[作者,年份]格式引用并使用 natbib 包,但无法获得 citep citet 工作,虽然简单的引用工作正常。我得到的错误是:

! Undefined control sequence.
l.3 lets cite \citet{cayton05}

我正在使用 Ubuntu texlive 包并使用\input{<file>} latex命令将章节输入主.tex文件。

令人惊讶的是,如果我在主.tex文件中只有文本,那么代替使用\input{<file>},那么所有的cite命令都在工作。

任何帮助都将受到高度赞赏。

工作版本是这样的:

\usepackage{cite} 
\usepackage[square,sort]{natbib}
%% lot of other packages and formatting %%

\begin{document}

\chapter{Testing citations}

\begin{enumerate}
  \item this is the first citation \cite{belkin02}.
  \item this is the second citation \citep{belkin02}.
  \item this is the third citation \cite{shlens03}.
\end{enumerate}



\phantomsection\addcontentsline{toc}{chapter}{Bibliography}
\begin{spacing}{1.5}
\nocite{*}
\bibliographystyle{apalike}
\bibliography{testnb.bib}
\end{spacing}

\end{document}

在真正的.tex文件中,我从另一个.tex文件输入章节文本,而citepcitet将无法解决上述错误,尽管是{{1}将工作正常。

我之前忘了提到我使用普通编号的参考书目样式,一切正常,所以输入.tex文件没有错误。

2 个答案:

答案 0 :(得分:18)

如果\citep\citet不起作用,那么您可能无法加载natbib

从我目前正在处理的文件:

 \usepackage[authoryear,round,longnamesfirst]{natbib}

您可能需要不同的选项 - 有关详细信息,请参阅handy reference sheet for natbib

答案 1 :(得分:3)

您应该只包含\usepackage[square,sort]{natbib}

删除\usepackage{cite}后会有效。