具有任意键值的类选项

具有任意键值的类选项

我正在开发一个个人课程,在将任何内容加载到文档中之前,我绝对需要获取一个种子号。我希望在课程选项中使用种子,例如:

\documentclass[seed=326]{my-class}
\begin{document}

\end{document}

\mycommand在我的课程中,如果使用了种子选项,我希望将种子号存储在名为的命令中,\mycommand如果不使用种子选项,我希望保持未定义状态。

有人知道这样的事情是否可能,以及应该写什么my-class

答案1

以下内容可以满足您的需求。

\begin{filecontents*}{my-class.cls}
    \ProvidesClass{my-class}
    \LoadClass{article}
    \RequirePackage{xkeyval}
    \DeclareOptionX{seed}{\newcommand{\mycommand}[0]{#1}}
    \ProcessOptionsX
\end{filecontents*}

\documentclass[seed=123]{my-class}

\begin{document}
    Given seed: \mycommand
\end{document}

如果您不提供种子,上述文档将会给您一个错误,因为\mycommand未定义,正如您所希望的那样。

相关内容