From 1cb5fe516225fcafb939e761ec1de3124cbe2b1c Mon Sep 17 00:00:00 2001 From: jackyansongli Date: Mon, 1 Jun 2026 19:44:52 +0800 Subject: [PATCH 1/2] [0616] Update differential auto-conversion task doc --- devel/0616.md | 58 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/devel/0616.md b/devel/0616.md index d43a608602..ea82daef3c 100644 --- a/devel/0616.md +++ b/devel/0616.md @@ -1,17 +1,23 @@ # [0616] 任务描述 -数学模式下直接敲击 `dx`, `dy`, `dz`, `dr` 等时自动转换为 `x`, `y`, `z`, `r`,并且支持 `d rho`, `d theta` 等常用微分格式。且转换后依然支持用户在中间手动输入空格或进行正常编辑。 +数学模式下直接敲击 `dx`, `dy`, `dz`, `dr`, `du`, `dv`, `dw` 等时自动转换为 `x`, `y`, `z`, `r`, `u`, `v`, `w`,并且支持 `d rho`, `d theta`, `d upsilon`, `d phi`, `d varphi`, `d omega` 等常用微分格式。且转换后依然支持用户在中间手动输入空格或进行正常编辑。 ## 1 相关文档 - [dddd.md](dddd.md) - 任务文档模板 ## 2 任务相关的代码文件 - [TeXmacs/progs/math/math-kbd.scm](TeXmacs/progs/math/math-kbd.scm) +- [TeXmacs/progs/convert/latex/init-latex.scm](TeXmacs/progs/convert/latex/init-latex.scm) +- [TeXmacs/tests/tex/0616_differential_test.tex](TeXmacs/tests/tex/0616_differential_test.tex) +- [TeXmacs/tests/0616.scm](TeXmacs/tests/0616.scm) ## 3 如何测试 ### 3.1 确定性测试(单元测试) -无 +在终端运行集成测试: +```bash +xmake r 0616 +``` ### 3.2 非确定性测试(文档验证) 启动 Mogan Stem,进入数学模式: @@ -19,35 +25,45 @@ 2. 输入 `d` 再输入 `y`,验证是否自动转为 `y`。 3. 输入 `d` 再输入 `z`,验证是否自动转为 `z`。 4. 输入 `d` 再输入 `r`,验证是否自动转为 `r`。 -5. 输入 `d` 再输入 `r` 和 `Tab` 键,验证是否自动转为 ``。 -6. 输入 `d` 再输入 `j` 和 `Tab` 键,验证是否自动转为 ``。 +5. 输入 `d` 再输入 `u`,验证是否自动转为 `u`。 +6. 输入 `d` 再输入 `v`,验证是否自动转为 `v`。 +7. 输入 `d` 再输入 `w`,验证是否自动转为 `w`。 +8. 输入 `d` 再输入 `r` 和 `Tab` 键,验证是否自动转为 ``。 +9. 输入 `d` 再输入 `j` 和 `Tab` 键,验证是否自动转为 ``。 +10. 输入 `d` 再输入 `u` 和 `Tab` 键,验证是否自动转为 ``。 +11. 输入 `d` 再输入 `v` 和 `Tab` 键,验证是否自动转为 ``,再次敲击 `Tab` 键转为 ``。 +12. 输入 `d` 再输入 `w` 和 `Tab` 键,验证是否自动转为 ``。 ## 4 如何提交 提交前执行以下最少步骤: 1. 检查 `TeXmacs/progs/math/math-kbd.scm` 的 Scheme 语法和括号匹配是否正确。 +2. 执行 `gf fmt --changed-since=main` 格式化所有修改过的 Scheme 文件。 +3. 运行集成测试 `xmake r 0616` 确保测试全部通过。 ## 5 What -1. 实现了在数学模式下连续敲击 `dx`, `dy`, `dz`, `dr` 自动转换为 `"x"`, `"y"`, `"z"`, `"r"` 的键盘映射。 -2. 实现了对希腊字母 `rho` (`r var` / `r var var`) 和 `theta` (`j var` / `j var var` / `j var var var`) 微分形式的自动转换。 +1. 实现了在数学模式下连续敲击 `dx`, `dy`, `dz`, `dr`, `du`, `dv`, `dw` 自动转换为相应的直立微分项键盘映射。 +2. 实现了对希腊字母 `rho`, `theta`, `upsilon`, `phi`, `varphi`, `omega` 微分形式的自动转换与 `Tab` 键循环。 3. 保持了字符的独立性,转换后的 `` 与变量是两个单独的符号,用户可以直接在中间插入空格或进行自由编辑。 -4. 实现了对外部 LaTeX 代码导入(包括粘贴)时的自动转换。对于形如 `dx`, `dy`, `dz`, `dr` 以及 `d\rho`, `d\theta` 且中间没有空格的序列,也会在导入时被自动转换为正确的微分形式。 +4. 实现了对外部 LaTeX 代码导入(包括粘贴)时的自动转换。对于形如 `dx`, `dy`, `dz`, `dr`, `du`, `dv`, `dw` 以及希腊字母如 `d\rho`, `d\theta`, `d\upsilon`, `d\phi`, `d\varphi`, `d\omega` 且中间没有空格的序列,也会在导入时被自动转换为正确的微分形式。 ## 6 Why -此前数学模式下敲击 `dx` 会被理解为多字母算子(类似 LaTeX 的 `\mathrm{dx}`),不便输入和修改。外部 LaTeX 导入时这些也会被解析为普通字符,导致排版不正确。本次改动为常用微分项提供了智能快捷纠正与完美的外部代码导入转换,提供了绝佳的用户体验。 +此前数学模式下敲击 `du`, `dv`, `dw` 等会被理解为多字母算子(类似 LaTeX 的 `\mathrm{du}`),不便输入和修改。外部 LaTeX 导入时这些也会被解析为普通字符,导致排版不正确。本次改动延续了之前常用微分项的智能快捷纠正与完美的外部代码导入转换逻辑,扩展到了 `u`, `v`, `w` 参数及常见其对应的希腊字母形式,提供了绝佳的用户体验。 ## 7 How 1. 在 `TeXmacs/progs/math/math-kbd.scm` 的 `(:mode in-math-not-hybrid?)` 快捷键块中增加以下按键序列映射: - - `("d x" "x")` - - `("d y" "y")` - - `("d z" "z")` - - `("d r" "r")` - - `("d r var" "")` - - `("d r var var" "")` - - `("d j var" "")` - - `("d j var var" "")` - - `("d j var var var" "")` - -2. 在 `TeXmacs/progs/convert/latex/init-latex.scm` 中封装 `latex->texmacs` 和 `latex-document->texmacs` 转换函数。在导入解析完成后,通过 Scheme 递归遍历生成的文档树: - - 将满足边界条件的单个字符串中的 `"dx"`, `"dy"`, `"dz"`, `"dr"` 子串拆分并转换为 `""` 与变量。 - - 在 `concat` 节点内查找结尾为 `"d"` 且前一字符非字母的字符串,其下一节点如果为希腊字母 `""`, `""` 等,则自动转换为直立微分符 `""` 形式。 + - `("d u" "u")` + - `("d u var" "")` + - `("d u var var" "du")` + - `("d v" "v")` + - `("d v var" "")` + - `("d v var var" "")` + - `("d v var var var" "dv")` + - `("d w" "w")` + - `("d w var" "")` + - `("d w var var" "")` + - `("d w var var var" "dw")` + +2. 在 `TeXmacs/progs/convert/latex/init-latex.scm` 中对 `latex->texmacs` 和 `latex-document->texmacs` 的后处理流程进行扩展: + - 扩展 `match-differential` 函数:增加 `"u"`, `"v"`, `"w"` 字母前缀匹配,并支持匹配 ``, ``, ``, `` 等希腊符号,以支持 `du`, `dv`, `dw` 等微分格式。 + - 扩展 `transform-concat-children` 函数中的希腊字母匹配:加入 ``, ``, ``, ``,当解析到的 `concat` 子节点结尾为 `"d"` 且下一节点为上述希腊字母时,自动将其切分为带空格的直立微分形式。 From 0b38f374331f5b1820e8b753a9f22c4253821e3f Mon Sep 17 00:00:00 2001 From: jackyansongli Date: Mon, 1 Jun 2026 19:44:58 +0800 Subject: [PATCH 2/2] [0616] Support du, dv, dw auto-conversion in math mode and LaTeX import --- TeXmacs/progs/convert/latex/init-latex.scm | 11 + TeXmacs/progs/math/math-kbd.scm | 3372 +++++++++--------- TeXmacs/tests/0616.scm | 98 +- TeXmacs/tests/tex/0616_differential_test.tex | 8 + 4 files changed, 1782 insertions(+), 1707 deletions(-) diff --git a/TeXmacs/progs/convert/latex/init-latex.scm b/TeXmacs/progs/convert/latex/init-latex.scm index f6fe21d282..fd709f419c 100644 --- a/TeXmacs/progs/convert/latex/init-latex.scm +++ b/TeXmacs/progs/convert/latex/init-latex.scm @@ -153,6 +153,9 @@ (string-starts? rest "y") (string-starts? rest "z") (string-starts? rest "r") + (string-starts? rest "u") + (string-starts? rest "v") + (string-starts? rest "w") ) ;or (cons 1 (substring rest 0 1)) ) ; @@ -160,6 +163,10 @@ ((string-starts? rest "") (cons 8 "")) ((string-starts? rest "") (cons 7 "")) ((string-starts? rest "") (cons 10 "")) + ((string-starts? rest "") (cons 9 "")) + ((string-starts? rest "") (cons 5 "")) + ((string-starts? rest "") (cons 8 "")) + ((string-starts? rest "") (cons 7 "")) (else #f) ) ;cond ) ;let @@ -208,6 +215,10 @@ (string=? c2 "") (string=? c2 "") (string=? c2 "") + (string=? c2 "") + (string=? c2 "") + (string=? c2 "") + (string=? c2 "") ) ;or (let ((len (string-length c1))) (and (> len 0) diff --git a/TeXmacs/progs/math/math-kbd.scm b/TeXmacs/progs/math/math-kbd.scm index c525e622c2..c9e91dd080 100644 --- a/TeXmacs/progs/math/math-kbd.scm +++ b/TeXmacs/progs/math/math-kbd.scm @@ -13,10 +13,12 @@ (texmacs-module (math math-kbd) (:use (generic generic-kbd) - (utils edit auto-close) - (generic format-edit) - (math math-edit) - (table table-edit))) + (utils edit auto-close) + (generic format-edit) + (math math-edit) + (table table-edit) + ) ;:use +) ;texmacs-module ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Bypassing the pre-edit mechanism @@ -24,7 +26,8 @@ (tm-define (disable-pre-edit? key) (:mode in-math?) - (in? key (list "^" "~" "`" "'" "\""))) + (in? key (list "^" "~" "`" "'" "\"")) +) ;tm-define (tm-define (downgrade-pre-edit key) (:mode in-math?) @@ -60,28 +63,29 @@ ((in? key (list "Ẁ" "Ŵ")) "W") ((in? key (list "Ỳ" "Ý" "Ŷ" "Ỹ" "Ÿ")) "Y") ((in? key (list "Ẑ")) "Z") - ((== (string-length key) 1) key) - (else ""))) + ((== (string-length key) 1) key) + (else "") + ) ;cond +) ;tm-define ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Main keyboard shortcuts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(kbd-map - (:mode in-math?) +(kbd-map (:mode in-math?) ;; must come first in order not to screw the menus up ("accent:deadhat" (make-script #t #t)) ("accent:deadhat var" "^") ("math:left accent:deadhat" (make-script #t #f)) - ("math accent:tilde" (make-wide "~")) ; yields M-M-~ - ("math accent:deadhat" (make-wide "^")) ; yields M-M-^ - ("math accent:acute" (make-wide "")) ; yields M-M-' - ("math accent:grave" (make-wide "")) ; yields M-M-` - ("accent:abovedot" (make-wide "")) ; yields M-. - ("accent:umlaut" (make-wide "")) ; yields M-\" - ("accent:breve" (make-wide "")) ; yields M-U - ("accent:invbreve" (make-wide "")) ; yields M-A - ("accent:check" (make-wide "")) ; yields M-V + ("math accent:tilde" (make-wide "~")) + ("math accent:deadhat" (make-wide "^")) + ("math accent:acute" (make-wide "")) + ("math accent:grave" (make-wide "")) + ("accent:abovedot" (make-wide "")) + ("accent:umlaut" (make-wide "")) + ("accent:breve" (make-wide "")) + ("accent:invbreve" (make-wide "")) + ("accent:check" (make-wide "")) ("math:under accent:tilde" (make-wide-under "~")) ("math:under accent:deadhat" (make-wide-under "^")) ("math:under accent:acute" (make-wide-under "")) @@ -91,8 +95,6 @@ ("math:under accent:breve" (make-wide-under "")) ("math:under accent:invbreve" (make-wide-under "")) ("math:under accent:check" (make-wide-under "")) - ;; end - ("S-F5 S-F5" (make 'math-sl)) ("S-F6 S-F6" (make 'math-up)) ("F5 F5" (make 'math-it)) @@ -105,7 +107,6 @@ ("altcmd F6" (make 'math-bf)) ("altcmd F7" (make 'math-tt)) ("altcmd F8" (make 'math-ss)) - ("$" (math-make-math)) ("math $" (make 'text)) ("`" (make-lprime "`")) @@ -409,11 +410,9 @@ ("math:small (" (math-bracket-open "(" ")" #f)) ("math:small ( var" (math-bracket-open "" "" #f)) ("math:small )" (math-bracket-close ")" "(" #f)) - ; ("math:small [" (math-bracket-open "[" "]" #f)) ("math:small [ var" (math-bracket-open "[" "[" #f)) ("math:small [ var var" (math-bracket-open "]" "]" #f)) ("math:small [ var var var" (math-bracket-open "]" "[" #f)) - ; ("math:small ]" (math-bracket-close "]" "[" #f)) ("math:small [ [" (twice (math-bracket-open "[" "]" #f))) ("math:small ] ]" (twice (math-bracket-close "]" "[" #f))) ("math:small [ [ var" (math-bracket-open "" "" #f)) @@ -543,20 +542,31 @@ ("| =" (math-bracket-open "|" "|" 'default) (insert "=")) ("| | -" (math-bracket-open "<||>" "<||>" 'default) (insert "-")) ("| | =" (math-bracket-open "<||>" "<||>" 'default) (insert "=")) - ("| | | -" (math-bracket-open "" "" 'default) - (insert "-")) - ("| | | =" (math-bracket-open "" "" 'default) - (insert "=")) + ("| | | -" + (math-bracket-open "" "" 'default) + (insert "-") + ) ; + ("| | | =" + (math-bracket-open "" "" 'default) + (insert "=") + ) ; ("- |" (insert "-") (math-bracket-open "|" "|" 'default)) ("= |" (insert "=") (math-bracket-open "|" "|" 'default)) ("- | |" (insert "-") (math-bracket-open "<||>" "<||>" 'default)) ("= | |" (insert "=") (math-bracket-open "<||>" "<||>" 'default)) - ("- | | |" (insert "-") - (math-bracket-open "" "" 'default)) - ("= | | |" (insert "=") - (math-bracket-open "" "" 'default)) - ("| - |" (math-bracket-open "|" "|" 'default) (insert "-") - (math-bracket-open "|" "|" 'default)) + ("- | | |" + (insert "-") + (math-bracket-open "" "" 'default) + ) ; + ("= | | |" + (insert "=") + (math-bracket-open "" "" 'default) + ) ; + ("| - |" + (math-bracket-open "|" "|" 'default) + (insert "-") + (math-bracket-open "|" "|" 'default) + ) ; ("<" "") (">" "") @@ -836,7 +846,7 @@ ("> var var var var var" "") ("< var var var var var =" "") ("> var var var var var =" "") - + ("< var var var var var var" (math-bracket-open "" "" 'default)) ("> var var var var var var" (math-bracket-open "" "" 'default)) ("< < var var var" (math-bracket-open "" "" 'default)) @@ -844,7 +854,7 @@ ("- < var" "") ("> - var" "") - + ("- >" "") ("- > var" "") ("- > var var" "") @@ -906,7 +916,7 @@ ("< = = var var var" "") ("< = = var var var >" "") ("< = = > var var" "") - + ("- var" (make 'textendash)) ("- / var" "") ("- / var var" "") @@ -1319,1612 +1329,1623 @@ ("~ /" "") ("~ ~ /" "") ("~ - /" "") - ("~ = /" "")) - -(kbd-map - (:mode in-math-or-hybrid?) - ("/ \\" "") - ("/ \\ var " "") - ("/ \\ var var" "") - ("/ \\ var var var" "") - ("/ \\ var var var var" "") - ("/ \\ var var var var var" "") - ("/ \\ var var var var var var" "") - ("/ \\ var var var var var var var" (begin (insert "/") (make-hybrid))) - ("- / \\" "") - ("\\ /" "") - ("\\ / var" "") - ("\\ / var +" "") - ("\\ / var var" "") - ("\\ / var var var" "") - ("\\ / var var var var" "") - ("\\ / var var var var var" "") - ("\\ / var var var var var var" "") - ("\\ / var var var var var var var" (begin (make-hybrid) (insert "/"))) - ("\\ / -" "")) - -(kbd-map - (:mode in-math?) - ("# var" "") - ("# var var" "") - ("# var var var" "") - ("&" "") - ("& . ." "") - ("& var" "") - ("& var . ." "") - ("& var var" "") - ("& var var . ." "") - ("& var var var" "") - ("& var var var . ." "") - ("& var var var var" "") - ("& var var var var var . ." "") - ("& var var var var var" "") - ("& var var var var var var" "") - ("& var var var var var var var" "&") - ("- &" "") - ("- & . ." "") - ("%" "") - ("% . ." "") - ("% var" "") - ("% var . ." "") - ("% var +" "") - ("% var + . ." "") - ("% var + +" "") - ("% var var" "") - ("% var var . ." "") - ("% var var var" "") - ("% var var var . ." "") - ("% var var var var" "") - ("% var var var var . ." "") - ("% var var var var var" "") - ("% var var var var var var" "") - ("% var var var var var var var" "") - ("% var var var var var var var var" "%") - ("% -" "") - ("% - . ." "") - - ("/ /" "") - ("/ / var" "") - ("/ / var var" "//") - ("| /" "") - ("| / var" "") - ("| var" "|") - ("| var / var" "") - ("| var var" (math-separator "|" 'default)) - ("| var var var" "") - ("| var var var /" "") - ("| var var var var" "") - ("| var var var var var" "") - ("| var var var var var /" "") - ("| | var" "<||>") - ("| | var /" "") - ("| | var var" (math-separator "<||>" 'default)) - ("| | var var /" "") - ("| | var var var" "") - ("| | var var var /" "") - ("| | var var var var" "") - ("| | var var var var /" "") - ("| | | var" "") - - ("| - var" "") - ("| - var -" "") - ("| - -" "") - ("| var -" "") - ("| var - -" "") - ("| | - var" "") - ("| | - var -" "") - ("| | - -" "") - ("| | var -" "") - ("| | var - -" "") - ("| | | - var" "") - ("| | | - var -" "") - ("| | | - -" "") - ("| | | var -" "") - ("| | | var - -" "") - ("- | var" "") - ("- | var |" "") - ("- | var | |" "") - ("- | | var" "") - ("- | | | var" "") - ("- - |" "") - ("- - | |" "") - ("- - | | |" "") - ("| = var" "") - ("| = var =" "") - ("| = =" "") - ("| var =" "") - ("| var = =" "") - ("| | = var" "") - ("| | = var =" "") - ("| | = =" "") - ("| | var =" "") - ("| | var = =" "") - ("| | | = var" "") - ("| | | = var =" "") - ("| | | = =" "") - ("| | | var =" "") - ("| | | var = =" "") - ("= | var" "") - ("= | var |" "") - ("= | var | |" "") - ("= | | var" "") - ("= | | | var" "") - ("= = |" "") - ("= = | |" "") - ("= = | | |" "") - - ("| - var /" "") - ("| - /" "") - ("| var - /" "") - ("| | - var /" "") - ("| | - /" "") - ("| | var - /" "") - ("| | | - var /" "") - ("| | | - /" "") - ("| | | var - /" "") - ("- | var /" "") - ("- | /" "") - ("- | var | /" "") - ("- | | var /" "") - ("- | | /" "") - ("- | | | var /" "") - ("- | | | /" "") - ("| = var /" "") - ("| = /" "") - ("| var = /" "") - ("| | = var /" "") - ("| | = /" "") - ("| | var = /" "") - ("| | | = var /" "") - ("| | | = /" "") - ("| | | var = /" "") - ("= | var /" "") - ("= | /" "") - ("= | var | /" "") - ("= | | var /" "") - ("= | | /" "") - ("= | | | var /" "") - ("= | | | /" "") - - ("< | var" "") - ("< | var /" "") - ("< | var =" "") - ("< | var = /" "") - ("< | var = var" "") - ("< | var = var /" "") - ("< | var var" "") - ("< | var var /" "") - ("< | var var =" "") - ("< | var var = /" "") - ("< | var var = var" "") - ("< | var var = var /" "") - ("| > var" "") - ("| > var /" "") - ("| > var =" "") - ("| > var = /" "") - ("| > var = var" "") - ("| > var = var /" "") - ("| > var var" "") - ("| > var var /" "") - ("| > var var =" "") - ("| > var var = /" "") - ("| > var var = var" "") - ("| > var var = var /" "") - ("| var >" "") - ("| var > /" "") - ("| var > =" "") - ("| var > = /" "") - ("| var > = var" "") - ("| var > = var /" "") - ("| var > var" "") - ("| var > var /" "") - ("| var > var =" "") - ("| var > var = /" "") - ("| var > var = var" "") - ("| var > var = var /" "") - - ("+ var" "") - ("+ var var" "") - ("+ var var var" "") - ("+ var var var var" "") - ("+ . ." "++") - ("+ +" "++") - ("+ -" "") - ("- +" "") - ("+ - . ." "") - ("- + . ." "") - ("+ + var" "") - ("@ =" "") - ("@ = var" "") - ("= @" "") - ("- . ." "--") - ("- @" "") - ("- - @" "") - (". =" "") - (". +" "") - (". -" "") - (". *" "") - (". * var" "") - (". ." "") - (". . var" "") - (". . var !" "") - (". . var var" "") - (". . var var var" "") - (". . var var var var" "") - (". . var var var var var" "") - (":" ":") - (": var" "") - (": var var" "") - (": var var . ." "") - (": var var var" "") - (": :" "") - (": >" "") - (": =" "") - ("+ =" "") - ("- =" "") - ("/ var" "") - ("/ var var" "
") - ("*" "") - ("* . ." "**") - ("* *" "**") - ("* var" "*") - ("* var . ." "") - ("* var var" "") - ("* var var . ." "") - ("* var var var" "") - ("* var var var . ." "") - ("* var var var var" "") - ("* var var var var . ." "") - ("* var var var var var" "") - ("* &" "") - ("| var *" "") - ("| var * var" "") - ("| var * var var" "") - ("| var * |" "") - ("* var |" "") - ("* var | var" "") - ("* var | var var" "") - ("! var" "") - - ("math:misc &" "&") - ("math:misc %" "%") - ("math:misc % var" "") - ("math:misc \\" "\\") - ("math:misc \\ var" "") - ("math:misc \\ var var" "") - ("math:misc |" "|") - ("math:misc | var" "") - ("math:misc | var /" "") - ("math:misc | var var" "") - ("math:misc | var var /" "") - ("math:misc | |" "<||>") - ("math:misc | | /" "") - ("math:misc | | var" "") - ("math:misc | | var /" "") - ("math:misc | | var var" "") - ("math:misc | | var var /" "") - - ("math:greek a" "") - ("math:greek b" "") - ("math:greek g" "") - ("math:greek g var" "") - ("math:greek d" "") - ("math:greek e" "") - ("math:greek e var" "") - ("math:greek e var var" "") - ("math:greek z" "") - ("math:greek h" "") - ("math:greek j" "") - ("math:greek j var" "") - ("math:greek i" "") - ("math:greek k" "") - ("math:greek k var" "") - ("math:greek l" "") - ("math:greek l var" "") - ("math:greek m" "") - ("math:greek n" "") - ("math:greek x" "") - ("math:greek o" "") - ("math:greek p" "") - ("math:greek p var" "") - ("math:greek p var var" "") - ("math:greek r" "") - ("math:greek r var" "") - ("math:greek s" "") - ("math:greek s var" "") - ("math:greek c" "") - ("math:greek c var" "") - ("math:greek t" "") - ("math:greek u" "") - ("math:greek y" "") - ("math:greek q" "") - ("math:greek w" "") - ("math:greek w var" "") - ("math:greek v" "") - ("math:greek v var" "") - ("math:greek f" "") - ("math:greek f var" "") - ("math:greek A" "") - ("math:greek B" "") - ("math:greek G" "") - ("math:greek G var" "") - ("math:greek D" "") - ("math:greek D var" "") - ("math:greek E" "") - ("math:greek E var" "") - ("math:greek Z" "") - ("math:greek H" "") - ("math:greek J" "") - ("math:greek I" "") - ("math:greek K" "") - ("math:greek L" "") - ("math:greek M" "") - ("math:greek N" "") - ("math:greek X" "") - ("math:greek O" "") - ("math:greek P" "") - ("math:greek R" "") - ("math:greek S" "") - ("math:greek S var" "") - ("math:greek C" "") - ("math:greek T" "") - ("math:greek U" "") - ("math:greek Y" "") - ("math:greek Q" "") - ("math:greek W" "") - ("math:greek W var" "") - ("math:greek V" "") - ("math:greek F" "")) - -(kbd-map - (:mode in-math-not-hybrid?) - ("a var" "") - ("b var" "") - ("b var var" "") - ("c var" "") - ("c var var" "") - ("c - var" "<#A793>") - ("d var" "") - ("d var var" "") - ("d var var var" "") - ("d - var " "<#111>") - ("e var" "") - ("e var var" "") - ("e var var var" "") - ("e var var var var" "") - ("g var" "") - ("g var var" "") - ("h var" "") - ("h var var" "") - ("i var" "") - ("i var var" "") - ("i var var var" "") - ("j var" "") - ("j var var" "") - ("j var var var" "") - ("k var" "") - ("k var var" "") - ("k - var" "<#A741>") - ("l var" "") - ("l var var" "") - ("l var var var" "") - ("l - var" "<#A749>") - ("m var" "") - ("n var" "") - ("n var var" "") - ("o var" "") - ("o - var" "<#A74B>") - ("p var" "") - ("p var var" "") - ("p var var var" "") - ("p - var" "<#A751>") - ("q var" "") - ("r var" "") - ("r var var" "") - ("s var" "") - ("s var var" "") - ("s - var" "<#A7A9>") - ("t var" "") - ("u var" "") - ("v var" "") - ("v var var" "") - ("f var" "") - ("f var var" "") - ("f - var" "<#A799>") - ("w var" "") - ("w var var" "") - ("x var" "") - ("y var" "") - ("z var" "") - - ("A var" "") - ("A var var" "") - ("A var var var" "") - ("B var" "") - ("B var var" "") - ("B var var var" "") - ("C var" "") - ("C var var" "") - ("C var var var" "") - ("C - var" "<#A792>") - ("D var" "") - ("D var var" "") - ("D var var var" "") - ("D var var var var" "") - ("D - var" "<#110>") - ("E var" "") - ("E var var" "") - ("E var var var" "") - ("E var var var var" "") - ("G var" "") - ("G var var" "") - ("G var var var" "") - ("G var var var var" "") - ("H var" "") - ("I var" (math-big-operator "int")) - ("I I var" (math-big-operator "iint")) - ("I var ."(math-big-operator "idotsint")) - ("I I I var" (math-big-operator "iiint")) - ("I I I I var" (math-big-operator "iiiint")) - ("I var var " "") - ("I var var var" "") - ("J var" "") - ("K var" "") - ("K - var" "<#A740>") - ("L var" "") - ("L - var" "<#A748>") - ("M var" "") - ("N var" "") - ("N var var" (math-big-operator "cap")) - ("O var" "") - ("O - var" "<#A74A>") - ("P var" "") - ("P var var" "") - ("P var var var" (math-big-operator "prod")) - ("P - var" "<#A750>") - ("Q var" "") - ("R var" "") - ("R var var" "") - ("S var" "") - ("S var var" "") - ("S var var var" (math-big-operator "sum")) - ("S - var" "<#A7A8>") - ("T var" "") - ("T var var" "") - ("T var var var" "") - ("T var var var var" "") - ("T var var var var var" "") - ("T var var var var var var" "") - ("T var var var var var var var" "") - ("U var" "") - ("U var var" (math-big-operator "cup")) - ("V var" "") - ("V var var" "") - ("F var" "") - ("F - var" "<#A798>") - ("W var" "") - ("W var var" "") - ("X var" "") - ("Y var" "") - ("Y var var" "") - ("Y var var var" "") - ("Y var var var var" "") - ("Y var var var var var" "") - ("Z var" "")) - -(kbd-map - (:mode in-math?) - ("math:bold 0" "") - ("math:bold 1" "") - ("math:bold 2" "") - ("math:bold 3" "") - ("math:bold 4" "") - ("math:bold 5" "") - ("math:bold 6" "") - ("math:bold 7" "") - ("math:bold 8" "") - ("math:bold 9" "") - ("math:bold a" "") - ("math:bold b" "") - ("math:bold c" "") - ("math:bold d" "") - ("math:bold e" "") - ("math:bold f" "") - ("math:bold g" "") - ("math:bold h" "") - ("math:bold i" "") - ("math:bold j" "") - ("math:bold k" "") - ("math:bold l" "") - ("math:bold m" "") - ("math:bold n" "") - ("math:bold o" "") - ("math:bold p" "") - ("math:bold q" "") - ("math:bold r" "") - ("math:bold s" "") - ("math:bold t" "") - ("math:bold u" "") - ("math:bold v" "") - ("math:bold w" "") - ("math:bold x" "") - ("math:bold y" "") - ("math:bold z" "") - ("math:bold A" "") - ("math:bold B" "") - ("math:bold C" "") - ("math:bold D" "") - ("math:bold E" "") - ("math:bold F" "") - ("math:bold G" "") - ("math:bold H" "") - ("math:bold I" "") - ("math:bold J" "") - ("math:bold K" "") - ("math:bold L" "") - ("math:bold M" "") - ("math:bold N" "") - ("math:bold O" "") - ("math:bold P" "") - ("math:bold Q" "") - ("math:bold R" "") - ("math:bold S" "") - ("math:bold T" "") - ("math:bold U" "") - ("math:bold V" "") - ("math:bold W" "") - ("math:bold X" "") - ("math:bold Y" "") - ("math:bold Z" "") - ("math:bold i var" "") - ("math:bold j var" "") - ("math:bold l var" "") - ("math:bold ~" "") - ("math:bold ~ ~" "") - - ("math:bold:greek a" "") - ("math:bold:greek b" "") - ("math:bold:greek g" "") - ("math:bold:greek d" "") - ("math:bold:greek e" "") - ("math:bold:greek e var" "") - ("math:bold:greek e var var" "") - ("math:bold:greek z" "") - ("math:bold:greek h" "") - ("math:bold:greek j" "") - ("math:bold:greek j var" "") - ("math:bold:greek i" "") - ("math:bold:greek k" "") - ("math:bold:greek k var" "") - ("math:bold:greek l" "") - ("math:bold:greek m" "") - ("math:bold:greek n" "") - ("math:bold:greek x" "") - ("math:bold:greek o" "") - ("math:bold:greek p" "") - ("math:bold:greek p var" "") - ("math:bold:greek r" "") - ("math:bold:greek r var" "") - ("math:bold:greek s" "") - ("math:bold:greek s var" "") - ("math:bold:greek c" "") - ("math:bold:greek c var" "") - ("math:bold:greek t" "") - ("math:bold:greek u" "") - ("math:bold:greek y" "") - ("math:bold:greek q" "") - ("math:bold:greek w" "") - ("math:bold:greek w var" "") - ("math:bold:greek v" "") - ("math:bold:greek v var" "") - ("math:bold:greek f" "") - ("math:bold:greek f var" "") - ("math:bold:greek A" "") - ("math:bold:greek B" "") - ("math:bold:greek G" "") - ("math:bold:greek D" "") - ("math:bold:greek E" "") - ("math:bold:greek E var" "") - ("math:bold:greek Z" "") - ("math:bold:greek H" "") - ("math:bold:greek J" "") - ("math:bold:greek I" "") - ("math:bold:greek K" "") - ("math:bold:greek L" "") - ("math:bold:greek M" "") - ("math:bold:greek N" "") - ("math:bold:greek X" "") - ("math:bold:greek O" "") - ("math:bold:greek P" "") - ("math:bold:greek R" "") - ("math:bold:greek S" "") - ("math:bold:greek S var" "") - ("math:bold:greek C" "") - ("math:bold:greek T" "") - ("math:bold:greek U" "") - ("math:bold:greek Y" "") - ("math:bold:greek Q" "") - ("math:bold:greek W" "") - ("math:bold:greek W var" "") - ("math:bold:greek V" "") - ("math:bold:greek F" "") - - ("math:bold a var" "") - ("math:bold b var" "") - ("math:bold c var" "") - ("math:bold c var var" "") - ("math:bold d var" "") - ("math:bold e var" "") - ("math:bold e var var" "") - ("math:bold e var var var" "") - ("math:bold g var" "") - ("math:bold h var" "") - ("math:bold i var" "") - ("math:bold i var var" "") - ("math:bold j var" "") - ("math:bold j var var" "") - ("math:bold j var var var" "") - ("math:bold k var" "") - ("math:bold k var var" "") - ("math:bold l var" "") - ("math:bold l var var" "") - ("math:bold m var" "") - ("math:bold n var" "") - ("math:bold o var" "") - ("math:bold p var" "") - ("math:bold p var var" "") - ("math:bold q var" "") - ("math:bold r var" "") - ("math:bold r var var" "") - ("math:bold s var" "") - ("math:bold s var var" "") - ("math:bold t var" "") - ("math:bold u var" "") - ("math:bold v var" "") - ("math:bold v var var" "") - ("math:bold f var" "") - ("math:bold f var var" "") - ("math:bold w var" "") - ("math:bold w var var" "") - ("math:bold x var" "") - ("math:bold y var" "") - ("math:bold z var" "") - ("math:bold A var" "") - ("math:bold B var" "") - ("math:bold C var" "") - ("math:bold D var" "") - ("math:bold E var" "") - ("math:bold E var var" "") - ("math:bold G var" "") - ("math:bold H var" "") - ("math:bold I var" "") - ("math:bold J var" "") - ("math:bold K var" "") - ("math:bold L var" "") - ("math:bold M var" "") - ("math:bold N var" "") - ("math:bold O var" "") - ("math:bold P var" "") - ("math:bold Q var" "") - ("math:bold R var" "") - ("math:bold S var" "") - ("math:bold S var var" "") - ("math:bold T var" "") - ("math:bold U var" "") - ("math:bold V var" "") - ("math:bold F var" "") - ("math:bold W var" "") - ("math:bold W var var" "") - ("math:bold X var" "") - ("math:bold Y var" "") - ("math:bold Z var" "") - - ("math:up a" "") - ("math:up b" "") - ("math:up c" "") - ("math:up d" "") - ("math:up e" "") - ("math:up f" "") - ("math:up g" "") - ("math:up h" "") - ("math:up i" "") - ("math:up j" "") - ("math:up k" "") - ("math:up l" "") - ("math:up m" "") - ("math:up n" "") - ("math:up o" "") - ("math:up p" "") - ("math:up q" "") - ("math:up r" "") - ("math:up s" "") - ("math:up t" "") - ("math:up u" "") - ("math:up v" "") - ("math:up w" "") - ("math:up x" "") - ("math:up y" "") - ("math:up z" "") - ("math:up A" "") - ("math:up B" "") - ("math:up C" "") - ("math:up D" "") - ("math:up E" "") - ("math:up F" "") - ("math:up G" "") - ("math:up H" "") - ("math:up I" "") - ("math:up J" "") - ("math:up K" "") - ("math:up L" "") - ("math:up M" "") - ("math:up N" "") - ("math:up O" "") - ("math:up P" "") - ("math:up Q" "") - ("math:up R" "") - ("math:up S" "") - ("math:up T" "") - ("math:up U" "") - ("math:up V" "") - ("math:up W" "") - ("math:up X" "") - ("math:up Y" "") - ("math:up Z" "") - - ("math:up a var" "") - ("math:up b var" "") - ("math:up c var" "") - ("math:up c var var" "") - ("math:up d var" "") - ("math:up e var" "") - ("math:up e var var" "") - ("math:up g var" "") - ("math:up h var" "") - ("math:up i var" "") - ("math:up i var var" "") - ("math:up j var" "") - ("math:up j var var" "") - ("math:up j var var var" "") - ("math:up k var" "") - ("math:up k var var" "") - ("math:up l var" "") - ("math:up l var var" "") - ("math:up m var" "") - ("math:up n var" "") - ("math:up o var" "") - ("math:up p var" "") - ("math:up p var var" "") - ("math:up q var" "") - ("math:up r var" "") - ("math:up r var var" "") - ("math:up s var" "") - ("math:up s var var" "") - ("math:up t var" "") - ("math:up u var" "") - ("math:up v var" "") - ("math:up v var var" "") - ("math:up f var" "") - ("math:up f var var" "") - ("math:up w var" "") - ("math:up x var" "") - ("math:up y var" "") - ("math:up z var" "") - ;;("math:up A var" "") - ;;("math:up B var" "") - ;;("math:up C var" "") - ;;("math:up D var" "") - ;;("math:up E var" "") - ;;("math:up G var" "") - ;;("math:up H var" "") - ;;("math:up I var" "") - ;;("math:up J var" "") - ;;("math:up K var" "") - ;;("math:up L var" "") - ;;("math:up M var" "") - ;;("math:up N var" "") - ;;("math:up O var" "") - ;;("math:up P var" "") - ;;("math:up Q var" "") - ;;("math:up R var" "") - ;;("math:up S var" "") - ;;("math:up T var" "") - ;;("math:up U var" "") - ;;("math:up V var" "") - ;;("math:up F var" "") - ;;("math:up W var" "") - ;;("math:up W var var" "") - ;;("math:up X var" "") - ;;("math:up Y var" "") - ;;("math:up Z var" "") - - ("math:bold:up a" "") - ("math:bold:up b" "") - ("math:bold:up c" "") - ("math:bold:up d" "") - ("math:bold:up e" "") - ("math:bold:up f" "") - ("math:bold:up g" "") - ("math:bold:up h" "") - ("math:bold:up i" "") - ("math:bold:up j" "") - ("math:bold:up k" "") - ("math:bold:up l" "") - ("math:bold:up m" "") - ("math:bold:up n" "") - ("math:bold:up o" "") - ("math:bold:up p" "") - ("math:bold:up q" "") - ("math:bold:up r" "") - ("math:bold:up s" "") - ("math:bold:up t" "") - ("math:bold:up u" "") - ("math:bold:up v" "") - ("math:bold:up w" "") - ("math:bold:up x" "") - ("math:bold:up y" "") - ("math:bold:up z" "") - ("math:bold:up A" "") - ("math:bold:up B" "") - ("math:bold:up C" "") - ("math:bold:up D" "") - ("math:bold:up E" "") - ("math:bold:up F" "") - ("math:bold:up G" "") - ("math:bold:up H" "") - ("math:bold:up I" "") - ("math:bold:up J" "") - ("math:bold:up K" "") - ("math:bold:up L" "") - ("math:bold:up M" "") - ("math:bold:up N" "") - ("math:bold:up O" "") - ("math:bold:up P" "") - ("math:bold:up Q" "") - ("math:bold:up R" "") - ("math:bold:up S" "") - ("math:bold:up T" "") - ("math:bold:up U" "") - ("math:bold:up V" "") - ("math:bold:up W" "") - ("math:bold:up X" "") - ("math:bold:up Y" "") - ("math:bold:up Z" "") - - ("math:bold:up a var" "") - ("math:bold:up b var" "") - ("math:bold:up c var" "") - ("math:bold:up c var var" "") - ("math:bold:up d var" "") - ("math:bold:up e var" "") - ("math:bold:up e var var" "") - ("math:bold:up g var" "") - ("math:bold:up h var" "") - ("math:bold:up i var" "") - ("math:bold:up i var var" "") - ("math:bold:up j var" "") - ("math:bold:up j var var" "") - ("math:bold:up j var var var" "") - ("math:bold:up k var" "") - ("math:bold:up k var var" "") - ("math:bold:up l var" "") - ("math:bold:up l var var" "") - ("math:bold:up m var" "") - ("math:bold:up n var" "") - ("math:bold:up o var" "") - ("math:bold:up p var" "") - ("math:bold:up p var var" "") - ("math:bold:up q var" "") - ("math:bold:up r var" "") - ("math:bold:up r var var" "") - ("math:bold:up s var" "") - ("math:bold:up s var var" "") - ("math:bold:up t var" "") - ("math:bold:up u var" "") - ("math:bold:up v var" "") - ("math:bold:up v var var" "") - ("math:bold:up f var" "") - ("math:bold:up f var var" "") - ("math:bold:up w var" "") - ("math:bold:up x var" "") - ("math:bold:up y var" "") - ("math:bold:up z var" "") - ;;("math:bold:up A var" "") - ;;("math:bold:up B var" "") - ;;("math:bold:up C var" "") - ;;("math:bold:up D var" "") - ;;("math:bold:up E var" "") - ;;("math:bold:up G var" "") - ;;("math:bold:up H var" "") - ;;("math:bold:up I var" "") - ;;("math:bold:up J var" "") - ;;("math:bold:up K var" "") - ;;("math:bold:up L var" "") - ;;("math:bold:up M var" "") - ;;("math:bold:up N var" "") - ;;("math:bold:up O var" "") - ;;("math:bold:up P var" "") - ;;("math:bold:up Q var" "") - ;;("math:bold:up R var" "") - ;;("math:bold:up S var" "") - ;;("math:bold:up T var" "") - ;;("math:bold:up U var" "") - ;;("math:bold:up V var" "") - ;;("math:bold:up F var" "") - ;;("math:bold:up W var" "") - ;;("math:bold:up W var var" "") - ;;("math:bold:up X var" "") - ;;("math:bold:up Y var" "") - ;;("math:bold:up Z var" "") - - ("math:cal a" "") - ("math:cal b" "") - ("math:cal c" "") - ("math:cal d" "") - ("math:cal e" "") - ("math:cal f" "") - ("math:cal g" "") - ("math:cal h" "") - ("math:cal i" "") - ("math:cal j" "") - ("math:cal k" "") - ("math:cal l" "") - ("math:cal m" "") - ("math:cal n" "") - ("math:cal o" "") - ("math:cal p" "") - ("math:cal q" "") - ("math:cal r" "") - ("math:cal s" "") - ("math:cal t" "") - ("math:cal u" "") - ("math:cal v" "") - ("math:cal w" "") - ("math:cal x" "") - ("math:cal y" "") - ("math:cal z" "") - ("math:cal A" "") - ("math:cal B" "") - ("math:cal C" "") - ("math:cal D" "") - ("math:cal E" "") - ("math:cal F" "") - ("math:cal G" "") - ("math:cal H" "") - ("math:cal I" "") - ("math:cal J" "") - ("math:cal K" "") - ("math:cal L" "") - ("math:cal M" "") - ("math:cal N" "") - ("math:cal O" "") - ("math:cal P" "") - ("math:cal Q" "") - ("math:cal R" "") - ("math:cal S" "") - ("math:cal T" "") - ("math:cal U" "") - ("math:cal V" "") - ("math:cal W" "") - ("math:cal X" "") - ("math:cal Y" "") - ("math:cal Z" "") - - ("math:calstar a" "") - ("math:calstar b" "") - ("math:calstar c" "") - ("math:calstar d" "") - ("math:calstar e" "") - ("math:calstar f" "") - ("math:calstar g" "") - ("math:calstar h" "") - ("math:calstar i" "") - ("math:calstar j" "") - ("math:calstar k" "") - ("math:calstar l" "") - ("math:calstar m" "") - ("math:calstar n" "") - ("math:calstar o" "") - ("math:calstar p" "") - ("math:calstar q" "") - ("math:calstar r" "") - ("math:calstar s" "") - ("math:calstar t" "") - ("math:calstar u" "") - ("math:calstar v" "") - ("math:calstar w" "") - ("math:calstar x" "") - ("math:calstar y" "") - ("math:calstar z" "") - ("math:calstar A" "") - ("math:calstar B" "") - ("math:calstar C" "") - ("math:calstar D" "") - ("math:calstar E" "") - ("math:calstar F" "") - ("math:calstar G" "") - ("math:calstar H" "") - ("math:calstar I" "") - ("math:calstar J" "") - ("math:calstar K" "") - ("math:calstar L" "") - ("math:calstar M" "") - ("math:calstar N" "") - ("math:calstar O" "") - ("math:calstar P" "") - ("math:calstar Q" "") - ("math:calstar R" "") - ("math:calstar S" "") - ("math:calstar T" "") - ("math:calstar U" "") - ("math:calstar V" "") - ("math:calstar W" "") - ("math:calstar X" "") - ("math:calstar Y" "") - ("math:calstar Z" "") - - ("math:bold:cal a" "") - ("math:bold:cal b" "") - ("math:bold:cal c" "") - ("math:bold:cal d" "") - ("math:bold:cal e" "") - ("math:bold:cal f" "") - ("math:bold:cal g" "") - ("math:bold:cal h" "") - ("math:bold:cal i" "") - ("math:bold:cal j" "") - ("math:bold:cal k" "") - ("math:bold:cal l" "") - ("math:bold:cal m" "") - ("math:bold:cal n" "") - ("math:bold:cal o" "") - ("math:bold:cal p" "") - ("math:bold:cal q" "") - ("math:bold:cal r" "") - ("math:bold:cal s" "") - ("math:bold:cal t" "") - ("math:bold:cal u" "") - ("math:bold:cal v" "") - ("math:bold:cal w" "") - ("math:bold:cal x" "") - ("math:bold:cal y" "") - ("math:bold:cal z" "") - ("math:bold:cal A" "") - ("math:bold:cal B" "") - ("math:bold:cal C" "") - ("math:bold:cal D" "") - ("math:bold:cal E" "") - ("math:bold:cal F" "") - ("math:bold:cal G" "") - ("math:bold:cal H" "") - ("math:bold:cal I" "") - ("math:bold:cal J" "") - ("math:bold:cal K" "") - ("math:bold:cal L" "") - ("math:bold:cal M" "") - ("math:bold:cal N" "") - ("math:bold:cal O" "") - ("math:bold:cal P" "") - ("math:bold:cal Q" "") - ("math:bold:cal R" "") - ("math:bold:cal S" "") - ("math:bold:cal T" "") - ("math:bold:cal U" "") - ("math:bold:cal V" "") - ("math:bold:cal W" "") - ("math:bold:cal X" "") - ("math:bold:cal Y" "") - ("math:bold:cal Z" "") - - ("math:frak a" "") - ("math:frak b" "") - ("math:frak c" "") - ("math:frak d" "") - ("math:frak e" "") - ("math:frak f" "") - ("math:frak g" "") - ("math:frak h" "") - ("math:frak i" "") - ("math:frak i var" "") - ("math:frak j" "") - ("math:frak j var" "") - ("math:frak k" "") - ("math:frak l" "") - ("math:frak m" "") - ("math:frak n" "") - ("math:frak o" "") - ("math:frak p" "") - ("math:frak q" "") - ("math:frak r" "") - ("math:frak s" "") - ("math:frak t" "") - ("math:frak u" "") - ("math:frak v" "") - ("math:frak w" "") - ("math:frak x" "") - ("math:frak y" "") - ("math:frak z" "") - ("math:frak A" "") - ("math:frak B" "") - ("math:frak C" "") - ("math:frak D" "") - ("math:frak E" "") - ("math:frak F" "") - ("math:frak G" "") - ("math:frak H" "") - ("math:frak I" "") - ("math:frak J" "") - ("math:frak K" "") - ("math:frak L" "") - ("math:frak M" "") - ("math:frak N" "") - ("math:frak O" "") - ("math:frak P" "") - ("math:frak Q" "") - ("math:frak R" "") - ("math:frak S" "") - ("math:frak T" "") - ("math:frak U" "") - ("math:frak V" "") - ("math:frak W" "") - ("math:frak X" "") - ("math:frak Y" "") - ("math:frak Z" "") - - ("math:bbb 0" "") - ("math:bbb 1" "") - ("math:bbb 2" "") - ("math:bbb 3" "") - ("math:bbb 4" "") - ("math:bbb 5" "") - ("math:bbb 6" "") - ("math:bbb 7" "") - ("math:bbb 8" "") - ("math:bbb 9" "") - ("math:bbb a" "") - ("math:bbb b" "") - ("math:bbb c" "") - ("math:bbb d" "") - ("math:bbb e" "") - ("math:bbb f" "") - ("math:bbb g" "") - ("math:bbb h" "") - ("math:bbb i" "") - ("math:bbb j" "") - ("math:bbb k" "") - ("math:bbb l" "") - ("math:bbb m" "") - ("math:bbb n" "") - ("math:bbb o" "") - ("math:bbb p" "") - ("math:bbb q" "") - ("math:bbb r" "") - ("math:bbb s" "") - ("math:bbb t" "") - ("math:bbb u" "") - ("math:bbb v" "") - ("math:bbb w" "") - ("math:bbb x" "") - ("math:bbb y" "") - ("math:bbb z" "") - ("math:bbb A" "") - ("math:bbb B" "") - ("math:bbb C" "") - ("math:bbb D" "") - ("math:bbb E" "") - ("math:bbb F" "") - ("math:bbb G" "") - ("math:bbb H" "") - ("math:bbb I" "") - ("math:bbb J" "") - ("math:bbb K" "") - ("math:bbb L" "") - ("math:bbb M" "") - ("math:bbb N" "") - ("math:bbb O" "") - ("math:bbb P" "") - ("math:bbb Q" "") - ("math:bbb R" "") - ("math:bbb S" "") - ("math:bbb T" "") - ("math:bbb U" "") - ("math:bbb V" "") - ("math:bbb W" "") - ("math:bbb X" "") - ("math:bbb Y" "") - ("math:bbb Z" "")) - -(kbd-map - (:mode in-math-not-hybrid?) - ("0 var" "") - ("0 0 var" "") - ("0 0 var var" "") - ("1 1 var" "") - ("1 1 var var" "") - ("1 1 var var var" "") - ("2 2 var" "") - ("2 2 var var" "") - ("2 2 var var var" "") - ("3 3 var" "") - ("3 3 var var" "") - ("4 4 var" "") - ("4 4 var var" "") - ("5 5 var" "") - ("5 5 var var" "") - ("6 6 var" "") - ("6 6 var var" "") - ("7 7 var" "") - ("7 7 var var" "") - ("8 8 var" "") - ("8 8 var var" "") - ("9 9 var" "") - ("9 9 var var" "") - ("A A" "") - ("A A var" "") - ("A A var var" "") - ("A A var var var" "") - ("A A var var var var" "") - ("A A var var var var var" "") - ("A A var var var var var var" "") - ("B B" "") - ("B B var" "") - ("B B var var" "") - ("B B var var var" "") - ("B B var var var var" "") - ("B B var var var var var" "") - ("B B var var var var var var" "") - ("C C" "") - ("C C var" "") - ("C C var var" "") - ("C C var var var" "") - ("C C var var var var" "") - ("C C var var var var var" "") - ("C C var var var var var var" "") - ("D D" "") - ("D D var" "") - ("D D var var" "") - ("D D var var var" "") - ("D D var var var var" "") - ("D D var var var var var" "") - ("D D var var var var var var" "") - ("E E" "") - ("E E var" "") - ("E E var var" "") - ("E E var var var" "") - ("E E var var var var" "") - ("E E var var var var var" "") - ("E E var var var var var var" "") - ("F F" "") - ("F F var" "") - ("F F var var" "") - ("F F var var var" "") - ("F F var var var var" "") - ("F F var var var var var" "") - ("F F var var var var var var" "") - ("G G" "") - ("G G var" "") - ("G G var var" "") - ("G G var var var" "") - ("G G var var var var" "") - ("G G var var var var var" "") - ("G G var var var var var var" "") - ("H H" "") - ("H H var" "") - ("H H var var" "") - ("H H var var var" "") - ("H H var var var var" "") - ("H H var var var var var" "") - ("H H var var var var var var" "") - ("I I" "") - ("I I var var" "") - ("I I var var var" "") - ("I I var var var var" "") - ("I I var var var var var" "") - ("I I var var var var var var" "") - ("I I var var var var var var var" "") - ("J J" "") - ("J J var" "") - ("J J var var" "") - ("J J var var var" "") - ("J J var var var var" "") - ("J J var var var var var" "") - ("J J var var var var var var" "") - ("K K" "") - ("K K var" "") - ("K K var var" "") - ("K K var var var" "") - ("K K var var var var" "") - ("K K var var var var var" "") - ("K K var var var var var var" "") - ("L L" "") - ("L L var" "") - ("L L var var" "") - ("L L var var var" "") - ("L L var var var var" "") - ("L L var var var var var" "") - ("L L var var var var var var" "") - ("M M" "") - ("M M var" "") - ("M M var var" "") - ("M M var var var" "") - ("M M var var var var" "") - ("M M var var var var var" "") - ("M M var var var var var var" "") - ("N N" "") - ("N N var" "") - ("N N var var" "") - ("N N var var var" "") - ("N N var var var var" "") - ("N N var var var var var" "") - ("N N var var var var var var" "") - ("O O" "") - ("O O var" "") - ("O O var var" "") - ("O O var var var" "") - ("O O var var var var" "") - ("O O var var var var var" "") - ("O O var var var var var var" "") - ("P P" "") - ("P P var" "") - ("P P var var" "") - ("P P var var var" "") - ("P P var var var var" "") - ("P P var var var var var" "") - ("P P var var var var var var" "") - ("Q Q" "") - ("Q Q var" "") - ("Q Q var var" "") - ("Q Q var var var" "") - ("Q Q var var var var" "") - ("Q Q var var var var var" "") - ("Q Q var var var var var var" "") - ("R R" "") - ("R R var" "") - ("R R var var" "") - ("R R var var var" "") - ("R R var var var var" "") - ("R R var var var var var" "") - ("R R var var var var var var" "") - ("S S" "") - ("S S var" "") - ("S S var var" "") - ("S S var var var" "") - ("S S var var var var" "") - ("S S var var var var var" "") - ("S S var var var var var var" "") - ("T T" "") - ("T T var" "") - ("T T var var" "") - ("T T var var var" "") - ("T T var var var var" "") - ("T T var var var var var" "") - ("T T var var var var var var" "") - ("U U" "") - ("U U var" "") - ("U U var var" "") - ("U U var var var" "") - ("U U var var var var" "") - ("U U var var var var var" "") - ("U U var var var var var var" "") - ("V V" "") - ("V V var" "") - ("V V var var" "") - ("V V var var var" "") - ("V V var var var var" "") - ("V V var var var var var" "") - ("V V var var var var var var" "") - ("W W" "") - ("W W var" "") - ("W W var var" "") - ("W W var var var" "") - ("W W var var var var" "") - ("W W var var var var var" "") - ("W W var var var var var var" "") - ("X X" "") - ("X X var" "") - ("X X var var" "") - ("X X var var var" "") - ("X X var var var var" "") - ("X X var var var var var" "") - ("X X var var var var var var" "") - ("Y Y" "") - ("Y Y var" "") - ("Y Y var var" "") - ("Y Y var var var" "") - ("Y Y var var var var" "") - ("Y Y var var var var var" "") - ("Y Y var var var var var var" "") - ("Z Z" "") - ("Z Z var" "") - ("Z Z var var" "") - ("Z Z var var var" "") - ("Z Z var var var var" "") - ("Z Z var var var var var" "") - ("Z Z var var var var var var" "") - - ("a a" "") - ("a a var" "") - ("a a var var" "") - ("a a var var var" "") - ("a a var var var var" "") - ("b b" "") - ("b b var" "") - ("b b var var" "") - ("b b var var var" "") - ("b b var var var var" "") - ("c c" "") - ("c c var" "") - ("c c var var" "") - ("c c var var var" "") - ("c c var var var var" "") - ("d d" "") - ("d d var" "") - ("d d var var" "") - ("d d var var var" "") - ("d d var var var var" "") - ("e e" "") - ("e e var" "") - ("e e var var" "") - ("e e var var var" "") - ("e e var var var var" "") - ("f f" "") - ("f f var" "") - ("f f var var" "") - ("f f var var var" "") - ("f f var var var var" "") - ("g g" "") - ("g g var" "") - ("g g var var" "") - ("g g var var var" "") - ("g g var var var var" "") - ("h h" "") - ("h h var" "") - ("h h var var" "") - ("h h var var var" "") - ("h h var var var var" "") - ("i i" "") - ("i i var" "") - ("i i var var" "") - ("i i var var var" "") - ("i i var var var var" "") - ("j j" "") - ("j j var" "") - ("j j var var" "") - ("j j var var var" "") - ("j j var var var var" "") - ("k k" "") - ("k k var" "") - ("k k var var" "") - ("k k var var var" "") - ("k k var var var var" "") - ("l l" "") - ("l l var" "") - ("l l var var" "") - ("l l var var var" "") - ("l l var var var var" "") - ("m m var" "") - ("m m var var" "") - ("m m var var var" "") - ("m m var var var var" "") - ("m m var var var var var" "") - ("n n" "") - ("n n var" "") - ("n n var var" "") - ("n n var var var" "") - ("n n var var var var" "") - ("o o" "") - ("o o var" "") - ("o o var var" "") - ("o o var var var" "") - ("o o var var var var" "") - ("p p" "") - ("p p var" "") - ("p p var var" "") - ("p p var var var" "") - ("p p var var var var" "") - ("q q" "") - ("q q var" "") - ("q q var var" "") - ("q q var var var" "") - ("q q var var var var" "") - ("r r" "") - ("r r var" "") - ("r r var var" "") - ("r r var var var" "") - ("r r var var var var" "") - ("s s" "") - ("s s var" "") - ("s s var var" "") - ("s s var var var" "") - ("s s var var var var" "") - ("t t" "") - ("t t var" "") - ("t t var var" "") - ("t t var var var" "") - ("t t var var var var" "") - ("u u" "") - ("u u var" "") - ("u u var var" "") - ("u u var var var" "") - ("u u var var var var" "") - ("v v" "") - ("v v var" "") - ("v v var var" "") - ("v v var var var" "") - ("v v var var var var" "") - ("w w" "") - ("w w var" "") - ("w w var var" "") - ("w w var var var" "") - ("w w var var var var" "") - ("x x" "") - ("x x var" "") - ("x x var var" "") - ("x x var var var" "") - ("x x var var var var" "") - ("y y" "") - ("y y var" "") - ("y y var var" "") - ("y y var var var" "") - ("y y var var var var" "") - ("z z" "") - ("z z var" "") - ("z z var var" "") - ("z z var var var" "") - ("z z var var var var" "") - - ;;("d d" "") - ;;("d d var" "") - ;;("e e" "") - ;;("g g" "") - ;;("i i" "") - ;;("l l" "") - ;;("p p" "") - ("R E" "") - ("I M" "") - ("d x" "x") - ("d x var" "") - ("d x var var" "dx") - ("d y" "y") - ("d y var" "") - ("d y var var" "dy") - ("d z" "z") - ("d z var" "") - ("d z var var" "dz") - ("d r" "r") - ("d r var" "") - ("d r var var" "") - ("d r var var var" "dr") - ("d j" "j") - ("d j var" "") - ("d j var var" "") - ("d j var var var" "") - ("d j var var var var" "dj")) + ("~ = /" "") +) ;kbd-map + +(kbd-map (:mode in-math-or-hybrid?) + ("/ \\" "") + ("/ \\ var " "") + ("/ \\ var var" "") + ("/ \\ var var var" "") + ("/ \\ var var var var" "") + ("/ \\ var var var var var" "") + ("/ \\ var var var var var var" "") + ("/ \\ var var var var var var var" (begin (insert "/") (make-hybrid))) + ("- / \\" "") + ("\\ /" "") + ("\\ / var" "") + ("\\ / var +" "") + ("\\ / var var" "") + ("\\ / var var var" "") + ("\\ / var var var var" "") + ("\\ / var var var var var" "") + ("\\ / var var var var var var" "") + ("\\ / var var var var var var var" (begin (make-hybrid) (insert "/"))) + ("\\ / -" "") +) ;kbd-map + +(kbd-map (:mode in-math?) + ("# var" "") + ("# var var" "") + ("# var var var" "") + ("&" "") + ("& . ." "") + ("& var" "") + ("& var . ." "") + ("& var var" "") + ("& var var . ." "") + ("& var var var" "") + ("& var var var . ." "") + ("& var var var var" "") + ("& var var var var var . ." "") + ("& var var var var var" "") + ("& var var var var var var" "") + ("& var var var var var var var" "&") + ("- &" "") + ("- & . ." "") + ("%" "") + ("% . ." "") + ("% var" "") + ("% var . ." "") + ("% var +" "") + ("% var + . ." "") + ("% var + +" "") + ("% var var" "") + ("% var var . ." "") + ("% var var var" "") + ("% var var var . ." "") + ("% var var var var" "") + ("% var var var var . ." "") + ("% var var var var var" "") + ("% var var var var var var" "") + ("% var var var var var var var" "") + ("% var var var var var var var var" "%") + ("% -" "") + ("% - . ." "") + + ("/ /" "") + ("/ / var" "") + ("/ / var var" "//") + ("| /" "") + ("| / var" "") + ("| var" "|") + ("| var / var" "") + ("| var var" (math-separator "|" 'default)) + ("| var var var" "") + ("| var var var /" "") + ("| var var var var" "") + ("| var var var var var" "") + ("| var var var var var /" "") + ("| | var" "<||>") + ("| | var /" "") + ("| | var var" (math-separator "<||>" 'default)) + ("| | var var /" "") + ("| | var var var" "") + ("| | var var var /" "") + ("| | var var var var" "") + ("| | var var var var /" "") + ("| | | var" "") + + ("| - var" "") + ("| - var -" "") + ("| - -" "") + ("| var -" "") + ("| var - -" "") + ("| | - var" "") + ("| | - var -" "") + ("| | - -" "") + ("| | var -" "") + ("| | var - -" "") + ("| | | - var" "") + ("| | | - var -" "") + ("| | | - -" "") + ("| | | var -" "") + ("| | | var - -" "") + ("- | var" "") + ("- | var |" "") + ("- | var | |" "") + ("- | | var" "") + ("- | | | var" "") + ("- - |" "") + ("- - | |" "") + ("- - | | |" "") + ("| = var" "") + ("| = var =" "") + ("| = =" "") + ("| var =" "") + ("| var = =" "") + ("| | = var" "") + ("| | = var =" "") + ("| | = =" "") + ("| | var =" "") + ("| | var = =" "") + ("| | | = var" "") + ("| | | = var =" "") + ("| | | = =" "") + ("| | | var =" "") + ("| | | var = =" "") + ("= | var" "") + ("= | var |" "") + ("= | var | |" "") + ("= | | var" "") + ("= | | | var" "") + ("= = |" "") + ("= = | |" "") + ("= = | | |" "") + + ("| - var /" "") + ("| - /" "") + ("| var - /" "") + ("| | - var /" "") + ("| | - /" "") + ("| | var - /" "") + ("| | | - var /" "") + ("| | | - /" "") + ("| | | var - /" "") + ("- | var /" "") + ("- | /" "") + ("- | var | /" "") + ("- | | var /" "") + ("- | | /" "") + ("- | | | var /" "") + ("- | | | /" "") + ("| = var /" "") + ("| = /" "") + ("| var = /" "") + ("| | = var /" "") + ("| | = /" "") + ("| | var = /" "") + ("| | | = var /" "") + ("| | | = /" "") + ("| | | var = /" "") + ("= | var /" "") + ("= | /" "") + ("= | var | /" "") + ("= | | var /" "") + ("= | | /" "") + ("= | | | var /" "") + ("= | | | /" "") + + ("< | var" "") + ("< | var /" "") + ("< | var =" "") + ("< | var = /" "") + ("< | var = var" "") + ("< | var = var /" "") + ("< | var var" "") + ("< | var var /" "") + ("< | var var =" "") + ("< | var var = /" "") + ("< | var var = var" "") + ("< | var var = var /" "") + ("| > var" "") + ("| > var /" "") + ("| > var =" "") + ("| > var = /" "") + ("| > var = var" "") + ("| > var = var /" "") + ("| > var var" "") + ("| > var var /" "") + ("| > var var =" "") + ("| > var var = /" "") + ("| > var var = var" "") + ("| > var var = var /" "") + ("| var >" "") + ("| var > /" "") + ("| var > =" "") + ("| var > = /" "") + ("| var > = var" "") + ("| var > = var /" "") + ("| var > var" "") + ("| var > var /" "") + ("| var > var =" "") + ("| var > var = /" "") + ("| var > var = var" "") + ("| var > var = var /" "") + + ("+ var" "") + ("+ var var" "") + ("+ var var var" "") + ("+ var var var var" "") + ("+ . ." "++") + ("+ +" "++") + ("+ -" "") + ("- +" "") + ("+ - . ." "") + ("- + . ." "") + ("+ + var" "") + ("@ =" "") + ("@ = var" "") + ("= @" "") + ("- . ." "--") + ("- @" "") + ("- - @" "") + (". =" "") + (". +" "") + (". -" "") + (". *" "") + (". * var" "") + (". ." "") + (". . var" "") + (". . var !" "") + (". . var var" "") + (". . var var var" "") + (". . var var var var" "") + (". . var var var var var" "") + (":" ":") + (": var" "") + (": var var" "") + (": var var . ." "") + (": var var var" "") + (": :" "") + (": >" "") + (": =" "") + ("+ =" "") + ("- =" "") + ("/ var" "") + ("/ var var" "
") + ("*" "") + ("* . ." "**") + ("* *" "**") + ("* var" "*") + ("* var . ." "") + ("* var var" "") + ("* var var . ." "") + ("* var var var" "") + ("* var var var . ." "") + ("* var var var var" "") + ("* var var var var . ." "") + ("* var var var var var" "") + ("* &" "") + ("| var *" "") + ("| var * var" "") + ("| var * var var" "") + ("| var * |" "") + ("* var |" "") + ("* var | var" "") + ("* var | var var" "") + ("! var" "") + + ("math:misc &" "&") + ("math:misc %" "%") + ("math:misc % var" "") + ("math:misc \\" "\\") + ("math:misc \\ var" "") + ("math:misc \\ var var" "") + ("math:misc |" "|") + ("math:misc | var" "") + ("math:misc | var /" "") + ("math:misc | var var" "") + ("math:misc | var var /" "") + ("math:misc | |" "<||>") + ("math:misc | | /" "") + ("math:misc | | var" "") + ("math:misc | | var /" "") + ("math:misc | | var var" "") + ("math:misc | | var var /" "") + + ("math:greek a" "") + ("math:greek b" "") + ("math:greek g" "") + ("math:greek g var" "") + ("math:greek d" "") + ("math:greek e" "") + ("math:greek e var" "") + ("math:greek e var var" "") + ("math:greek z" "") + ("math:greek h" "") + ("math:greek j" "") + ("math:greek j var" "") + ("math:greek i" "") + ("math:greek k" "") + ("math:greek k var" "") + ("math:greek l" "") + ("math:greek l var" "") + ("math:greek m" "") + ("math:greek n" "") + ("math:greek x" "") + ("math:greek o" "") + ("math:greek p" "") + ("math:greek p var" "") + ("math:greek p var var" "") + ("math:greek r" "") + ("math:greek r var" "") + ("math:greek s" "") + ("math:greek s var" "") + ("math:greek c" "") + ("math:greek c var" "") + ("math:greek t" "") + ("math:greek u" "") + ("math:greek y" "") + ("math:greek q" "") + ("math:greek w" "") + ("math:greek w var" "") + ("math:greek v" "") + ("math:greek v var" "") + ("math:greek f" "") + ("math:greek f var" "") + ("math:greek A" "") + ("math:greek B" "") + ("math:greek G" "") + ("math:greek G var" "") + ("math:greek D" "") + ("math:greek D var" "") + ("math:greek E" "") + ("math:greek E var" "") + ("math:greek Z" "") + ("math:greek H" "") + ("math:greek J" "") + ("math:greek I" "") + ("math:greek K" "") + ("math:greek L" "") + ("math:greek M" "") + ("math:greek N" "") + ("math:greek X" "") + ("math:greek O" "") + ("math:greek P" "") + ("math:greek R" "") + ("math:greek S" "") + ("math:greek S var" "") + ("math:greek C" "") + ("math:greek T" "") + ("math:greek U" "") + ("math:greek Y" "") + ("math:greek Q" "") + ("math:greek W" "") + ("math:greek W var" "") + ("math:greek V" "") + ("math:greek F" "") +) ;kbd-map + +(kbd-map (:mode in-math-not-hybrid?) + ("a var" "") + ("b var" "") + ("b var var" "") + ("c var" "") + ("c var var" "") + ("c - var" "<#A793>") + ("d var" "") + ("d var var" "") + ("d var var var" "") + ("d - var " "<#111>") + ("e var" "") + ("e var var" "") + ("e var var var" "") + ("e var var var var" "") + ("g var" "") + ("g var var" "") + ("h var" "") + ("h var var" "") + ("i var" "") + ("i var var" "") + ("i var var var" "") + ("j var" "") + ("j var var" "") + ("j var var var" "") + ("k var" "") + ("k var var" "") + ("k - var" "<#A741>") + ("l var" "") + ("l var var" "") + ("l var var var" "") + ("l - var" "<#A749>") + ("m var" "") + ("n var" "") + ("n var var" "") + ("o var" "") + ("o - var" "<#A74B>") + ("p var" "") + ("p var var" "") + ("p var var var" "") + ("p - var" "<#A751>") + ("q var" "") + ("r var" "") + ("r var var" "") + ("s var" "") + ("s var var" "") + ("s - var" "<#A7A9>") + ("t var" "") + ("u var" "") + ("v var" "") + ("v var var" "") + ("f var" "") + ("f var var" "") + ("f - var" "<#A799>") + ("w var" "") + ("w var var" "") + ("x var" "") + ("y var" "") + ("z var" "") + + ("A var" "") + ("A var var" "") + ("A var var var" "") + ("B var" "") + ("B var var" "") + ("B var var var" "") + ("C var" "") + ("C var var" "") + ("C var var var" "") + ("C - var" "<#A792>") + ("D var" "") + ("D var var" "") + ("D var var var" "") + ("D var var var var" "") + ("D - var" "<#110>") + ("E var" "") + ("E var var" "") + ("E var var var" "") + ("E var var var var" "") + ("G var" "") + ("G var var" "") + ("G var var var" "") + ("G var var var var" "") + ("H var" "") + ("I var" (math-big-operator "int")) + ("I I var" (math-big-operator "iint")) + ("I var ." (math-big-operator "idotsint")) + ("I I I var" (math-big-operator "iiint")) + ("I I I I var" (math-big-operator "iiiint")) + ("I var var " "") + ("I var var var" "") + ("J var" "") + ("K var" "") + ("K - var" "<#A740>") + ("L var" "") + ("L - var" "<#A748>") + ("M var" "") + ("N var" "") + ("N var var" (math-big-operator "cap")) + ("O var" "") + ("O - var" "<#A74A>") + ("P var" "") + ("P var var" "") + ("P var var var" (math-big-operator "prod")) + ("P - var" "<#A750>") + ("Q var" "") + ("R var" "") + ("R var var" "") + ("S var" "") + ("S var var" "") + ("S var var var" (math-big-operator "sum")) + ("S - var" "<#A7A8>") + ("T var" "") + ("T var var" "") + ("T var var var" "") + ("T var var var var" "") + ("T var var var var var" "") + ("T var var var var var var" "") + ("T var var var var var var var" "") + ("U var" "") + ("U var var" (math-big-operator "cup")) + ("V var" "") + ("V var var" "") + ("F var" "") + ("F - var" "<#A798>") + ("W var" "") + ("W var var" "") + ("X var" "") + ("Y var" "") + ("Y var var" "") + ("Y var var var" "") + ("Y var var var var" "") + ("Y var var var var var" "") + ("Z var" "") +) ;kbd-map + +(kbd-map (:mode in-math?) + ("math:bold 0" "") + ("math:bold 1" "") + ("math:bold 2" "") + ("math:bold 3" "") + ("math:bold 4" "") + ("math:bold 5" "") + ("math:bold 6" "") + ("math:bold 7" "") + ("math:bold 8" "") + ("math:bold 9" "") + ("math:bold a" "") + ("math:bold b" "") + ("math:bold c" "") + ("math:bold d" "") + ("math:bold e" "") + ("math:bold f" "") + ("math:bold g" "") + ("math:bold h" "") + ("math:bold i" "") + ("math:bold j" "") + ("math:bold k" "") + ("math:bold l" "") + ("math:bold m" "") + ("math:bold n" "") + ("math:bold o" "") + ("math:bold p" "") + ("math:bold q" "") + ("math:bold r" "") + ("math:bold s" "") + ("math:bold t" "") + ("math:bold u" "") + ("math:bold v" "") + ("math:bold w" "") + ("math:bold x" "") + ("math:bold y" "") + ("math:bold z" "") + ("math:bold A" "") + ("math:bold B" "") + ("math:bold C" "") + ("math:bold D" "") + ("math:bold E" "") + ("math:bold F" "") + ("math:bold G" "") + ("math:bold H" "") + ("math:bold I" "") + ("math:bold J" "") + ("math:bold K" "") + ("math:bold L" "") + ("math:bold M" "") + ("math:bold N" "") + ("math:bold O" "") + ("math:bold P" "") + ("math:bold Q" "") + ("math:bold R" "") + ("math:bold S" "") + ("math:bold T" "") + ("math:bold U" "") + ("math:bold V" "") + ("math:bold W" "") + ("math:bold X" "") + ("math:bold Y" "") + ("math:bold Z" "") + ("math:bold i var" "") + ("math:bold j var" "") + ("math:bold l var" "") + ("math:bold ~" "") + ("math:bold ~ ~" "") + + ("math:bold:greek a" "") + ("math:bold:greek b" "") + ("math:bold:greek g" "") + ("math:bold:greek d" "") + ("math:bold:greek e" "") + ("math:bold:greek e var" "") + ("math:bold:greek e var var" "") + ("math:bold:greek z" "") + ("math:bold:greek h" "") + ("math:bold:greek j" "") + ("math:bold:greek j var" "") + ("math:bold:greek i" "") + ("math:bold:greek k" "") + ("math:bold:greek k var" "") + ("math:bold:greek l" "") + ("math:bold:greek m" "") + ("math:bold:greek n" "") + ("math:bold:greek x" "") + ("math:bold:greek o" "") + ("math:bold:greek p" "") + ("math:bold:greek p var" "") + ("math:bold:greek r" "") + ("math:bold:greek r var" "") + ("math:bold:greek s" "") + ("math:bold:greek s var" "") + ("math:bold:greek c" "") + ("math:bold:greek c var" "") + ("math:bold:greek t" "") + ("math:bold:greek u" "") + ("math:bold:greek y" "") + ("math:bold:greek q" "") + ("math:bold:greek w" "") + ("math:bold:greek w var" "") + ("math:bold:greek v" "") + ("math:bold:greek v var" "") + ("math:bold:greek f" "") + ("math:bold:greek f var" "") + ("math:bold:greek A" "") + ("math:bold:greek B" "") + ("math:bold:greek G" "") + ("math:bold:greek D" "") + ("math:bold:greek E" "") + ("math:bold:greek E var" "") + ("math:bold:greek Z" "") + ("math:bold:greek H" "") + ("math:bold:greek J" "") + ("math:bold:greek I" "") + ("math:bold:greek K" "") + ("math:bold:greek L" "") + ("math:bold:greek M" "") + ("math:bold:greek N" "") + ("math:bold:greek X" "") + ("math:bold:greek O" "") + ("math:bold:greek P" "") + ("math:bold:greek R" "") + ("math:bold:greek S" "") + ("math:bold:greek S var" "") + ("math:bold:greek C" "") + ("math:bold:greek T" "") + ("math:bold:greek U" "") + ("math:bold:greek Y" "") + ("math:bold:greek Q" "") + ("math:bold:greek W" "") + ("math:bold:greek W var" "") + ("math:bold:greek V" "") + ("math:bold:greek F" "") + + ("math:bold a var" "") + ("math:bold b var" "") + ("math:bold c var" "") + ("math:bold c var var" "") + ("math:bold d var" "") + ("math:bold e var" "") + ("math:bold e var var" "") + ("math:bold e var var var" "") + ("math:bold g var" "") + ("math:bold h var" "") + ("math:bold i var" "") + ("math:bold i var var" "") + ("math:bold j var" "") + ("math:bold j var var" "") + ("math:bold j var var var" "") + ("math:bold k var" "") + ("math:bold k var var" "") + ("math:bold l var" "") + ("math:bold l var var" "") + ("math:bold m var" "") + ("math:bold n var" "") + ("math:bold o var" "") + ("math:bold p var" "") + ("math:bold p var var" "") + ("math:bold q var" "") + ("math:bold r var" "") + ("math:bold r var var" "") + ("math:bold s var" "") + ("math:bold s var var" "") + ("math:bold t var" "") + ("math:bold u var" "") + ("math:bold v var" "") + ("math:bold v var var" "") + ("math:bold f var" "") + ("math:bold f var var" "") + ("math:bold w var" "") + ("math:bold w var var" "") + ("math:bold x var" "") + ("math:bold y var" "") + ("math:bold z var" "") + ("math:bold A var" "") + ("math:bold B var" "") + ("math:bold C var" "") + ("math:bold D var" "") + ("math:bold E var" "") + ("math:bold E var var" "") + ("math:bold G var" "") + ("math:bold H var" "") + ("math:bold I var" "") + ("math:bold J var" "") + ("math:bold K var" "") + ("math:bold L var" "") + ("math:bold M var" "") + ("math:bold N var" "") + ("math:bold O var" "") + ("math:bold P var" "") + ("math:bold Q var" "") + ("math:bold R var" "") + ("math:bold S var" "") + ("math:bold S var var" "") + ("math:bold T var" "") + ("math:bold U var" "") + ("math:bold V var" "") + ("math:bold F var" "") + ("math:bold W var" "") + ("math:bold W var var" "") + ("math:bold X var" "") + ("math:bold Y var" "") + ("math:bold Z var" "") + + ("math:up a" "") + ("math:up b" "") + ("math:up c" "") + ("math:up d" "") + ("math:up e" "") + ("math:up f" "") + ("math:up g" "") + ("math:up h" "") + ("math:up i" "") + ("math:up j" "") + ("math:up k" "") + ("math:up l" "") + ("math:up m" "") + ("math:up n" "") + ("math:up o" "") + ("math:up p" "") + ("math:up q" "") + ("math:up r" "") + ("math:up s" "") + ("math:up t" "") + ("math:up u" "") + ("math:up v" "") + ("math:up w" "") + ("math:up x" "") + ("math:up y" "") + ("math:up z" "") + ("math:up A" "") + ("math:up B" "") + ("math:up C" "") + ("math:up D" "") + ("math:up E" "") + ("math:up F" "") + ("math:up G" "") + ("math:up H" "") + ("math:up I" "") + ("math:up J" "") + ("math:up K" "") + ("math:up L" "") + ("math:up M" "") + ("math:up N" "") + ("math:up O" "") + ("math:up P" "") + ("math:up Q" "") + ("math:up R" "") + ("math:up S" "") + ("math:up T" "") + ("math:up U" "") + ("math:up V" "") + ("math:up W" "") + ("math:up X" "") + ("math:up Y" "") + ("math:up Z" "") + + ("math:up a var" "") + ("math:up b var" "") + ("math:up c var" "") + ("math:up c var var" "") + ("math:up d var" "") + ("math:up e var" "") + ("math:up e var var" "") + ("math:up g var" "") + ("math:up h var" "") + ("math:up i var" "") + ("math:up i var var" "") + ("math:up j var" "") + ("math:up j var var" "") + ("math:up j var var var" "") + ("math:up k var" "") + ("math:up k var var" "") + ("math:up l var" "") + ("math:up l var var" "") + ("math:up m var" "") + ("math:up n var" "") + ("math:up o var" "") + ("math:up p var" "") + ("math:up p var var" "") + ("math:up q var" "") + ("math:up r var" "") + ("math:up r var var" "") + ("math:up s var" "") + ("math:up s var var" "") + ("math:up t var" "") + ("math:up u var" "") + ("math:up v var" "") + ("math:up v var var" "") + ("math:up f var" "") + ("math:up f var var" "") + ("math:up w var" "") + ("math:up x var" "") + ("math:up y var" "") + ("math:up z var" "") + ;; ("math:up A var" "") + ;; ("math:up B var" "") + ;; ("math:up C var" "") + ;; ("math:up D var" "") + ;; ("math:up E var" "") + ;; ("math:up G var" "") + ;; ("math:up H var" "") + ;; ("math:up I var" "") + ;; ("math:up J var" "") + ;; ("math:up K var" "") + ;; ("math:up L var" "") + ;; ("math:up M var" "") + ;; ("math:up N var" "") + ;; ("math:up O var" "") + ;; ("math:up P var" "") + ;; ("math:up Q var" "") + ;; ("math:up R var" "") + ;; ("math:up S var" "") + ;; ("math:up T var" "") + ;; ("math:up U var" "") + ;; ("math:up V var" "") + ;; ("math:up F var" "") + ;; ("math:up W var" "") + ;; ("math:up W var var" "") + ;; ("math:up X var" "") + ;; ("math:up Y var" "") + ;; ("math:up Z var" "") + + ("math:bold:up a" "") + ("math:bold:up b" "") + ("math:bold:up c" "") + ("math:bold:up d" "") + ("math:bold:up e" "") + ("math:bold:up f" "") + ("math:bold:up g" "") + ("math:bold:up h" "") + ("math:bold:up i" "") + ("math:bold:up j" "") + ("math:bold:up k" "") + ("math:bold:up l" "") + ("math:bold:up m" "") + ("math:bold:up n" "") + ("math:bold:up o" "") + ("math:bold:up p" "") + ("math:bold:up q" "") + ("math:bold:up r" "") + ("math:bold:up s" "") + ("math:bold:up t" "") + ("math:bold:up u" "") + ("math:bold:up v" "") + ("math:bold:up w" "") + ("math:bold:up x" "") + ("math:bold:up y" "") + ("math:bold:up z" "") + ("math:bold:up A" "") + ("math:bold:up B" "") + ("math:bold:up C" "") + ("math:bold:up D" "") + ("math:bold:up E" "") + ("math:bold:up F" "") + ("math:bold:up G" "") + ("math:bold:up H" "") + ("math:bold:up I" "") + ("math:bold:up J" "") + ("math:bold:up K" "") + ("math:bold:up L" "") + ("math:bold:up M" "") + ("math:bold:up N" "") + ("math:bold:up O" "") + ("math:bold:up P" "") + ("math:bold:up Q" "") + ("math:bold:up R" "") + ("math:bold:up S" "") + ("math:bold:up T" "") + ("math:bold:up U" "") + ("math:bold:up V" "") + ("math:bold:up W" "") + ("math:bold:up X" "") + ("math:bold:up Y" "") + ("math:bold:up Z" "") + + ("math:bold:up a var" "") + ("math:bold:up b var" "") + ("math:bold:up c var" "") + ("math:bold:up c var var" "") + ("math:bold:up d var" "") + ("math:bold:up e var" "") + ("math:bold:up e var var" "") + ("math:bold:up g var" "") + ("math:bold:up h var" "") + ("math:bold:up i var" "") + ("math:bold:up i var var" "") + ("math:bold:up j var" "") + ("math:bold:up j var var" "") + ("math:bold:up j var var var" "") + ("math:bold:up k var" "") + ("math:bold:up k var var" "") + ("math:bold:up l var" "") + ("math:bold:up l var var" "") + ("math:bold:up m var" "") + ("math:bold:up n var" "") + ("math:bold:up o var" "") + ("math:bold:up p var" "") + ("math:bold:up p var var" "") + ("math:bold:up q var" "") + ("math:bold:up r var" "") + ("math:bold:up r var var" "") + ("math:bold:up s var" "") + ("math:bold:up s var var" "") + ("math:bold:up t var" "") + ("math:bold:up u var" "") + ("math:bold:up v var" "") + ("math:bold:up v var var" "") + ("math:bold:up f var" "") + ("math:bold:up f var var" "") + ("math:bold:up w var" "") + ("math:bold:up x var" "") + ("math:bold:up y var" "") + ("math:bold:up z var" "") + ;; ("math:bold:up A var" "") + ;; ("math:bold:up B var" "") + ;; ("math:bold:up C var" "") + ;; ("math:bold:up D var" "") + ;; ("math:bold:up E var" "") + ;; ("math:bold:up G var" "") + ;; ("math:bold:up H var" "") + ;; ("math:bold:up I var" "") + ;; ("math:bold:up J var" "") + ;; ("math:bold:up K var" "") + ;; ("math:bold:up L var" "") + ;; ("math:bold:up M var" "") + ;; ("math:bold:up N var" "") + ;; ("math:bold:up O var" "") + ;; ("math:bold:up P var" "") + ;; ("math:bold:up Q var" "") + ;; ("math:bold:up R var" "") + ;; ("math:bold:up S var" "") + ;; ("math:bold:up T var" "") + ;; ("math:bold:up U var" "") + ;; ("math:bold:up V var" "") + ;; ("math:bold:up F var" "") + ;; ("math:bold:up W var" "") + ;; ("math:bold:up W var var" "") + ;; ("math:bold:up X var" "") + ;; ("math:bold:up Y var" "") + ;; ("math:bold:up Z var" "") + + ("math:cal a" "") + ("math:cal b" "") + ("math:cal c" "") + ("math:cal d" "") + ("math:cal e" "") + ("math:cal f" "") + ("math:cal g" "") + ("math:cal h" "") + ("math:cal i" "") + ("math:cal j" "") + ("math:cal k" "") + ("math:cal l" "") + ("math:cal m" "") + ("math:cal n" "") + ("math:cal o" "") + ("math:cal p" "") + ("math:cal q" "") + ("math:cal r" "") + ("math:cal s" "") + ("math:cal t" "") + ("math:cal u" "") + ("math:cal v" "") + ("math:cal w" "") + ("math:cal x" "") + ("math:cal y" "") + ("math:cal z" "") + ("math:cal A" "") + ("math:cal B" "") + ("math:cal C" "") + ("math:cal D" "") + ("math:cal E" "") + ("math:cal F" "") + ("math:cal G" "") + ("math:cal H" "") + ("math:cal I" "") + ("math:cal J" "") + ("math:cal K" "") + ("math:cal L" "") + ("math:cal M" "") + ("math:cal N" "") + ("math:cal O" "") + ("math:cal P" "") + ("math:cal Q" "") + ("math:cal R" "") + ("math:cal S" "") + ("math:cal T" "") + ("math:cal U" "") + ("math:cal V" "") + ("math:cal W" "") + ("math:cal X" "") + ("math:cal Y" "") + ("math:cal Z" "") + + ("math:calstar a" "") + ("math:calstar b" "") + ("math:calstar c" "") + ("math:calstar d" "") + ("math:calstar e" "") + ("math:calstar f" "") + ("math:calstar g" "") + ("math:calstar h" "") + ("math:calstar i" "") + ("math:calstar j" "") + ("math:calstar k" "") + ("math:calstar l" "") + ("math:calstar m" "") + ("math:calstar n" "") + ("math:calstar o" "") + ("math:calstar p" "") + ("math:calstar q" "") + ("math:calstar r" "") + ("math:calstar s" "") + ("math:calstar t" "") + ("math:calstar u" "") + ("math:calstar v" "") + ("math:calstar w" "") + ("math:calstar x" "") + ("math:calstar y" "") + ("math:calstar z" "") + ("math:calstar A" "") + ("math:calstar B" "") + ("math:calstar C" "") + ("math:calstar D" "") + ("math:calstar E" "") + ("math:calstar F" "") + ("math:calstar G" "") + ("math:calstar H" "") + ("math:calstar I" "") + ("math:calstar J" "") + ("math:calstar K" "") + ("math:calstar L" "") + ("math:calstar M" "") + ("math:calstar N" "") + ("math:calstar O" "") + ("math:calstar P" "") + ("math:calstar Q" "") + ("math:calstar R" "") + ("math:calstar S" "") + ("math:calstar T" "") + ("math:calstar U" "") + ("math:calstar V" "") + ("math:calstar W" "") + ("math:calstar X" "") + ("math:calstar Y" "") + ("math:calstar Z" "") + + ("math:bold:cal a" "") + ("math:bold:cal b" "") + ("math:bold:cal c" "") + ("math:bold:cal d" "") + ("math:bold:cal e" "") + ("math:bold:cal f" "") + ("math:bold:cal g" "") + ("math:bold:cal h" "") + ("math:bold:cal i" "") + ("math:bold:cal j" "") + ("math:bold:cal k" "") + ("math:bold:cal l" "") + ("math:bold:cal m" "") + ("math:bold:cal n" "") + ("math:bold:cal o" "") + ("math:bold:cal p" "") + ("math:bold:cal q" "") + ("math:bold:cal r" "") + ("math:bold:cal s" "") + ("math:bold:cal t" "") + ("math:bold:cal u" "") + ("math:bold:cal v" "") + ("math:bold:cal w" "") + ("math:bold:cal x" "") + ("math:bold:cal y" "") + ("math:bold:cal z" "") + ("math:bold:cal A" "") + ("math:bold:cal B" "") + ("math:bold:cal C" "") + ("math:bold:cal D" "") + ("math:bold:cal E" "") + ("math:bold:cal F" "") + ("math:bold:cal G" "") + ("math:bold:cal H" "") + ("math:bold:cal I" "") + ("math:bold:cal J" "") + ("math:bold:cal K" "") + ("math:bold:cal L" "") + ("math:bold:cal M" "") + ("math:bold:cal N" "") + ("math:bold:cal O" "") + ("math:bold:cal P" "") + ("math:bold:cal Q" "") + ("math:bold:cal R" "") + ("math:bold:cal S" "") + ("math:bold:cal T" "") + ("math:bold:cal U" "") + ("math:bold:cal V" "") + ("math:bold:cal W" "") + ("math:bold:cal X" "") + ("math:bold:cal Y" "") + ("math:bold:cal Z" "") + + ("math:frak a" "") + ("math:frak b" "") + ("math:frak c" "") + ("math:frak d" "") + ("math:frak e" "") + ("math:frak f" "") + ("math:frak g" "") + ("math:frak h" "") + ("math:frak i" "") + ("math:frak i var" "") + ("math:frak j" "") + ("math:frak j var" "") + ("math:frak k" "") + ("math:frak l" "") + ("math:frak m" "") + ("math:frak n" "") + ("math:frak o" "") + ("math:frak p" "") + ("math:frak q" "") + ("math:frak r" "") + ("math:frak s" "") + ("math:frak t" "") + ("math:frak u" "") + ("math:frak v" "") + ("math:frak w" "") + ("math:frak x" "") + ("math:frak y" "") + ("math:frak z" "") + ("math:frak A" "") + ("math:frak B" "") + ("math:frak C" "") + ("math:frak D" "") + ("math:frak E" "") + ("math:frak F" "") + ("math:frak G" "") + ("math:frak H" "") + ("math:frak I" "") + ("math:frak J" "") + ("math:frak K" "") + ("math:frak L" "") + ("math:frak M" "") + ("math:frak N" "") + ("math:frak O" "") + ("math:frak P" "") + ("math:frak Q" "") + ("math:frak R" "") + ("math:frak S" "") + ("math:frak T" "") + ("math:frak U" "") + ("math:frak V" "") + ("math:frak W" "") + ("math:frak X" "") + ("math:frak Y" "") + ("math:frak Z" "") + + ("math:bbb 0" "") + ("math:bbb 1" "") + ("math:bbb 2" "") + ("math:bbb 3" "") + ("math:bbb 4" "") + ("math:bbb 5" "") + ("math:bbb 6" "") + ("math:bbb 7" "") + ("math:bbb 8" "") + ("math:bbb 9" "") + ("math:bbb a" "") + ("math:bbb b" "") + ("math:bbb c" "") + ("math:bbb d" "") + ("math:bbb e" "") + ("math:bbb f" "") + ("math:bbb g" "") + ("math:bbb h" "") + ("math:bbb i" "") + ("math:bbb j" "") + ("math:bbb k" "") + ("math:bbb l" "") + ("math:bbb m" "") + ("math:bbb n" "") + ("math:bbb o" "") + ("math:bbb p" "") + ("math:bbb q" "") + ("math:bbb r" "") + ("math:bbb s" "") + ("math:bbb t" "") + ("math:bbb u" "") + ("math:bbb v" "") + ("math:bbb w" "") + ("math:bbb x" "") + ("math:bbb y" "") + ("math:bbb z" "") + ("math:bbb A" "") + ("math:bbb B" "") + ("math:bbb C" "") + ("math:bbb D" "") + ("math:bbb E" "") + ("math:bbb F" "") + ("math:bbb G" "") + ("math:bbb H" "") + ("math:bbb I" "") + ("math:bbb J" "") + ("math:bbb K" "") + ("math:bbb L" "") + ("math:bbb M" "") + ("math:bbb N" "") + ("math:bbb O" "") + ("math:bbb P" "") + ("math:bbb Q" "") + ("math:bbb R" "") + ("math:bbb S" "") + ("math:bbb T" "") + ("math:bbb U" "") + ("math:bbb V" "") + ("math:bbb W" "") + ("math:bbb X" "") + ("math:bbb Y" "") + ("math:bbb Z" "") +) ;kbd-map + +(kbd-map (:mode in-math-not-hybrid?) + ("0 var" "") + ("0 0 var" "") + ("0 0 var var" "") + ("1 1 var" "") + ("1 1 var var" "") + ("1 1 var var var" "") + ("2 2 var" "") + ("2 2 var var" "") + ("2 2 var var var" "") + ("3 3 var" "") + ("3 3 var var" "") + ("4 4 var" "") + ("4 4 var var" "") + ("5 5 var" "") + ("5 5 var var" "") + ("6 6 var" "") + ("6 6 var var" "") + ("7 7 var" "") + ("7 7 var var" "") + ("8 8 var" "") + ("8 8 var var" "") + ("9 9 var" "") + ("9 9 var var" "") + ("A A" "") + ("A A var" "") + ("A A var var" "") + ("A A var var var" "") + ("A A var var var var" "") + ("A A var var var var var" "") + ("A A var var var var var var" "") + ("B B" "") + ("B B var" "") + ("B B var var" "") + ("B B var var var" "") + ("B B var var var var" "") + ("B B var var var var var" "") + ("B B var var var var var var" "") + ("C C" "") + ("C C var" "") + ("C C var var" "") + ("C C var var var" "") + ("C C var var var var" "") + ("C C var var var var var" "") + ("C C var var var var var var" "") + ("D D" "") + ("D D var" "") + ("D D var var" "") + ("D D var var var" "") + ("D D var var var var" "") + ("D D var var var var var" "") + ("D D var var var var var var" "") + ("E E" "") + ("E E var" "") + ("E E var var" "") + ("E E var var var" "") + ("E E var var var var" "") + ("E E var var var var var" "") + ("E E var var var var var var" "") + ("F F" "") + ("F F var" "") + ("F F var var" "") + ("F F var var var" "") + ("F F var var var var" "") + ("F F var var var var var" "") + ("F F var var var var var var" "") + ("G G" "") + ("G G var" "") + ("G G var var" "") + ("G G var var var" "") + ("G G var var var var" "") + ("G G var var var var var" "") + ("G G var var var var var var" "") + ("H H" "") + ("H H var" "") + ("H H var var" "") + ("H H var var var" "") + ("H H var var var var" "") + ("H H var var var var var" "") + ("H H var var var var var var" "") + ("I I" "") + ("I I var var" "") + ("I I var var var" "") + ("I I var var var var" "") + ("I I var var var var var" "") + ("I I var var var var var var" "") + ("I I var var var var var var var" "") + ("J J" "") + ("J J var" "") + ("J J var var" "") + ("J J var var var" "") + ("J J var var var var" "") + ("J J var var var var var" "") + ("J J var var var var var var" "") + ("K K" "") + ("K K var" "") + ("K K var var" "") + ("K K var var var" "") + ("K K var var var var" "") + ("K K var var var var var" "") + ("K K var var var var var var" "") + ("L L" "") + ("L L var" "") + ("L L var var" "") + ("L L var var var" "") + ("L L var var var var" "") + ("L L var var var var var" "") + ("L L var var var var var var" "") + ("M M" "") + ("M M var" "") + ("M M var var" "") + ("M M var var var" "") + ("M M var var var var" "") + ("M M var var var var var" "") + ("M M var var var var var var" "") + ("N N" "") + ("N N var" "") + ("N N var var" "") + ("N N var var var" "") + ("N N var var var var" "") + ("N N var var var var var" "") + ("N N var var var var var var" "") + ("O O" "") + ("O O var" "") + ("O O var var" "") + ("O O var var var" "") + ("O O var var var var" "") + ("O O var var var var var" "") + ("O O var var var var var var" "") + ("P P" "") + ("P P var" "") + ("P P var var" "") + ("P P var var var" "") + ("P P var var var var" "") + ("P P var var var var var" "") + ("P P var var var var var var" "") + ("Q Q" "") + ("Q Q var" "") + ("Q Q var var" "") + ("Q Q var var var" "") + ("Q Q var var var var" "") + ("Q Q var var var var var" "") + ("Q Q var var var var var var" "") + ("R R" "") + ("R R var" "") + ("R R var var" "") + ("R R var var var" "") + ("R R var var var var" "") + ("R R var var var var var" "") + ("R R var var var var var var" "") + ("S S" "") + ("S S var" "") + ("S S var var" "") + ("S S var var var" "") + ("S S var var var var" "") + ("S S var var var var var" "") + ("S S var var var var var var" "") + ("T T" "") + ("T T var" "") + ("T T var var" "") + ("T T var var var" "") + ("T T var var var var" "") + ("T T var var var var var" "") + ("T T var var var var var var" "") + ("U U" "") + ("U U var" "") + ("U U var var" "") + ("U U var var var" "") + ("U U var var var var" "") + ("U U var var var var var" "") + ("U U var var var var var var" "") + ("V V" "") + ("V V var" "") + ("V V var var" "") + ("V V var var var" "") + ("V V var var var var" "") + ("V V var var var var var" "") + ("V V var var var var var var" "") + ("W W" "") + ("W W var" "") + ("W W var var" "") + ("W W var var var" "") + ("W W var var var var" "") + ("W W var var var var var" "") + ("W W var var var var var var" "") + ("X X" "") + ("X X var" "") + ("X X var var" "") + ("X X var var var" "") + ("X X var var var var" "") + ("X X var var var var var" "") + ("X X var var var var var var" "") + ("Y Y" "") + ("Y Y var" "") + ("Y Y var var" "") + ("Y Y var var var" "") + ("Y Y var var var var" "") + ("Y Y var var var var var" "") + ("Y Y var var var var var var" "") + ("Z Z" "") + ("Z Z var" "") + ("Z Z var var" "") + ("Z Z var var var" "") + ("Z Z var var var var" "") + ("Z Z var var var var var" "") + ("Z Z var var var var var var" "") + + ("a a" "") + ("a a var" "") + ("a a var var" "") + ("a a var var var" "") + ("a a var var var var" "") + ("b b" "") + ("b b var" "") + ("b b var var" "") + ("b b var var var" "") + ("b b var var var var" "") + ("c c" "") + ("c c var" "") + ("c c var var" "") + ("c c var var var" "") + ("c c var var var var" "") + ("d d" "") + ("d d var" "") + ("d d var var" "") + ("d d var var var" "") + ("d d var var var var" "") + ("e e" "") + ("e e var" "") + ("e e var var" "") + ("e e var var var" "") + ("e e var var var var" "") + ("f f" "") + ("f f var" "") + ("f f var var" "") + ("f f var var var" "") + ("f f var var var var" "") + ("g g" "") + ("g g var" "") + ("g g var var" "") + ("g g var var var" "") + ("g g var var var var" "") + ("h h" "") + ("h h var" "") + ("h h var var" "") + ("h h var var var" "") + ("h h var var var var" "") + ("i i" "") + ("i i var" "") + ("i i var var" "") + ("i i var var var" "") + ("i i var var var var" "") + ("j j" "") + ("j j var" "") + ("j j var var" "") + ("j j var var var" "") + ("j j var var var var" "") + ("k k" "") + ("k k var" "") + ("k k var var" "") + ("k k var var var" "") + ("k k var var var var" "") + ("l l" "") + ("l l var" "") + ("l l var var" "") + ("l l var var var" "") + ("l l var var var var" "") + ("m m var" "") + ("m m var var" "") + ("m m var var var" "") + ("m m var var var var" "") + ("m m var var var var var" "") + ("n n" "") + ("n n var" "") + ("n n var var" "") + ("n n var var var" "") + ("n n var var var var" "") + ("o o" "") + ("o o var" "") + ("o o var var" "") + ("o o var var var" "") + ("o o var var var var" "") + ("p p" "") + ("p p var" "") + ("p p var var" "") + ("p p var var var" "") + ("p p var var var var" "") + ("q q" "") + ("q q var" "") + ("q q var var" "") + ("q q var var var" "") + ("q q var var var var" "") + ("r r" "") + ("r r var" "") + ("r r var var" "") + ("r r var var var" "") + ("r r var var var var" "") + ("s s" "") + ("s s var" "") + ("s s var var" "") + ("s s var var var" "") + ("s s var var var var" "") + ("t t" "") + ("t t var" "") + ("t t var var" "") + ("t t var var var" "") + ("t t var var var var" "") + ("u u" "") + ("u u var" "") + ("u u var var" "") + ("u u var var var" "") + ("u u var var var var" "") + ("v v" "") + ("v v var" "") + ("v v var var" "") + ("v v var var var" "") + ("v v var var var var" "") + ("w w" "") + ("w w var" "") + ("w w var var" "") + ("w w var var var" "") + ("w w var var var var" "") + ("x x" "") + ("x x var" "") + ("x x var var" "") + ("x x var var var" "") + ("x x var var var var" "") + ("y y" "") + ("y y var" "") + ("y y var var" "") + ("y y var var var" "") + ("y y var var var var" "") + ("z z" "") + ("z z var" "") + ("z z var var" "") + ("z z var var var" "") + ("z z var var var var" "") + + ;; ("d d" "") + ;; ("d d var" "") + ;; ("e e" "") + ;; ("g g" "") + ;; ("i i" "") + ;; ("l l" "") + ;; ("p p" "") + ("R E" "") + ("I M" "") + ("d x" "x") + ("d x var" "") + ("d x var var" "dx") + ("d y" "y") + ("d y var" "") + ("d y var var" "dy") + ("d z" "z") + ("d z var" "") + ("d z var var" "dz") + ("d r" "r") + ("d r var" "") + ("d r var var" "") + ("d r var var var" "dr") + ("d j" "j") + ("d j var" "") + ("d j var var" "") + ("d j var var var" "") + ("d j var var var var" "dj") + ("d u" "u") + ("d u var" "") + ("d u var var" "du") + ("d v" "v") + ("d v var" "") + ("d v var var" "") + ("d v var var var" "dv") + ("d w" "w") + ("d w var" "") + ("d w var var" "") + ("d w var var var" "dw") +) ;kbd-map ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Textual operators ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(kbd-map - (:mode in-math-english?) - ;;("a n d" (make 'infix-and)) - ;;("a n d space" (make 'infix-and)) +(kbd-map (:mode in-math-english?) + ;; ("a n d" (make 'infix-and)) + ;; ("a n d space" (make 'infix-and)) ("space a" " a") ("space a var" (begin (kbd-space) (insert ""))) ("space a n" " an") ("space a n d" (make 'infix-and)) ("space a n d space" (make 'infix-and)) - ;;("a n d var" "and") - ;;("o r" (make 'infix-or)) - ;;("o r space" (make 'infix-or)) + ;; ("a n d var" "and") + ;; ("o r" (make 'infix-or)) + ;; ("o r space" (make 'infix-or)) ("space o" " o") ("space o var" (begin (kbd-space) (insert ""))) ("space o r" (make 'infix-or)) ("space o r space" (make 'infix-or)) - ;;("o r var" "or") - ;;("o r d" "ord") - ;;("i f f" (make 'infix-iff)) - ;;("i f f space" (make 'infix-iff)) + ;; ("o r var" "or") + ;; ("o r d" "ord") + ;; ("i f f" (make 'infix-iff)) + ;; ("i f f space" (make 'infix-iff)) ("space i" " i") ("space i var" (begin (kbd-space) (insert ""))) ("space i var var" (begin (kbd-space) (insert ""))) @@ -2932,15 +2953,15 @@ ("space i f" " if") ("space i f f" (make 'infix-iff)) ("space i f f space" (make 'infix-iff)) - ;;("i f f var" "iff") + ;; ("i f f var" "iff") ("f o r space" "for ") ("f o r space a l l" (make 'prefix-for-all)) - ("f o r space a l l space" (make 'prefix-for-all))) + ("f o r space a l l space" (make 'prefix-for-all)) +) ;kbd-map -(kbd-map - (:mode in-math-dutch?) - ;;("e n" (make 'infix-and)) - ;;("e n space" (make 'infix-and)) +(kbd-map (:mode in-math-dutch?) + ;; ("e n" (make 'infix-and)) + ;; ("e n space" (make 'infix-and)) ("space e" " e") ("space e var" (begin (kbd-space) (insert ""))) ("space e var var" (begin (kbd-space) (insert ""))) @@ -2948,16 +2969,16 @@ ("space e var var var var" (begin (kbd-space) (insert ""))) ("space e n" (make 'infix-and)) ("space e n space" (make 'infix-and)) - ;;("e n var" "en") - ;;("o f" (make 'infix-or)) - ;;("o f space" (make 'infix-or)) + ;; ("e n var" "en") + ;; ("o f" (make 'infix-or)) + ;; ("o f space" (make 'infix-or)) ("space o" " o") ("space o var" (begin (kbd-space) (insert ""))) ("space o f" (make 'infix-or)) ("space o f space" (make 'infix-or)) - ;;("o f var" "of") - ;;("d e s d a" (make 'infix-iff)) - ;;("d e s d a space" (make 'infix-iff)) + ;; ("o f var" "of") + ;; ("d e s d a" (make 'infix-iff)) + ;; ("d e s d a space" (make 'infix-iff)) ("space d" " d") ("space d var" (begin (kbd-space) (insert ""))) ("space d var var" (begin (kbd-space) (insert ""))) @@ -2967,15 +2988,15 @@ ("space d e s d" " desd") ("space d e s d a" (make 'infix-iff)) ("space d e s d a space" (make 'infix-iff)) - ;;("d e s d a var" "desda") + ;; ("d e s d a var" "desda") ("v o o r space" "voor ") ("v o o r space a l l e" (make 'prefix-for-all)) - ("v o o r space a l l e space" (make 'prefix-for-all))) + ("v o o r space a l l e space" (make 'prefix-for-all)) +) ;kbd-map -(kbd-map - (:mode in-math-french?) - ;;("e t" (make 'infix-and)) - ;;("e t space" (make 'infix-and)) +(kbd-map (:mode in-math-french?) + ;; ("e t" (make 'infix-and)) + ;; ("e t space" (make 'infix-and)) ("space e" " e") ("space e var" (begin (kbd-space) (insert ""))) ("space e var var" (begin (kbd-space) (insert ""))) @@ -2983,74 +3004,75 @@ ("space e var var var var" (begin (kbd-space) (insert ""))) ("space e t" (make 'infix-and)) ("space e t space" (make 'infix-and)) - ;;("e t var" "et") - ;;("o u" (make 'infix-or)) - ;;("o u space" (make 'infix-or)) + ;; ("e t var" "et") + ;; ("o u" (make 'infix-or)) + ;; ("o u space" (make 'infix-or)) ("space o" " o") ("space o var" (begin (kbd-space) (insert ""))) ("space o u" (make 'infix-or)) ("space o u space" (make 'infix-or)) - ;;("o u var" "ou") - ;;("s s i" (make 'infix-iff)) - ;;("s s i space" (make 'infix-iff)) + ;; ("o u var" "ou") + ;; ("s s i" (make 'infix-iff)) + ;; ("s s i space" (make 'infix-iff)) ("space s" " s") ("space s var" (begin (kbd-space) (insert ""))) ("space s var var" (begin (kbd-space) (insert ""))) ("space s s" " ss") ("space s s i" (make 'infix-iff)) ("space s s i space" (make 'infix-iff)) - ;;("s s i var" "ssi") + ;; ("s s i var" "ssi") ("p o u r space" "pour ") ("p o u r space t o u t" (make 'prefix-for-all)) - ("p o u r space t o u t space" (make 'prefix-for-all))) + ("p o u r space t o u t space" (make 'prefix-for-all)) +) ;kbd-map -(kbd-map - (:mode in-math-german?) - ;;("u n d" (make 'infix-and)) - ;;("u n d space" (make 'infix-and)) +(kbd-map (:mode in-math-german?) + ;; ("u n d" (make 'infix-and)) + ;; ("u n d space" (make 'infix-and)) ("space u" " u") ("space u var" (begin (kbd-space) (insert ""))) ("space u n" " un") ("space u n d" (make 'infix-and)) ("space u n d space" (make 'infix-and)) - ;;("u n d var" "und") - ;;("o d e r" (make 'infix-or)) - ;;("o d e r space" (make 'infix-or)) + ;; ("u n d var" "und") + ;; ("o d e r" (make 'infix-or)) + ;; ("o d e r space" (make 'infix-or)) ("space o" " o") ("space o var" (begin (kbd-space) (insert ""))) ("space o d" " od") ("space o d e" " ode") ("space o d e r" (make 'infix-or)) ("space o d e r space" (make 'infix-or)) - ;;("o d e r var" "oder") - ;;("g d w" (make 'infix-iff)) - ;;("g d w space" (make 'infix-iff)) + ;; ("o d e r var" "oder") + ;; ("g d w" (make 'infix-iff)) + ;; ("g d w space" (make 'infix-iff)) ("space g" " g") ("space g var" (begin (kbd-space) (insert ""))) ("space g var var" (begin (kbd-space) (insert ""))) ("space g d" " gd") ("space g d w" (make 'infix-iff)) ("space g d w space" (make 'infix-iff)) - ;;("g d w var" "gdw") + ;; ("g d w var" "gdw") ("f u r space" "fur ") ("f u r space a l l e" (make 'prefix-for-all)) ("f u r space a l l e space" (make 'prefix-for-all)) ("f u e r space" "fuer ") ("f u e r space a l l e" (make 'prefix-for-all)) - ("f u e r space a l l e space" (make 'prefix-for-all))) + ("f u e r space a l l e space" (make 'prefix-for-all)) +) ;kbd-map ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Special toggles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(kbd-map - (:require (inside? 'equation*)) - ("C-&" (equation->eqnarray (tree-innermost 'equation*)))) +(kbd-map (:require (inside? 'equation*)) + ("C-&" (equation->eqnarray (tree-innermost 'equation*))) +) ;kbd-map -(kbd-map - (:require (inside? 'equation)) - ("C-&" (equation->eqnarray (tree-innermost 'equation)))) +(kbd-map (:require (inside? 'equation)) + ("C-&" (equation->eqnarray (tree-innermost 'equation))) +) ;kbd-map -(kbd-map - (:require (inside? 'eqnarray*)) - ("C-&" (eqnarray->equation (tree-innermost 'eqnarray*)))) +(kbd-map (:require (inside? 'eqnarray*)) + ("C-&" (eqnarray->equation (tree-innermost 'eqnarray*))) +) ;kbd-map diff --git a/TeXmacs/tests/0616.scm b/TeXmacs/tests/0616.scm index 52dce6d432..50a232ba9e 100644 --- a/TeXmacs/tests/0616.scm +++ b/TeXmacs/tests/0616.scm @@ -16,45 +16,79 @@ (check-set-mode! 'report-failed) -(define (stree-has-spaced-differential? t) - ;; Check for pattern: "d" followed by " " followed by x/y/z/r// etc. - (define (check-list lst) +(define (collect-spaced-differentials t) + (define (collect-list lst) (if (or (null? lst) (null? (cdr lst)) (null? (cddr lst))) - #f - (let ((a (car lst)) - (b (cadr lst)) - (c (caddr lst))) - (if (and (string? a) (string=? a "d") - (string? b) (string=? b " ") - (string? c) - (or (string=? c "x") (string=? c "y") (string=? c "z") (string=? c "r") - (string=? c "") (string=? c "") - (string=? c "") (string=? c ""))) - #t - (check-list (cdr lst)))))) - (define (check-children lst) + '() + (let ((a (car lst)) (b (cadr lst)) (c (caddr lst))) + (if (and (string? a) (string=? a "d") (string? b) (string=? b " ") (string? c)) + (cons c (collect-list (cddr lst))) + (collect-list (cdr lst)) + ) ;if + ) ;let + ) ;if + ) ;define + (define (collect-children lst) (if (null? lst) - #f - (or (stree-has-spaced-differential? (car lst)) - (check-children (cdr lst))))) - (cond ((not (pair? t)) #f) + '() + (append (collect-spaced-differentials (car lst)) (collect-children (cdr lst))) + ) ;if + ) ;define + (cond ((not (pair? t)) '()) ((eq? (car t) 'concat) - (or (check-list (cdr t)) - (check-children (cdr t)))) - (else (check-children (cdr t))))) + (append (collect-list (cdr t)) (collect-children (cdr t))) + ) ; + (else (collect-children (cdr t))) + ) ;cond +) ;define + +(define (stree-has-all-spaced-differentials? t) + (let ((collected (collect-spaced-differentials t)) + (expected '("x" + "y" + "z" + "r" + "" + "" + "" + "" + "u" + "v" + "w" + "" + "" + "" + "") + ) ;expected + ) ; + (define (all-expected? lst) + (if (null? lst) #t (and (member (car lst) collected) (all-expected? (cdr lst)))) + ) ;define + (display* "Collected spaced differentials: " collected "\n") + (all-expected? expected) + ) ;let +) ;define (define (load-latex path) - (with path (string-append "$TEXMACS_PATH/tests/tex/" path) - (string-replace (string-load path) "\r\n" "\n"))) + (with path + (string-append "$TEXMACS_PATH/tests/tex/" path) + (string-replace (string-load path) "\r\n" "\n") + ) ;with +) ;define (define (test-latex-document-differentials) - (display "Testing space insertion for differentials in LaTeX document import...\n") + (display "Testing space insertion for differentials in LaTeX document import...\n" + ) ;display (let* ((latex-content (load-latex "0616_differential_test.tex")) (texmacs-tree (latex-document->texmacs latex-content)) - (st (tree->stree texmacs-tree))) - (display* "LaTeX Document converted tree TMU: " (serialize-tmu texmacs-tree) "\n") - (check (stree-has-spaced-differential? st) => #t))) + (st (tree->stree texmacs-tree)) + ) ; + (display* "LaTeX Document converted tree TMU: " + (serialize-tmu texmacs-tree) + "\n" + ) ;display* + (check (stree-has-all-spaced-differentials? st) => #t) + ) ;let* +) ;define -(tm-define (test_0616) - (test-latex-document-differentials) - (check-report)) +(tm-define (test_0616) (test-latex-document-differentials) (check-report)) diff --git a/TeXmacs/tests/tex/0616_differential_test.tex b/TeXmacs/tests/tex/0616_differential_test.tex index 3d84e30988..cd879d5d71 100644 --- a/TeXmacs/tests/tex/0616_differential_test.tex +++ b/TeXmacs/tests/tex/0616_differential_test.tex @@ -11,4 +11,12 @@ Greek variants: $d\varrho + d\vartheta$. +Additional tests for u, v, w differentials: + +\( du + dv = dw \) + +Inline math: $u du$ and $\cos v dv$ and $w dw$. + +Greek variants of u, v, w: $d\upsilon + d\phi + d\varphi + d\omega$. + \end{document}