![自动将 `](https://linux22.com/image/241373/%E8%87%AA%E5%8A%A8%E5%B0%86%20%60.png)
有没有办法自动将<=
和的实例转换>=
为\leq
和\geq
?我总是错误地输入<=
和>=
。
答案1
原则上,这是可行的。
\makeatletter
\mathchardef\realless=\mathcode`<
\newcommand{\perhapsless}{\@ifnextchar={\leq\@gobble}{\realless}}
\mathcode`<="8000
{\catcode`<=\active \global\let<\perhapsless}
\mathchardef\realgreater=\mathcode`>
\newcommand{\perhapsgreater}{\@ifnextchar={\geq\@gobble}{\realgreater}}
\mathcode`>="8000
{\catcode`>=\active \global\let>\perhapsgreater}
\makeatother
然后$a<=b<c$
就会解析成正确的符号。
但我不会依赖这种自动化。最好进行“搜索和替换”,并习惯于写\leq
和\geq
(或者,像我一样,\le
和\ge
)。
答案2
我认为,最好让你的文本编辑器自动纠正你所有的最喜欢的飞速打印错误。对于我最喜欢的编辑器 WinEdt,我编写了几个这样的规则。这里有两个规则,它们将 << 和 ББ(ББ 是在俄语键盘上输入的 <<)转换为右引号 '«',并在当前单词后自动添加左引号 '»'。
STRING="<<"
ENABLED=1
FILTER="TeX"
ACTION="[BeginGroup;Backspace;Backspace;SelWord(1);InsLabel('','«','»');EndGroup]"
STRING="ББ"
ENABLED=1
FILTER="TeX"
ACTION="[BeginGroup;Repeat(2,'CMD(""Backspace"")');SelWord(1);InsLabel("""",""«"",""»"");EndGroup]"
在 WinEdt 的当前版本 6.0 中,这些规则将通过以下方式放入活动字符串中:选项 | 分隔符,活动字符串,缩写...菜单。
答案3
除非您正在使用它,否则这可能不是您想要的,但它会自动执行此操作siunitx
(以及<<
分别>>
到)。$\ll$
$\gg$