在序言中定义具有自定义名称的项目,并在文档中使用它们

在序言中定义具有自定义名称的项目,并在文档中使用它们

\myphone我在一个文件中定义了诸如 等项目preamble.sty,并希望使用此名称在我的文档中引用这些项目(类似于 CSS 类)。此机制如何工作?

在序言中:

\def\myphone{555-5555}

在文档中:

\lhead{myphone}

答案1

此处的确切术语不是“项目”。在 LaTeX 中,通常会说“宏”。

您正在寻找的是 KOMA 类内部所做的事情:

\documentclass{article}
\makeatletter
\newcommand*\SetChrisVar[2]{%
  \@namedef{chrisvar@#1}{#2}%
}
\newcommand*\UseChrisVar[2]{%
  \@nameuse{chrisvar@#1}%
}
\makeatother

\SetChrisVar{myphone}{555-5555}

\usepackage{fancyhdr}
  \lhead{\UseChrisVar{myphone}}

\pagestyle{fancy}

\begin{document}
\null
\end{document}

\SetChrisVar将值 ( #2) 分配给内部宏\chrisvar@<#1>\UseChrisVar获取其值。简单又好用 ;)

(另外,请注意,这\lhead是一个设置左标题的宏fancyhdr,并不适用于文档。)

相关内容