我正在写大学课程大纲。它包含一个表格,其中概述了日期和主题,以及文本后面特定主题的更详细的大纲。理想情况下,我想将日期输入表格中,并让文本中的其他地方回显日期,这样我就不必在多个地方进行更改。我确信这是可能的,我只是不知道怎么做。
答案1
使用xparse
,您可以执行类似这样的操作。请注意,这使用了 LaTeX3 团队的新实验性(但稳定)语法。它适用于类和包开发人员,因此它遵循与 LaTeX 和 TeX 非常不同的语法。当然,也可以在 TeX 中编写相同的代码。
在这里,您可以通过书写获取信息\vars{name}
,其中name
会显示您的姓名。
当然,您可以只使用常规方法\newcommand{\myname}{John Doe}
,然后通过调用来获得变量\myname
。这取决于您想要哪种语法。
输出
代码
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\vars}{m}
{
\str_case_x:nn {\str_foldcase:n {#1}}
{
{name}{John\ Doe}
{phone}{555\,12345}
{mytable}{%
\begin{tabular}{lr}
\hline
Foo & Bar \\
\hline
\vars{name} & \vars{phone}\\
\hline
\end{tabular}
}
}
}
\ExplSyntaxOff
\begin{document}
My name is \vars{name}.
\begin{table}[hbt]
\centering
\caption{My info}
\vars{mytable}
\end{table}
\end{document}