我正在尝试创建一个类,但它需要记住它的参数
我正在使用该文件
\documentclass[x]{test}
\begin{document}
\end{document}
随着班级
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{test}[2015/01/15 test class]
\DeclareOption*{
\newcommand{\test}{y}
\typeout{\test}
}
\ProcessOptions\relax
\typeout{\test}
\endinput
它输出
y
y
这很好但这不是我想要做的。
随着班级
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{test}[2015/01/15 test class]
\DeclareOption*{
\newcommand{\test}{\CurrentOption}
\typeout{\test}
}
\ProcessOptions\relax
\typeout{\test}
\endinput
我明白了
x
<- empty line
它就像没有“取消引用”\CurrentOption
并采用其字符串值,因此对于第二个\typeout
,\CurrentOption
不再定义为任何东西,并且我得到一个空值:( 有人知道如何“取消引用”它吗?:)
答案1
您可以使用\let
来获得\test
的定义\CurrentOption
而不是引用它:
\documentclass[jjj]{test}
\stop
与类
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{test}[2015/01/15 test class]
\DeclareOption*{%
\let\test\CurrentOption
\typeout{\test}%
}
\ProcessOptions\relax
\typeout{\test}
\endinput