考虑一下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}