访问 \newcommand 内的值

访问 \newcommand 内的值

我是一名具有中等经验的 LaTeX 用户。但是,这是我第一次尝试创建自己的.cls文件。我想以类似于在文章类中生成标题的方式生成标题。类似以下方式。

\documentclass{MyResume}

\name{Your Name}
\phone{281038901}
\email{[email protected]}

\begin{document}
 \maketitlebox
\end{document}

我知道如何使用\newcommands 来定义这些的基本知识。但是,我无法弄清楚如何访问定义中的等字段\name的值。\phone\headerbox

答案1

通常使用的技巧是在类文件中说

\newcommand{\name}[1]{\gdef\rajvi@name{#1}}

然后\rajvi@name在需要的地方使用。

您应该用默认定义来补充这一点,例如

\def\rajvi@name{%
  \ClassWarningNoLine{rajvi}{No \protect\name\space supplied}%
  ??%
}

这样用户就会收到有关缺失数据的警告,输出中会出现一对问号。这可能会出错,只需选择您喜欢的方式即可。

rajvi的意思是用来避免宏冲突的通用前缀(通常是类名)。

相关内容