\edef、\xdef 和 \ifmmode

\edef、\xdef 和 \ifmmode

我不明白以下代码中\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相同,但是在尾随的 关闭的组之外可见$

相关内容