1

The following M(n)WE points out that fleqn (and leqno as well) option, passed to the class thanks to \PassOptionsToClass, is taken in account except if kpfonts package is loaded (no problem if the option is passed thanks to \@classoptionslist or as \documentclass option):

% \makeatletter
% \def\@classoptionslist{fleqn}
% \makeatother
\PassOptionsToClass{fleqn}{article}%
\documentclass%[fleqn]
{article}
% \usepackage{kpfonts}
%
\begin{document}
Foo
\[
  F
\]
\end{document}

Interestingly, if kpfonts is loaded with noamsmath option, no trouble (but then kpfonts's \widering command cannot be used).

Do you see what's going on?

1 Answer 1

4

kpfonts not really involved other than it loads amsmath, you see the same if you load amsmath directly.

amsmath redefines the left alignment so you need to pass the option to the package:

% \makeatletter
% \def\@classoptionslist{fleqn}
% \makeatother
%\PassOptionsToClass{fleqn}{article}%
\PassOptionsToPackage{fleqn}{amsmath}%
\documentclass%[fleqn]
{article}
\usepackage{amsmath}
%
\begin{document}
Foo
\[
  F
\]
\end{document}

If you pass an option to the class it is just an option to the class, unlike an option in the explicit [..] list it is not a global option seen by all packages, so you need to pass fleqn to amsmath not to article.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .