为什么 LaTeX renewcommand 在表格中不起作用?

为什么 LaTeX renewcommand 在表格中不起作用?

我期望以下代码:

\documentclass{article}
\begin{document}
\newcommand{\foo}{NO!}
\begin{tabular}{ll}
FILLER & \foo \\
\renewcommand{\foo}{YES!}%
FILLER & \foo \\
\end{tabular}
\end{document}

生产

FILLER NO!
FILLER YES!

但我得到的却是

FILLER NO!
FILLER NO!

谁能告诉我这里发生了什么事?

答案1

无耻地抄袭了回答

在表格单元格内,所有内容都是本地的,因此单元格外部无法识别对宏的更改。在表格环境中使用\gdef\foo{YES!}而不是。\renewcommand

相关内容