我正在寻找一种在量词后添加一些空格的方法,并找到了答案排版量词的最佳实践?。以下 MWE 运行完美:
\documentclass[]{article}
\usepackage{amssymb}
\let\existstemp\exists
\let\foralltemp\forall
\renewcommand*{\exists}{\existstemp\,}
\renewcommand*{\forall}{\foralltemp\,}
\newcommand{\N}{\mathbb N}
\begin{document}
$\forall m \in \N, \exists n \in \N\colon m < n$
\end{document}
然而,在我第一次尝试解决问题时,我尝试
\documentclass[]{article}
\usepackage{amssymb}
\renewcommand*{\exists}{\exists\,}
\renewcommand*{\forall}{\forall\,}
\newcommand{\N}{\mathbb N}
\begin{document}
$\forall m \in \N, \exists n \in \N\colon m < n$
\end{document}
但这会导致 LaTeX 崩溃。
为什么这不起作用?我的解决方案是最短/最干净的吗?
答案1
TeX 是一种宏扩展语言。
如果你定义
\renewcommand*{\exists}{\exists\,}
然后当\exists
遇到时,它会被替换文本替换,然后处理再次开始,
\exists
变成
\exists\,
变成
\exists\,\,
变成
\exists\,\,\,
依此类推,直到用完输入堆栈。