
이 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
이는 일부 사람들이 여전히 초기 라인이 있는 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}
그러나 내장 옵션( 12pt
및 fleqn
여기)은 옵션으로 유지되었습니다. 사람들은 종종 이를 잘못 이해하므로 fleqn.sty
두 구문 중 하나가 작동하지만 경고가 표시되도록 추가되었습니다.