amsmath 的问题

amsmath 的问题

这是我写的一份文档的序言,我总是收到错误 LaTeX 错误:C ommand \iint 已定义。

\RequirePackage{fix-cm}
%
\documentclass{svjour3}                     % onecolumn (standard format)
%
%\smartqed  % flush right qed marks, e.g. at end of proof
%
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{array}
\usepackage{xfrac}
\usepackage{enumitem}
\usepackage{wasysym}
\usepackage{multirow}
\usepackage{amsmath}`

我能做什么?冲突在哪里?

答案1

该包wasysym应该在amsmath 传递选项nointegrals(除非你真的想让多个积分符号wasysym接管)。

\RequirePackage{fix-cm}
%
\documentclass{svjour3}                     % onecolumn (standard format)
%
%\smartqed  % flush right qed marks, e.g. at end of proof
%
\usepackage{graphicx}
\usepackage{caption}
\usepackage{array}
\usepackage{xfrac}
\usepackage{enumitem}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage[nointegrals]{wasysym}
\usepackage{hyperref}

请注意,应该hyperref最后加载。

摘自手册wasysym

在此处输入图片描述

实际上,加载顺序相关的,正如你所发现的。

答案2

如果你像下面这样添加(并取消注释) \show命令,很容易看到命令被定义的点,在本例中是wasysym。你可以\let取消\relax定义它们,然后amsmath给出它的定义

\RequirePackage{fix-cm}
%
\documentclass{svjour3}                     % onecolumn (standard format)
%
%\smartqed  % flush right qed marks, e.g. at end of proof
%
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{array}
\usepackage{xfrac}
\usepackage{enumitem}
%\show\iint
\usepackage{wasysym}
%\show\iint
\let\iint\relax
\let\iiint\relax
\usepackage{multirow}
%\show\iint
\usepackage{amsmath}
%\show\iint

相关内容