fleqn.clo vs fleqn.sty

fleqn.clo vs fleqn.sty

Por favor, dê uma olhada neste MWE:

\documentclass{JHEP}

\usepackage{fleqn}

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

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

no entanto, funciona, recebi um aviso

inserindo fleqn.cloem vez de obsoletofleqn.sty

Qual é a diferença entre .clo e .sty? Se eu usar fleqncomo opção de classe de documento em vez do pacote, ele será ignorado. Por que?

Minha última pergunta, também recebi um aviso

Você solicitou a classe de documento JHEP, mas a classe de documento fornece JHEP3.

usando esta classe. Por que é que?

JHEPaqui

Responder1

Este é (além de um banner inicial que é irrelevante) o conteúdo de fleqn.sty:

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

Isto é fornecido porque algumas pessoas ainda podem ter documentos LaTeX 2.09 com uma \documentstylelinha inicial, onde os pacotes eram dados como opção a este comando e precisavam, para isso, da .styextensão.

Não carregue este arquivo se você estiver usando uma classe especializada, como JHEPaquela destinada a envios para um periódico. A classe oferece suporte para a fleqnopção ou não, caso em que os gerentes do periódico não ficarão satisfeitos se você usá-la.

Na verdade, a classe suporta a opção, porque tem

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

seguido pela

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

o que simplesmente lhe dirá que a opção foi ignorada. Carregar fleqn.clode qualquer maneira provavelmente resultaria em algo ruim.

Finalmente, o aviso que você recebe é porque a classe tem um nome JHEP.cls, mas tem

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

Portanto, a culpa é deles.

Responder2

Não há diferença além do aviso. Antes do LaTeX2e (ou seja, antes de 1993) a sintaxe do latex 2.09 era

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

não havia separado \documentclassou \usepackage.

Portanto, ao converter de LaTeX2.09 para LaTeX2e, a maioria das "opções" antigas tornaram-se pacotes para serem carregados como

\usepackage{longtable}

Mas as opções integradas ( 12pte fleqnaqui) permaneceram como opções. Muitas vezes as pessoas entendiam errado, então fleqn.styfoi adicionado para que qualquer uma das sintaxes funcionasse, mas com um aviso.

informação relacionada