仅在数学模式下将所有 * 替换为 \cdot

仅在数学模式下将所有 * 替换为 \cdot

据我了解,在 LaTeX 中,最常用的乘法符号形式是\cdot。但是,我已经有一个相当大的文档,*其中 是乘法运算符。我想用 替换所有*\cdot但仅限于 mathmode( $ Math $) 和 displaymathmode( $$ display math $$)。我也希望对未来的文档也这样做,因为我认为它可以提高代码的可读性。

有没有办法做到这一点xstring?或者有其他方法可以对整个文档做到这一点?

答案1

\cdot定义为

\DeclareMathSymbol{\cdot}{\mathbin}{symbols}{"01}

所以你只需要把这个写在你的序言里

\DeclareMathSymbol{*}{\mathbin}{symbols}{"01}

答案2

如果你坚持不改变源的主体,你可以让*math-active

\documentclass{article}
\mathcode`\*="8000 %
{\catcode`\*=\active\gdef*{\cdot}}
\begin{document}

  Here we have some asterisks: * * * * *

  Now we some some mathematics: $a*b*c$.

\end{document}

相关内容