这是一个用于简化 OneNote
, Word
和 PowerPoint
中数学公式输入的 AutoHotKey
脚本,例如,\a
代表 \alpha
)。
展示视频1(早期版本。新版本演示视频待更新):
AutoHotKey增强OneNote公式输入_测试1_哔哩哔哩_bilibili
This is a script that simplifies math formula inputs in OneNote
, Word
and PowerPoint
with AutoHotKey
script, e.g., \a
for \alpha
).
English version of introduction: README_EN.md
这一项目还在开发中,欢迎你的建议和参与。
如果网页公式显示异常,请阅读:README.pdf
- 下载并运行symbol_assist_OneNote.exe。
- 输入代码,然后按
Space
键输出符号与公式。例如,输入\a
,然后按Space
键,就会输出$\alpha$ 。 - 想要自行修改公式映射,请参考映射自定义指南。如果需要帮助,请前往AutoHotKey官网。
- 想要停止脚本,用鼠标右键点击系统状态栏中的
H
图标,然后选择Exit
。
此脚本包括多种类型的符号映射,包括希腊字母、数学字体、常用字母和结构。以下是其中的一些映射。请确保您已经使用Alt
+=
进入了公式输入模式。
输入 | 输出 | 分类 | 实际代码 |
---|---|---|---|
\a |
小写希腊字母 | \alpha |
|
\D |
大写希腊字母 | \Delta |
|
\R , \C , \Z , \N , \J
|
|
常用双线体字母 |
\doubleR , ... |
\do X , \sc X , \fr X
|
|
花体字母 |
\doubleX , \scriptX , \frakturX
|
\m3 , \m4 , ..., \m
|
3×3空白矩阵, 4×4空白矩阵..., 待定形状矩阵 | 矩阵 |
[\matrix(@@&&)] , ... |
x\h , x\~ , x\d2
|
|
修饰符 |
\hat , \tilde , \ddot
|
\x , \X , \sq , \pa , \eq
|
|
运算符 |
\cdot , \times , \sqrt , \parallel , \equiv
|
\pd , \di , \inf
|
|
常用符号 |
\partial , "d" , \infty
|
\ls |
左侧上下标 | ^_ P |
|
\i , \j , \k
|
|
虚数/四元数符号 |
"i" , "j" , "k"
|
你应该注意到
(空格键)是常用的,这是OneNote公式输入的关键特性。代码中的大写字母应该使用Shift
键输入,而不是CapsLock
键。
输入 | 输出 | 源代码 | 输入 | 输出 | 源代码 |
---|---|---|---|---|---|
\pd |
\partial{Space} |
\di |
"d" |
||
\inf |
\infty{Space} |
\R |
\doubleR{Space} |
||
\Q |
\doubleQ{Space} |
\Z |
\doubleZ{Space} |
||
\N |
\doubleN{Space} |
\C |
\doubleC{Space} |
||
\J |
\doubleJ{Space} |
输入 | 输出 | 源代码 | 输入 | 输出 | 源代码 |
---|---|---|---|---|---|
\x |
\cdot{Space} |
\X |
\times{Space} |
||
\sq |
\sqrt{Space 2}{Left} |
\pa |
\parallel{Space} |
||
\ss |
\subset{Space} |
\sse |
\subseteq{Space} |
||
\op |
\oplus{Space} |
\ox |
\otimes{Space} |
||
\od |
\odot{Space} |
\dd |
\ddots{Space} |
||
\cd |
\cdots{Space} |
\vd |
\vdots{Space} |
||
\map |
\mapsto{Space} |
\pro |
\propto{Space} |
||
\as |
\because{Space} |
\so |
\therefore{Space} |
||
\eq |
\equiv |
输入 | 输出 | 源代码 | 输入 | 输出 | 源代码 |
---|---|---|---|---|---|
\a |
\alpha{Space} |
\b |
\beta{Space} |
||
\e |
\varepsilon{Space} |
\ve |
\epsilon{Space} |
||
\d |
\delta{Space} |
\D |
\Delta{Space} |
||
\s |
\sigma{Space} |
\S |
\Sigma{Space} |
||
\l |
\lambda{Space} |
\L |
\Lambda{Space} |
||
\t |
\theta{Space} |
\T |
\Theta{Space} |
||
\p |
\phi{Space} |
\P |
\Phi{Space} |
||
\o |
\omega{Space} |
\O |
\Omega{Space} |
||
\g |
\gamma{Space} |
\G |
\Gamma{Space} |
-
ve
指的是epsilon的变体(variant epsilon)。为了方便,\e
被设置为$\varepsilon$ ,\ve
被设置为$\epsilon$ 。这和它们的原始代码相反。
输入 | 输出 | 源代码 |
---|---|---|
\m4 |
4×4空白矩阵 | [\matrix(@@@&&&){Space}]{Space} |
\m3 |
3×3空白矩阵 | [\matrix(@@&&){Space}]{Space} |
\m2 |
2×2空白矩阵 | [\matrix(@&){Space}]{Space} |
\m |
空白矩阵,输入& @ 来设置大小 |
[]{Space}{Left}\matrix(){Left} |
输入 | 输出 | 源代码 |
---|---|---|
\d1 |
\dot{Space 2} |
|
\d2 |
\ddot{Space 2} |
|
\d3 |
上方有3个点 | \dddot{Space 2} |
\d4 |
上方有4个点 | \ddddot{Space 2} |
\~ |
\tilde{Space 2} |
|
\v |
\vec{Space 2} |
|
\h |
\hat{Space 2} |
输入 | 输出 | 源代码 | 输入 | 输出 | 源代码 |
---|---|---|---|---|---|
\lr |
\leftrightarrow{Space} |
\lrs |
\leftrightarrows{Enter}{Left} |
||
\la |
\leftarrow{Space} |
\La |
\Leftarrow{Space} |
||
\down |
\downarrow{Space} |
\up |
\uparrow{Space} |
||
\ul |
\nwarrow{Space} |
\ur |
\nearrow{Space} |
||
\dl |
\swarrow{Space} |
\dr |
\searrow{Space} |
输入 | 输出 | 源代码 | 输入 | 输出 | 源代码 |
---|---|---|---|---|---|
\de |
\degree{Space} |
\st |
\star{Space} |
输入 | 输出 | 源代码 |
---|---|---|
\r |
\right.{Left} |
|
\ceil |
\lceil{Space}\rceil{Space 2}{Left} |
|
\floor |
\lfloor{Space}\rfloor{Space 2}{Left} |
|
\brak |
\bra{Space}\ket{Space 2}{Left} |
|
\ls |
^_ P {Left 4} |
|
\fu |
\funcapply |
\funcapply
与\of
有些许不同。建议自行尝试一下。
输入 | 输出 | 源代码 |
---|---|---|
\sc |
\script |
|
\do |
\double |
|
\fr |
\fraktur |
- 对于以上代码,你实际应当输入的内容形如
\sc X
。
- 了解更多关于公式输入的内容:UTN28-PlainTextMath-v3.pdf。第39~47页非常有用。
- 直接输入Unicode数学符号:https://github.com/gtj1/symbol_assist
- 符合直觉的类Vim文本光标控制:https://github.com/RUSRUSHB/AutoTextCursor
想要自定义映射,请编辑symbol_assist.ahk
,使用Ahk2Exe
或者其他转换器,在Options-Base File (.bin, .exe)
中选择v1.1.37.01c1 U32 Ahk2Exe.exe
进行编译,然后运行编译后的.exe
文件。建议你从AutoHotKey官网了解更多关于AutoHotKey
的知识。
symbol_assist_OneNote.ahk
中的代码非常容易理解,即使你没有学习过AutoHotKey
。对于新手,代码的解释如下:
代码的每一行都是一个输入到符号的映射。格式为:(参数):输入::输出
。例如,::\a::\alpha
意味着当你输入\a
时,脚本会输出\alpha
。
我添加了一些参数co?
:
参数 | 作用 |
---|---|
c |
区分大小写,比如\a 和\A 是不同的。 |
o |
删除你在代码末尾输入的空格键 。 |
? |
即使代码紧跟在数字或字母后面,它也能正常输出。否则,在像是x\h 的情况下它不会输出。 |