在数学模式下书写时,是否可以在主文档中定义 * 变为 \cdot?
因为它使得在写方程式时绘制星号变得更容易。
答案1
答案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}