citep和citet在使用natbib包时无法正常工作

12

我正在使用latex写一份文档,有一个大的.bib文件和大量引用。我想以[作者,年份]格式显示引用,并使用natbib包,但无法让citepcitet工作,尽管简单的cite可以正常工作。 我得到的错误是:

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

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

令人惊奇的是,如果我在主.tex文件中只有文本而没有使用\input{<file>}命令,则所有引用命令都能正常工作。

非常感谢任何帮助。

工作版本如下:

\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,但是会出现上述错误,尽管简单的 cite 可以正常工作。

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


1
如果您不知道的话,Tex / latex 有一个更专注的问答网站 - http://tex.stackexchange.com/ - Jagmag
2个回答

19
如果 \citep 和 \citet 不能使用,那么你可能没有加载 natbib。
来自我当前正在工作的文档:
 \usepackage[authoryear,round,longnamesfirst]{natbib}

您可能希望有不同的选项 -- 请参考natbib 的便利参考表了解详情。


你能否提供一个小的自包含的示例来说明问题? - Dirk Eddelbuettel
我已经像这样加载了natbib包:\usepackage[square,sort]{natbib}。我将相同的.tex和.bib文件复制到另一个目录,并在.tex文件本身中编写了一些引用(citep和citet),它们正常工作。谢谢回答。 - Dronacharya
没关系……问题自己解决了。我从来不知道出了什么问题。 - Dronacharya

5

您只需要包含\usepackage[square,sort]{natbib}

删除\usepackage{cite}后,它将起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接