如何使 \cdot 运算符与 / (除法斜杠)运算符宽度相同,反之亦然

如何使 \cdot 运算符与 / (除法斜杠)运算符宽度相同,反之亦然

这是我使用的代码:

\begin{aligned}
&a\cdot{}a\\
&a/a
\end{aligned}

这是我得到的输出(红线是为了强调不平等的排列):

我怎样才能使 cdot 和 slash 的宽度匹配?

答案1

您可以使用\makebox创建一个与斜线一样宽的框:

enter image description here

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}

\newcommand*{\mycdot}{\makebox[\widthof{/}]{$\cdot$}}
\newcommand*{\myslash}{\makebox[\widthof{${}\cdot{}$}]{{}/{}}}

\begin{document}\noindent
\verb|\cdot| same width as slash:
\begin{align*}
x &= a \mycdot a \\
x &= a / a
\end{align*}
Slash same width as \verb|\cdot|:
\begin{align*}
x &= a \cdot a \\
x &= a \myslash a
\end{align*}
\end{document}

答案2

这可以缩放下标和上标,并允许根据其他运算符使用不同的宽度。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand\wslash[1][\cdot]{\mathbin{\mathpalette\w@slash{#1}}}
\newcommand\w@slash[2]{%
  \settowidth\dimen@{$\m@th#1#2$}%
  \makebox[\dimen@]{$\m@th#1/$}%
}
\makeatother

\begin{document}

\begin{align}
&a\cdot a\\
&a\wslash a \\
&a+a\\
&a\wslash[+]a\\
&x_{a\cdot a}\\
&x_{a\wslash a}
\end{align}

\end{document}

enter image description here

相关内容