有没有更方便(简洁)的方法来插入数学模式重音符号?例如,是否可以使用如下语法:
a\^ %instead of \hat{a}
a\- %instead of \bar{a}
a\~ %instead of \tilde{a}
或者
\^a %instead of \hat{a}
\-a %instead of \bar{a}
\~a %instead of \tilde{a}
答案1
您可以通过仅为数学模式重新定义重音宏来实现这一点,使用\everymath
和\everydisplay
标记列表。您可以按如下方式执行此操作:
% Create a token list for your custom math accent macros
\newtoks\mymathaccents
\mymathaccents={%
\let\^\hat
\let\-\bar
\let\~\tilde
% etc.
}
% The following adds your custom macros for math accents
% to both inline and displayed math mode
\everymath=\expandafter\expandafter\expandafter{%
\expandafter\the\expandafter\everymath\the\mymathaccents}
\everydisplay=\expandafter\expandafter\expandafter{%
\expandafter\the\expandafter\everydisplay\the\mymathaccents}
这也应该保留文本模式下重音宏的正常含义。——请注意,对于问题的另一部分:没有机制来定义一个新的宏来接受一个立即先于正如您所举的例子一样。