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

이는 일부 사람들이 여전히 초기 라인이 있는 LaTeX 2.09 문서를 갖고 있을 수 있기 때문에 제공됩니다. \documentstyle여기서 패키지는 이 명령에 대한 옵션으로 제공되고 이를 위해 확장이 필요합니다 .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}

그러나 내장 옵션( 12ptfleqn여기)은 옵션으로 유지되었습니다. 사람들은 종종 이를 잘못 이해하므로 fleqn.sty두 구문 중 하나가 작동하지만 경고가 표시되도록 추가되었습니다.

관련 정보