2

在 Onenote 中,假设我想写 x^y(x 到 y 的幂),我需要进入 Equ 模式(通过键盘快捷键),输入 x^y,点击 Space,然后退出 equ 模式

所以,我认为它可能是这样的:

::(wild_card)^(wild_card)::  
Send, (Shortcut for equ mode)  
Send, variable1  
Send, ^
Send, variable2  
Send, space  
Send, (Shortcut for equ mode)  

我如何真正做到这一点?

或者,可以通过执行以下操作来制定相同的目的,
- 监视由结束字符分隔的单词
- 检测是否^在这些单词中
- 发送(快捷方式),然后是单词,然后是空格,然后是(快捷方式)。
这更可行吗?

4

1 回答 1

2

谢谢MCL,

这是在 onenote 中自动将 x_y 和 x^y 转换为它们的数学表示的代码

#Include DynamicHotstrings.ahk
#IfWinActive, ahk_class Framework::CFrame
hotstrings("(\w+\_\w+) ","dowork")
hotstrings("(\w+\^\w+) ","dowork")

dowork:
    Send, {LAlt Down}{=}{LAlt Up}
    SendRaw, %$1%
    Send,  {Space}
    Send, {LAlt Down}{=}{LAlt Up}
    Send,  {Space}
    Return

更好的是,您可以修改 DynamicHotstrings.ahk 以便在我们已经处于方程式模式时它会忽略自动转换:

hotstrings(k, a = "")
{
    CoordMode,Pixel,Screen
    PixelGetColor, color, 455, 1
    if (color =  0xD7337F)
        return
      ....
于 2013-09-03T01:49:45.100 回答