
こちらの 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 が提供されています。
このクラスを使用しています。なぜでしょうか?
答え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
どちらの構文も機能するように警告付きで が追加されました。