如何在2个字符之间处理文本

时间:2013-12-06 11:15:22

标签: autohotkey

我想在OneNote中键入TeX方程式,将它们发送到MathType(将其转换为MathML并具有更多功能丰富的编辑器),然后将其发回。

发送,粘贴,复制和发回都没问题。但是,我想输入像%a^2 + b^2 + \frac{2}{4} - \frac{3}{6} = c^2%这样的方程式。如您所见,我需要%字符之间的文字。

我已经找到了DynamicHotstrings.ahk,所以我的代码如下:

hotstrings("%(.+)%", "handle_equation")

handle_equation:
  WinActivate, MathType
  Send ^a
  Sleep 30
  SendRaw, $%$1%
  Sleep 30
  Send {Enter}
  Sleep 30
  Send ^a
  Sleep 30
  Send ^c
  WinActivate, OneNote
  Send ^v
return

现在我想粘贴内容或进行扩展(比如输入\mc5来获取\mathcal{5})以简化生活,但热键不支持此功能。

有没有办法让这成为可能?如果我可以在输入几个方程式并在一次运行中格式化它们后触发一个函数也没问题。但是,获取文本,拆分文本并替换它不起作用,因为MathType会返回一个MathML对象,OneNote可以理解它。

PS:如果你能告诉我如何使用$(所以$a+b=c$)的方程式,那会更酷。我找不到hotstrings(...)的正则表达式。

先谢谢你,伙计们! :)

0 个答案:

没有答案