
Bitte schauen Sie sich dieses MWE an:
\documentclass{JHEP}
\usepackage{fleqn}
\author{me}
\abstract{a}
\title{t}
\begin{document}
\begin{equation}
a = b+1
\end{equation}
\end{document}
wie auch immer es funktioniert, ich habe eine Warnung bekommen
Eingabe
fleqn.clo
statt veraltetfleqn.sty
Was ist der Unterschied zwischen .clo und .sty? Wenn ich es fleqn
als Dokumentklassenoption anstelle des Pakets verwende, wird es ignoriert. Warum?
Meine letzte Frage, ich habe auch eine Warnung bekommen
Sie haben die Dokumentklasse JHEP angefordert, aber die Dokumentklasse bietet JHEP3.
diese Klasse verwenden. Warum ist das so?
Antwort1
Dies ist (abgesehen von einem anfänglichen Banner, das irrelevant ist) der Inhalt von fleqn.sty
:
\@obsoletefile{fleqn.clo}{fleqn.sty}
\input{fleqn.clo}
\endinput
Dies ist vorgesehen, weil manche Leute möglicherweise noch LaTeX 2.09-Dokumente mit einer \documentstyle
Anfangszeile haben, in der Pakete als Option zu diesem Befehl angegeben wurden und hierfür die .sty
Erweiterung benötigten.
Laden Sie diese Datei nicht, wenn Sie eine spezielle Klasse verwenden, JHEP
die beispielsweise für die Einreichung bei einer Zeitschrift gedacht ist. Entweder unterstützt die Klasse diese fleqn
Option oder nicht. In diesem Fall werden die Zeitschriftenmanager nicht erfreut sein, wenn Sie sie verwenden.
Tatsächlich unterstützt die Klasse diese Option, da sie
\DeclareOption{fleqn}{\@OImess{}} %\input{fleqn.clo}} IGNORED ...
gefolgt von
\newcommand\@OImess[1]{\JHEP@ignol{OPTION '\CurrentOption'#1}}
Das bedeutet lediglich, dass die Option ignoriert wird. fleqn.clo
Trotzdem zu laden würde wahrscheinlich zu etwas Schlimmen führen.
Schließlich ist die Warnung, die Sie erhalten, weil die Klasse benannt ist JHEP.cls
, aber es hat
\ProvidesClass{JHEP3} [2003/01/03 v3.1.2 LaTeX document class - F.N.]
Es ist also ihre Schuld.
Antwort2
Abgesehen von der Warnung gibt es keinen Unterschied. Vor LaTeX2e (also vor 1993) war die Syntax von Latex 2.09
\documentclass[fleqn,longtable,12pt]{article}
es gab kein getrenntes „ \documentclass
oder“ \usepackage
.
Bei der Konvertierung von LaTeX2.09 nach LaTeX2e wurden die meisten alten "Optionen" zu Paketen, die geladen werden sollten als
\usepackage{longtable}
Aber die integrierten Optionen ( 12pt
und fleqn
hier) blieben Optionen. Das wurde oft falsch gemacht, also fleqn.sty
wurde es hinzugefügt, damit beide Syntaxen funktionierten, aber mit einer Warnung.