请教\let 和 \def 的区别

2019-11-09 18:10发布

```tex \documentclass{book} \def\wait{\ifx\a\b yes\else no\fi} \def\testlet#1{\let\a=#1\futurelet\b\...

```tex \documentclass{book} \def\wait{\ifx\a\b yes\else no\fi} \def\testlet#1{\let\a=#1\futurelet\b\wait} \def\testdef#1{\def\a{#1}\futurelet\b\wait} \begin{document} \testlet{a}a\par \testdef{a}a\par \end{document} ``` 想请教下 \testlet显示 yes 而\testdef显示 no 这是为什么呢?
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
```tex \documentclass{book} \def\a{a} \def\b{a} \let\c=\a \let\d=a \let\e=a \def\compare#1#2{\ifx#1#2yes\else no\fi} \begin{document} \verb|\ifx\a\b|= \compare\a\b\par % yes \verb|\ifx\d\e|= \compare\d\e\par % yes \verb|\ifx\c\b|= \compare\c\b\par % yes \verb|\ifx\d\b|= \compare\d\b\par % no \end{document} ``` 可以看出`\def` 的两个命令可以相等 `\let` 的两个命令可以相等 而两者之间却不相等 所以还是记住吧,别混用。

一周热门 更多>