如何在数学模式下自动在“&”符号周围添加空格

如何在数学模式下自动在“&”符号周围添加空格

假设我们在数学模式下写一个逻辑表达式:

\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
$a\&b$
\end{document}

输出如下所示:

在此处输入图片描述

问题:

  1. '&' 符号周围的空格大小应该是多少:\,\>\;

  2. 我如何才能自动在 周围添加正确的空格&?这样我就不需要\;&\;每次都打字了。

答案1

可以symbol设置为二元运算符\mathbin

空间的大小为\medmuskip,空间可以通过 进行设置\>

手动的话,\&可以放入\mathbin,然后 TeX 会自动设置空间:

\documentclass{article}
\begin{document}
$a\mathbin{\&}b$
\end{document}

结果

另外,\&可以重新定义为\mathbin在数学模式中自动添加:

\documentclass{article}
\renewcommand*{\&}{%
  \relax
  \ifmmode
    \mathbin{\char`\&}%
  \else
    \char`\&\relax
  \fi
}
\begin{document}
$a \& b$
\end{document}

答案2

没有\&数学字符的定义,因此它被视为字母。

但是,简单地将其定义为数学字符会使其在文本模式下无法使用,因此应该使用分支:

\DeclareRobustCommand{\&}{%
  \ifmmode\expandafter\mathbin\fi\char`&
}

完整示例:

\documentclass{article}

\DeclareRobustCommand{\&}{%
  \ifmmode\expandafter\mathbin\fi\char`&
}

\begin{document}

Duck \& Co.

$a \& b$

\end{document}

在此处输入图片描述

相关内容