我不明白以下代码中\edef
和之间的区别。显然,实现了我所期望的功能,但为什么呢?据我所知,没有启动组。\xdef
\xdef
$
\documentclass[varwidth]{standalone}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
$\edef\bar{\ifmmode\noexpand\true\else\noexpand\false\fi}$
\meaning\bar
$\xdef\bar{\ifmmode\noexpand\true\else\noexpand\false\fi}$
\meaning\bar
\end{document}
答案1
数学列表形成一个组,因此第一个\edef
定义被丢弃并\meaning
显示原始定义。
的定义\xdef
相同,但是在尾随的 关闭的组之外可见$
。