使用 \sim 作为否定时纠正间距

使用 \sim 作为否定时纠正间距

当用作\sim否定符号时,它会给出不正确的间距,如果将间距与以下间距进行比较,这一点就很清楚了\lnot

与 \lnot 相比,\sim 用作否定时会产生不良间距

如何纠正间距?

\documentclass{article}

\begin{document}

\(p \leftrightarrow \lnot \lnot p\)

\(p \leftrightarrow \sim \sim p\)

\(\lnot (p \land q) \leftrightarrow (\lnot p \lor \lnot q)\)

\(\sim (p \land q) \leftrightarrow (\sim p \lor \sim q)\)

\end{document}

答案1

\sim符合关系符号的条件,因此会出现“奇怪”的间距。写作

\renewcommand{\lnot}{\mathord{\sim}}

允许您稍后改变主意并确保符号连贯性,就像您总是写的那样\lnot。如果您愿意,可以使用不同的名称:

\newcommand{\varlnot}{\mathord{\sim}}

\mathord功能并非绝对必要,因为\newcommand{\varlnot}{{\sim}}(注意额外的一对括号)足以转变\sim为普通符号,但具体化永远不是一个坏主意(正如芭芭拉正确指出的那样)。

答案2

正如其他答案中提到的,\sim被定义为一个关系符号,要使用它,\lnot您必须使用\mathord宏将其转换为普通符号;\mathord{\sim}(这可能会产生与相同的结果{\sim},但更明确总是更好),如果您经常使用它,您甚至可以将它包装在一个新的宏中:

\documentclass{article}

\newcommand{\simnot}{\mathord{\sim}}

\begin{document}

\(p \leftrightarrow \lnot \lnot p\)

\(p \leftrightarrow \simnot \simnot p\)

\(\lnot (p \land q) \leftrightarrow (\lnot p \lor \lnot q)\)

\(\simnot (p \land q) \leftrightarrow (\simnot p \lor \simnot q)\)

\end{document}

在此处输入图片描述

答案3

就我而言,我发现\sim它太过模糊。我更喜欢这样定义\simnot

\newcommand*{\simnot}{\mathord{\raisebox{-4pt}{\textasciitilde}}}

然而,所使用的值\raisebox是根据所选的字体根据经验确定的。

所以这个代码:

\documentclass{minimal}    
\newcommand*{\simnot}{\mathord{\raisebox{-4pt}{\textasciitilde}}}    
\begin{document}    
\(\simnot\cdot \) \quad (height comparison with \texttt{\textbackslash cdot})    
\(p \leftrightarrow \lnot \lnot p\)    
\(p \leftrightarrow \simnot \simnot p\)    
\(\lnot (p \land q) \leftrightarrow (\lnot p \lor \lnot q)\)    
\(\simnot (p \land q) \leftrightarrow (\simnot p \lor \simnot q)\)
\end{document}

渲染结果如下: 在此处输入图片描述

相关内容