假设我尝试编写一个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}
}
但不知道还有没有其他更好的办法?