fleqn.clo と fleqn.sty

fleqn.clo と fleqn.sty

こちらの MWE をご覧ください:

\documentclass{JHEP}

\usepackage{fleqn}

 \author{me} 
 \abstract{a}
 \title{t}

\begin{document}
\begin{equation}
a = b+1
\end{equation}
\end{document}

しかし、それは機能するが、警告を受けた

fleqn.clo廃止の代わりに入力するfleqn.sty

.clo と .sty の違いは何ですか?fleqnパッケージの代わりにドキュメント クラス オプションとして使用すると、無視されます。なぜですか?

最後の質問ですが、私も警告を受けました

ドキュメント クラス JHEP を要求しましたが、ドキュメント クラスでは JHEP3 が提供されています。

このクラスを使用しています。なぜでしょうか?

JHEPここ

答え1

これは(無関係な最初のバナーを除いて)の内容ですfleqn.sty

\@obsoletefile{fleqn.clo}{fleqn.sty}
\input{fleqn.clo}
\endinput

\documentstyleこれは、LaTeX 2.09 ドキュメントにまだ最初の行があり、このコマンドにオプションとしてパッケージが指定され、そのために拡張機能が必要な人がいる可能性があるために提供されます.sty

ジャーナルへの投稿を目的としたような特殊なクラスを使用している場合は、このファイルをロードしないでくださいJHEP。クラスがfleqnオプションをサポートしているかどうかは関係なく、サポートされていない場合は、ジャーナル管理者はそれを使用することを快く思わないでしょう。

実際、クラスはオプションをサポートしています。

\DeclareOption{fleqn}{\@OImess{}}   %\input{fleqn.clo}} IGNORED ...

に続く

\newcommand\@OImess[1]{\JHEP@ignol{OPTION '\CurrentOption'#1}}

これは単にオプションが無視されることを通知します。fleqn.cloとにかくロードすると、おそらく何か悪い結果になるでしょう。

最後に、クラスの名前が であるがJHEP.cls

\ProvidesClass{JHEP3} [2003/01/03 v3.1.2 LaTeX document class - F.N.]

つまりそれは彼らの責任です。

答え2

警告以外に違いはありません。LaTeX2e以前(つまり1993年以前)のLaTeX 2.09構文は

\documentclass[fleqn,longtable,12pt]{article}

別途\documentclassまたははありませんでした\usepackage

そのため、LaTeX2.09からLaTeX2eに変換すると、ほとんどの古い「オプション」は次のようにロードされるパッケージになりました。

\usepackage{longtable}

しかし、組み込みオプション (12ptおよびfleqnここ) はオプションのままでした。多くの人がこれを間違えたため、fleqn.styどちらの構文も機能するように警告付きで が追加されました。

関連情報