自动将 `

自动将 `

有没有办法自动将<=和的实例转换>=\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$

相关内容