数学模式下的逗号

数学模式下的逗号

在某些国家,人们使用逗号而不是点作为小数分隔符。

我通常使用:

%%%% Une vrai virgule pour les décimaux
\DeclareMathSymbol{@}{\mathord}{letters}{"3B}

$3@2$得到 3,2 而不是$3,2$3, 2 <- 逗号后有一个丑陋无用的空格

我刚刚发现这个:

\mathcode`\.="8000
{\catcode`\.=\active
\gdef.{,}}

在数学模式下,它会自动用逗号替换点,但却留下无用的空格。

有没有办法将这两种技术结合起来,用适当的逗号进行自动替换?

编辑对不起 !

很明显:

%%%% Une vrai virgule pour les décimaux
\DeclareMathSymbol{@}{\mathord}{letters}{"3B}
\mathcode`\.="8000
{\catcode`\.=\active
\gdef.{@}}

这段代码能产生边框效果吗?有没有更好或其他方法来实现这个效果?

答案1

回答你最初的问题。你可以重新定义.以在数学模式下生成另一个符号。

\DeclareMathSymbol{.}{\mathord}{letters}{"3B}

在 MWE 中

\documentclass{article}
\mathchardef\period=\mathcode`.
\DeclareMathSymbol{.}{\mathord}{letters}{"3B}
\begin{document}
$3.2$
$3\period2$
\end{document}

在此处输入图片描述

答案2

这是更简单的语法,仅在数学模式下有效:

\mathcode`,="002C

相关内容