I tried creating my own class based on amsart, like this one:
% file: myamsart.cls
\ProvidesClass{myamsart}
\LoadClass[fleqn]{amsart}
However, the option fleqn has no effect:
% file: test.tex
%\documentclass[fleqn]{amsart}
\documentclass{myamsart}
\begin{document}
\[ x = x \]
\begin{equation}
y = y
\end{equation}
\end{document}
Why does it work like this?
More generally, what is the difference between passing options with \documentclass and passing them with \LoadClass? Is there a general method to load a base class from cls file with the same effect as when using \docementclass?
fleqnoption inamsartis implemented rather strangely. The declared option does nothing. – daleif Nov 15 '18 at 10:46\documentclass[fleqn]{amsart}. – Alexey Nov 15 '18 at 10:49amsart.clsand you'll find\DeclareOption{fleqn}{}, but it does something "strange" with it later on in a non standard manner. – daleif Nov 15 '18 at 11:17amsart.clswas first written before 1995, and has been used in a production capacity since then. it wasn't designed to have options passed to it except through the option to the main\documentclassline, since nobody expected it to be used that way (really, that wasn't how things like this were thought of in 1995). there are numerous classes that\LoadClass{amsart}; all of them that i know of expect thefleqnoption to be specified on the\documentclassline. it's too late to change that. – barbara beeton Nov 16 '18 at 01:22