定义星号“*”-变成一个点

定义星号“*”-变成一个点

在数学模式下书写时,是否可以在主文档中定义 * 变为 \cdot?

因为它使得在写方程式时绘制星号变得更容易。

答案1

在此处输入图片描述

\documentclass{article}

% \DeclareMathSymbol{\cdot}{\mathbin}{symbols}{"01} % from fontmath.ltx
\DeclareMathSymbol{*}{\mathbin}{symbols}{"01}
\begin{document}

$ x * y $

\end{document}

答案2

任何一个

\mathcode`\*=\number\cdot

或者

\mathcode`\*=\number\circ

或者

\mathcode`\*=\number\bullet

(实际上不是必要的,但它可能对或或的\number异常版本有帮助。)\circ\cdot\bullet

答案3

正如我在评论中指出的那样,重新定义* 以错误的方式将阻止您使用数学模式宏的星号版本(请参阅下面的部分列表*)。例如,使*活动状态是错误的方法。但是,David C 和 Don 都指出,他们的方法不会遇到此问题,而我没有注意到区别,这是疏忽。

虽然在数学模式中使用星号宏的情况很少见,但它出现的频率足以避免使用主动 的方法*。即使您使用 David 的方法,您也无法在数学模式中使用排版星号,除非您事先将其保存到命名宏中。

一种不会造成*任何干扰的替代方法是重新定义\*。这是一个纯文本宏,称为“自由乘法符号”。我自己从未使用过它,但这个想法是你可以把它放在相乘的数学项之间。通常,它什么也不做,但如果要在两个项之间换行,则会\times在行尾(文本大小)插入一个符号(相当于 )。它的作用类似于数学连字符,但用\times而不是。如果你和我一样,从不使用这样的构造,那么我认为重新定义而不是-会更安全。\**

\documentclass{article}
\renewcommand\*{\cdot}
\begin{document}
$ x \* y $
\end{document}

在此处输入图片描述

*星型宏的示例包括\tag*、、、(及其\ref*所有变体)、、、,仅供参考。\\*\matrix*\operatorname*\alignat*

答案4

为了完整起见,版本为unicode-math

\documentclass{article}
\usepackage{unicode-math}
\AtBeginDocument{\Umathcode`\* = 2 0 "22C5}
\begin{document}
$x*y$
\end{document}

相关内容