TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to use align environment over eqnarray for typesetting my equations. However the publisher forces to use the iopart.cls as the article class file which, as they mentioned, is incompatible with amsmath.sty.

How can I somehow import align definition (or even other definitions too) from amsmath.sty while sticking to the document class of iopart.cls ?

share|improve this question
I found an iopart.cls here and read through the manual and the .cls file. It seems that the class file has its own definition of eqnarray. For additional fonts, the manual says you have to write \usepackage{iopams} which will include the style files: amsgen, amsfonts, amssymb, and amsbsy, all version 1995/01/01. Well, you can try \RequirePackage{amsmath} before \documentclass but it will not give you the same indentation when using iopart's eqnarray. I think there is a workaround but it's beyond my skills. :-) – hpesoj626 Jan 29 '13 at 7:41
The iopart class corrects the worst error in eqnarray. I'm afraid that amsmath is "take or leave": extracting one of the environments requires getting also a great part of the auxiliary macros. For instance, amsmath redefines the equation numbering system. – egreg Jan 29 '13 at 7:51
@ hpesoj626: Yes in fact, in their manual they explicitly said to avoid amsmath, and suggested using eqnarray. @ egreg: I didn't know the eqnarray of iopart is the corrected version. If this is the case, it might be unnecessary for me to switch to align! – M.Reza Jan 29 '13 at 13:02
up vote 4 down vote accepted

It's very unfortunate that the iopart class doesn't want amsmath, which is a robust package, very useful for mathematical writing.

Having eqnarray only for formatting multiline displays is a big hindrance, but there seems to be nothing else to do. However, the iopart version of eqnarray at least corrects the worst error in the spacing of the relation symbol used for the alignment.

share|improve this answer

Put following two lines just before \usepackage{amsmath}

\expandafter\let\csname equation*\endcsname\relax

\expandafter\let\csname endequation*\endcsname\relax

Now even though you have iopart.cls as class file chosen, you would still be able to use amsmath package without any error. It will go like..



\expandafter\let\csname equation*\endcsname\relax

\expandafter\let\csname endequation*\endcsname\relax

share|improve this answer
Welcome to TeX.SX! We usually prefer full answers, i.e. full examples which can be compiled, in conjunction with a screenshot. Please elaborate a little bit on your answer – Christian Hupfer Apr 11 '15 at 20:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.