答案1
令你失望的是,没有。它们都是一样的。
如果你跑
\documentclass{standalone}
\begin{document}
\(\show\lnot a \, \show\neg a\)
\end{document}
你会得到:
> \lnot=\mathchar"23A.
l.3 \(\show\lnot
a \, \show\neg a\)
?
> \neg=\mathchar"23A.
l.3 \(\show\lnot a \, \show\neg
a\)
这表明两者都是\mathchar"23A
。
事实上,plain.tex
有人发现:
\mathchardef\neg="023A \let\lnot=\neg
其他符号也会出现同样的情况:
\mathchardef\wedge="225E \let\land=\wedge
\mathchardef\vee="225F \let\lor=\vee
\def\neq{\not=} \let\ne=\neq
\mathchardef\leq="3214 \let\le=\leq
\mathchardef\geq="3215 \let\ge=\geq
\mathchardef\ni="3233 \let\owns=\ni
\mathchardef\leftarrow="3220 \let\gets=\leftarrow
\mathchardef\rightarrow="3221 \let\to=\rightarrow
我的猜测原因是这些符号在不同的应用领域有不同的名字,所以它们有不同的名字以使它们的使用更加直观。
在 LaTeX 中,发生的情况基本相同,但多了一些花哨的功能:
\DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A}
\let\lnot=\neg
fontmath.ltx
这可以在(由 加载)中找到latex.ltx
。