更改符号类型

更改符号类型

考虑一下texdef -t latex \flat

\flat:
\mathchar"15B

\the\flat:
347

我想保存该\flat命令,然后将其重新定义为二进制符号,例如与 周围的相同空间\times

我正在用这个

\let\oldflat\flat 
\renewcommand{\flat}{\mathbin\oldflat}
\[ a\oldflat b \neq a\flat b \]

但我想在这里确认这是否是正确的方法。

答案1

如果你知道这个符号是普通的,那么

\mathchardef\oflat=\flat
\mathchardef\flat=\numexpr"2000+\oflat\relax

就可以了,因为 2 是二元运算符号的类号。诀窍在于,一个\mathchardef标记可以在 的上下文中使用<number>。首先需要获得一个等价物,因为在\mathchardef\flat评估 的数字时,\flat会暂时将其设置为\relax,以避免由于输入不当而可能出现的一些问题。

\documentclass{article}

\mathchardef\oflat=\flat
\mathchardef\flat=\numexpr"2000+\oflat\relax

\begin{document}

\[ a\oflat b \neq a\flat b \]

\end{document}

在此处输入图片描述

相关内容