\begin{filecontents*}[overwrite]{myclass.cls}
\ProvidesClass{myclass}
\LoadClass{article}
\RequirePackage[margin = 2cm]{geometry}
\newif\if@classname@option@i
\newif\if@classname@option@ii
\DeclareOption{option-i}{
\@classname@option@itrue
}
\DeclareOption{option-ii}{
\@classname@option@iitrue
}
\ProcessOptions*\relax
\if@classname@option@i%
\def\cmd{Y}%
\else%
\if@classname@option@ii%
\def\cmd{Y}%
\else
\def\cmd{N}%
\fi
\fi
\end{filecontents*}
\documentclass{myclass}
% \documentclass[option-i]{myclass}
% \documentclass[option-ii]{myclass}
\begin{document}
\cmd
\end{document}
扩展问题,可以看看 expl3
, 会方便很多.
问 文档类编写中,如何用条件语句,实现多个option对应运行一个命令?