提供编写类的命令,供用户使用

提供编写类的命令,供用户使用

假设我尝试编写一个test_cls类,其中我想要提供一个命令\inst,该命令可供用户使用,也可以在类文档本身中使用。

类文件的名称test_cls.cls如下:

\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{test_cls}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{test_cls}}
\ProcessOptions\relax
\DeclareRobustCommand{\inst}[1]{\def\inst@value{#1}}
\DeclareRobustCommand{\theauthor}{\inst@value\\\@author}

\LoadClass{article}

而且test_cls.tex

\documentclass{test_cls}
%\inst{test}
\author{tester}
\begin{document}
  \theauthor
\end{document}

问题是这不能工作并提示我命令\inst@value未定义。

我可以通过添加默认值来解决这个问题

\AtEndOfPackage{
  %for the default value
  \inst{default}
}

但不知道还有没有其他更好的办法?

相关内容