修复类错误:“LaTeX 错误:\RequirePackage 或 \LoadClass 在选项部分中”

修复类错误:“LaTeX 错误:\RequirePackage 或 \LoadClass 在选项部分中”

我正在尝试安装我的专业组织为准备期刊文章手稿而提供的新类文件。但是,安装后(将其移动到我的本地 MiKTeX texmf 树并运行“刷新 FNDP”),我无法让包含的 .cls 正常工作 - 即使在随附的示例 TEX 文档上也是如此。可以找到包含新类和 tex 文件的 ZIP 文件这里

我收到的错误是“!LaTeX 错误:\RequirePackage 或 \LoadClass 在选项部分中。”这是我在运行类文件中包含的 tex 文件时收到的唯一错误。

我看过很少 相似的 问题到这里,我了解到了足够多的信息,怀疑问题出在 CLS 文件中。但是,我对类文件的结构了解不够,无法修复它。

有人能帮忙吗?

非常感谢!

更新:这是按照要求提供的类文件代码。我将其限制在前 180 行左右,因为我已经超出了字符限制,这似乎是个合理的停止点。完整的类文件可以从上述链接的 AIAA 下载。

%% Copyright notice.
%%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}%
%%%  @LaTeX-file{
%%%     version         = "x",
%%%     date            = "0000/00/00",
%%%     author          = "",
%%%     revised by      = ""
%%%     copyright       = ""
%%%     address         = "",
%%%     FAX             = "",
%%%     email           = "",
%%%     abstract        = "LaTeX Template for AAS journal submissions",
%%%  }
\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
\ProvidesClass{AIAA}%
\LoadClass[manuscript]{revtex4-1}[2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]
\def\class@name{revtex4-1}%
%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{revtex4}}%
\ExecuteOptions{letterpaper,oneside,onecolumn,final}%
\ProcessOptionsd
\RequirePackage{latexsym}%
\RequirePackage{graphicx}%
\RequirePackage{verbatim}%
\usepackage[T1]{fontenc}

\def\normalsize{%
   \@setfontsize\normalsize\@xpt{12}%
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \belowdisplayskip \abovedisplayskip
   \abovedisplayshortskip  \abovedisplayskip
   \belowdisplayshortskip \abovedisplayskip
   \let\@listi\@listI
}%
\def\small{%
  \@setfontsize\small\@ixpt{10.5}%
  \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
  \belowdisplayskip \abovedisplayskip
  \abovedisplayshortskip \z@ \@plus2\p@
  \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  \def\@listi{%
    \leftmargin\leftmargini
    \topsep 4\p@ \@plus2\p@ \@minus2\p@
    \parsep 2\p@ \@plus\p@ \@minus\p@
    \itemsep \parsep
  }%
}%
\def\footnotesize{%
  \@setfontsize\footnotesize\@viiipt{9.5pt}%
  \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
  \belowdisplayskip \abovedisplayskip
  \abovedisplayshortskip \z@ \@plus\p@
  \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
  \def\@listi{%
    \leftmargin\leftmargini
    \topsep 3\p@ \@plus\p@ \@minus\p@
    \parsep 2\p@ \@plus\p@ \@minus\p@
    \itemsep \parsep
  }%
}%
\def\scriptsize{%
 \@setfontsize\scriptsize\@viipt\@viiipt
}%
\def\tiny{%
 \@setfontsize\tiny\@vpt\@vipt
}%
\def\large{%
 \@setfontsize\large\@xiipt{14pt}%
}%
\def\Large{%
 \@setfontsize\Large\@xivpt{18pt}%
}%
\def\LARGE{%
 \@setfontsize\LARGE\@xviipt{22pt}%
}%
\def\huge{%
 \@setfontsize\huge\@xxpt{25pt}%
}%
\def\Huge{%
 \@setfontsize\Huge\@xxvpt{30pt}%
}%
 \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}%
 \twoside@sw{%
    \oddsidemargin  -20pt
    \evensidemargin -20pt
    \marginparwidth 107pt
 }{%
    \oddsidemargin  .15in
    \evensidemargin .15in
    \marginparwidth 30pt
 }%
\marginparsep 6pt
\topmargin -61pt
\headheight 25pt
\headsep 16pt
\topskip 10pt
\footskip 30pt
 \textheight = 56pc
\textwidth36pc
\columnsep 1.5pc
\columnseprule 0pt
\footnotesep 1pt
\skip\footins 39pt plus 4pt minus 2pt
\def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt\relax}%
\floatsep 12pt plus 2pt minus 2pt
\textfloatsep 20pt plus 2pt minus 4pt
\intextsep 12pt plus 2pt minus 2pt
\dblfloatsep 12pt plus 2pt minus 2pt
\dbltextfloatsep 20pt plus 2pt minus 4pt
\@fptop 0pt plus 1fil
\@fpsep 8pt plus 2fil
\@fpbot 0pt plus 1fil
\@dblfptop 0pt plus 1fil
\@dblfpsep 8pt plus 2fil
\@dblfpbot 0pt plus 1fil
\marginparpush 5pt
\parskip 0pt plus 1pt
\parindent 1.5pc
\emergencystretch8\p@
\partopsep 2pt plus 1pt minus 1pt
\leftmargini 25pt
\leftmarginii 22pt
\leftmarginiii 18.7pt
\leftmarginiv 17pt
\leftmarginv 10pt
\leftmarginvi 10pt
\def\@listI{%
  \leftmargin\leftmargini
  \parsep 4\p@ plus2\p@ minus\p@
  \topsep 8\p@ plus2\p@ minus4\p@
  \itemsep 4\p@ plus2\p@ minus\p@
}%
\labelsep 4pt
\def\@listii{%
  \leftmargin\leftmarginii
  \labelwidth\leftmarginii
  \advance\labelwidth-\labelsep
  \topsep 4\p@ plus2\p@ minus\p@
  \parsep 2\p@ plus\p@ minus\p@
  \itemsep \parsep
}%
\def\@listiii{%
  \leftmargin\leftmarginiii
  \labelwidth\leftmarginiii
  \advance\labelwidth-\labelsep
  \topsep 2\p@ plus\p@ minus\p@
  \parsep \z@
  \partopsep \p@ plus\z@ minus\p@
  \itemsep \topsep
}%
\def\@listiv{%
  \leftmargin\leftmarginiv
  \labelwidth\leftmarginiv
  \advance\labelwidth-\labelsep
}%
\def\@listv{%
  \leftmargin\leftmarginv
  \labelwidth\leftmarginv
  \advance\labelwidth-\labelsep
}%
\def\@listvi{%
  \leftmargin\leftmarginvi
  \labelwidth\leftmarginvi
  \advance\labelwidth-\labelsep
}%
%%%%%%%%%%%%%%%% from class file

答案1

解决方案由 ChristianHupfer 和 alwaysask 提供。

  1. 删除不知为何出现在\ProcessOptions第 36 行末尾的多余的“d”。
  2. 将九条命令(第 424 至 432 行)移至(第 35 行)\DeclareOption前面。\ExecuteOptions

它现在适用于 LaTeX 和 PdfLaTeX。

非常感谢你们!

相关内容