如何去除` \cdot` 周围的间距?

如何去除` \cdot` 周围的间距?

在此处输入图片描述

在一些数学表达式中,我需要放置\cdot但也删除它周围的空格

\documentclass{article}

\begin{document}

    $|\cdot|$

\end{document}

答案1

通常应使用\lvert\rvert来表示绝对值/模量的条。

我建议定义

\newcommand{\blank}{{\mspace{1mu}\cdot\mspace{1mu}}}

用作路标的中心点。您没有正确使用中心点,因此最好为其定义另一个名称。然后您可以稍后决定如何最终排版它:也许您的合著者更喜欢破折号而不是中心点……

在此处输入图片描述

\lvert...\rvert最后两个例子说明了为什么优于 的主要原因|...|

答案2

请比较以下 MWE 的结果:

\documentclass[margin=3mm]{standalone}
\usepackage{mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}

\begin{document}

$|\cdot|$, $\abs{\cdot}$, $|{\cdot}|$, 

\end{document}

在此处输入图片描述

使用哪种解决方案取决于你(我在评论中提出的第二种或第三种)

答案3

有必要了解一下数学模式中的间距是如何工作的。数学模式中的每个字符都被赋予一个类。有 ord 符号(大多数符号)、二元运算符(+、-、\cdot等)、关系、开和闭。

在这种情况下,我们处理的是出现在两个普通符号之间的二元运算符。在这种情况下,它会被隔开,就像我们写的那样A+b其中 | 的两个实例就像Abwhile\cdot充当 +。但是在公式的开头,二元运算符没有空格,因为它假定你正在编写类似 -2 的内容,其中 - 和 2 之间不应该有空格。¹

原因是\abs{\cdot}有效,是因为它将封闭的 | 变成了一个开始和一个结束。它们与普通符号具有相同的间距,但有一个关键区别:在开始之后或结束之前,我们没有获得二进制运算的间距,因此我们可以写出诸如 (-X+ 1)并得到正确的间距。²

另一方面,书写会{\cdot}有效地抹去二元运算符的状态\cdot(将任何内容括在括号中会导致整个内容被视为单个普通符号,以用于分隔。空括号是不可见的无大小的普通符号,用于书写如下方{} + 3脚注 1 中提到的东西)。


  1. 这也是为什么在编写多行显示时,要{}在行首放置二进制运算的原因。
  2. 我从未见过这样的表达(A-) 在我读过的任何内容中,但在这种情况下也没有围绕减号的 bin 操作间距。

相关内容