我想使用align
环境eqnarray
来排版我的方程式。但是出版商强制使用iopart.cls
作为文章类文件,正如他们提到的,它与不兼容amsmath.sty
。
我怎样才能以某种方式导入align
定义(甚至其他定义)同时amsmath.sty
坚持文档类iopart.cls
?
答案1
非常不幸的是,该iopart
班级不想要amsmath
,这是一个强大的包,对于数学写作非常有用。
仅用于eqnarray
格式化多行显示是一个很大的障碍,但似乎没有其他办法。不过,iopart
的版本eqnarray
至少纠正了用于对齐的关系符号间距中最严重的错误。
答案2
将以下两行放在前面\usepackage{amsmath}
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
现在,即使您已iopart.cls
选择类文件,您仍然可以使用amsmath
包而不会出现任何错误。它将像...一样运行。
\documentclass[12pt]{iopart}
\usepackage{iopams}
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
\usepackage{amsmath}
答案3
您可以在方程中使用数组。但是,这不会为每一行提供标签。
\begin{equation}
\setlength\arraycolsep{0.5ex}
\begin{array}[rl]
E & = mc^2 \\
E & = h \nu
\end{array}
\end{equation}
添加该线\setlength\arraycolsep{0.5ex}
是为了减少列之间的间距。