AutoHotkey 让写 LaTeX 更轻松

#NoEnv
SetWorkingDir %A_ScriptDir%

!Space::
Send % "{ASC 0" . Asc("$") . "}"
Send % "{ASC 0" . Asc("$") . "}"
Send {Left}
return

!d::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("c") . "}"
Send % "{ASC 0" . Asc("d") . "}"
Send % "{ASC 0" . Asc("o") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc(" ") . "}"
return
!f::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("f") . "}"
Send % "{ASC 0" . Asc("r") . "}"
Send % "{ASC 0" . Asc("a") . "}"
Send % "{ASC 0" . Asc("c") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
Send {Left}
Send {Left}
return
!b::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("b") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("o") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
Send {Left}
Send {Left}
return
!l::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("o") . "}"
Send % "{ASC 0" . Asc("g") . "}"
Send % "{ASC 0" . Asc("_") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
Send {Left}
Send {Left}
return
!r::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("q") . "}"
Send % "{ASC 0" . Asc("r") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!s::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("u") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!+s::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("u") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!p::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("p") . "}"
Send % "{ASC 0" . Asc("r") . "}"
Send % "{ASC 0" . Asc("o") . "}"
Send % "{ASC 0" . Asc("d") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!+p::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("p") . "}"
Send % "{ASC 0" . Asc("r") . "}"
Send % "{ASC 0" . Asc("o") . "}"
Send % "{ASC 0" . Asc("d") . "}"
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!i::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!+i::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!t::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("e") . "}"
Send % "{ASC 0" . Asc("x") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!m::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("a") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("h") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
Send {Left}
return
^[::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
^+[::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
^]::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("a") . "}"
Send % "{ASC 0" . Asc("x") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
^+]::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("a") . "}"
Send % "{ASC 0" . Asc("x") . "}"
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("m") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send % "{ASC 0" . Asc("s") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return


!Left::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("l") . "}"
Send % "{ASC 0" . Asc("e") . "}"
Send % "{ASC 0" . Asc("f") . "}"
Send % "{ASC 0" . Asc("t") . "}"
return
!Right::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("r") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("g") . "}"
Send % "{ASC 0" . Asc("h") . "}"
Send % "{ASC 0" . Asc("t") . "}"
Send {Left}
Send {Left}
Send {Left}
Send {Left}
Send {Left}
Send {Left}
return

!Up::
Send % "{ASC 0" . Asc("^") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!Down::
Send % "{ASC 0" . Asc("_") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return

!Home::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("b") . "}"
Send % "{ASC 0" . Asc("e") . "}"
Send % "{ASC 0" . Asc("g") . "}"
Send % "{ASC 0" . Asc("i") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return
!End::
Send % "{ASC 0" . Asc("\") . "}"
Send % "{ASC 0" . Asc("e") . "}"
Send % "{ASC 0" . Asc("n") . "}"
Send % "{ASC 0" . Asc("d") . "}"
Send % "{ASC 0" . Asc("{") . "}"
Send % "{ASC 0" . Asc("}") . "}"
Send {Left}
return

![::
Send % "{ASC 0" . Asc("(") . "}"
return
!]::
Send % "{ASC 0" . Asc(")") . "}"
return

!,::
Send % "{ASC 0" . Asc(",") . "}"
return
!.::
Send % "{ASC 0" . Asc(".") . "}"
return
!/::
Send % "{ASC 0" . Asc("/") . "}"
return
!;::
Send % "{ASC 0" . Asc(";") . "}"
return
!'::
Send % "{ASC 0" . Asc("'") . "}"
return
!+,::
Send % "{ASC 0" . Asc("<") . "}"
return
!+.::
Send % "{ASC 0" . Asc(">") . "}"
return
!+/::
Send % "{ASC 0" . Asc("?") . "}"
return
!+;::
Send % "{ASC 0" . Asc(":") . "}"
return
!+'::
Send % "{ASC 034}"
return

\::
Send % "{ASC 0" . Asc("\") . "}"
return
[::
Send % "{ASC 0" . Asc("[") . "}"
return
]::
Send % "{ASC 0" . Asc("]") . "}"
return
{::
Send % "{ASC 0" . Asc("{") . "}"
return
}::
Send % "{ASC 0" . Asc("}") . "}"
return