在某些国家,人们使用逗号而不是点作为小数分隔符。
我通常使用:
%%%% 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