我目前正在写论文,在增加需要使用的包的复杂性时遇到了问题。我最初使用宏\cite{}
来做所有引用,但我需要更多功能,因此我选择了该natbib
包。不幸的是,当我尝试编译 tex 文件时,我收到以下错误:
/usr/local/texlive/2011/texmf-dist/tex/latex/natbib/natbib.sty:739: LaTeX Error: Command \citetext already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.739 ...ommand\citetext[1]{\NAT@open#1\NAT@close}
我认为该natbib
软件包可能与另一个已经定义密钥的软件包发生冲突\citetext
,但我怎么知道呢?我尝试了排除法,但无法找到有问题的软件包 - 如果真是这样的话 - 。软件包被导入到主 tex 文件中,并\input{packages}
包括:
%%%%%%%%%%%%%%%%%%%%%%
%% Declare packages %%
%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ccaption, graphicx, textcomp, tabularx, booktabs, longtable, rotating, lscape}
\DeclareGraphicsExtensions{.jpg, .eps, .png}
\usepackage{enumerate,latexsym,amsmath,amssymb, amsthm, algorithm, algorithmic, verbatim}
\usepackage{listings}
\usepackage{color}
% Use of & in the acronyms
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%%%%%%%%%%%%%%
%% Acronyms %%
%%%%%%%%%%%%%%
\usepackage[printonlyused,withpage]{acronym}
\newcommand{\listofacronymsname}{Acronyms}
\newcommand{\listofacronyms}{%
\chapter*{\listofacronymsname}%
\addcontentsline{toc}{chapter}{\listofacronymsname}%
\label{sec:acronyms}%
\markboth{\listofacronymsname}{\listofacronymsname}%
}
\usepackage[authoryear,round, nonamebreak]{natbib}
% Reference which pages the citation was referenced in
\usepackage[pagebackref, breaklinks]{hyperref}
\renewcommand*{\backref}[1]{[pp. #1]}
有人能想到为什么会出现这个错误吗?我真的被难住了。如果您需要更多信息,请告诉我。我知道这有点肤浅,但论文目前相当长,我不确定什么会有帮助。
干杯,克里斯托斯