![类选项声明错误:未定义的控制序列](https://linux22.com/image/284738/%E7%B1%BB%E9%80%89%E9%A1%B9%E5%A3%B0%E6%98%8E%E9%94%99%E8%AF%AF%EF%BC%9A%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E6%8E%A7%E5%88%B6%E5%BA%8F%E5%88%97.png)
我正在尝试编写一个具有某些选项的类文件(例如居中标题,与左侧标题不同)。当我编译调用此类的 *.tex 文件时,我收到 \@centeredtrue 未定义的控制序列错误:
! Undefined control sequence.
\ds@centered ->\@centeredtrue
下面是我的 MWE 类文件;我借鉴了 article.cls 文件中的选项声明方法。我不明白为什么会出现此错误,因为 article.cls 类文件对 oneside 和 twoside 选项有类似的选项声明,但 article.cls 文件不会抛出此错误。
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mwe}[2014/02/18 v0.0.1 Example Class For Errors]
\DeclareOption{centered}{\@centeredtrue}
\DeclareOption{flank}{\@centeredfalse}
\ExecuteOptions{centered}
\ProcessOptions
\endinput
我的目的是运行由我的班级选项规定的条件代码。
答案1
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mwe}[2014/02/18 v0.0.1 Example Class For Errors]
\newif\if@centered \@centeredfalse %%%%%%%%%%%%%%%%%%%%%
\DeclareOption{centered}{\@centeredtrue}
\DeclareOption{flank}{\@centeredfalse}
\ExecuteOptions{centered}
\ProcessOptions
\endinput