diff --git a/TeXmacs/progs/math/math-kbd.scm b/TeXmacs/progs/math/math-kbd.scm index bc8fa5c1cb..d4cd598e2d 100644 --- a/TeXmacs/progs/math/math-kbd.scm +++ b/TeXmacs/progs/math/math-kbd.scm @@ -838,9 +838,9 @@ ("> var var var var var =" "") ("< var var var var var var" (math-bracket-open "" "" 'default)) - ("> var var var var var var" (math-bracket-close "" "" 'default)) + ("> var var var var var var" (math-bracket-open "" "" 'default)) ("< < var var var" (math-bracket-open "" "" 'default)) - ("> > var var var" (math-bracket-close "" "" 'default)) + ("> > var var var" (math-bracket-open "" "" 'default)) ("- < var" "") ("> - var" "") diff --git a/devel/201_104.md b/devel/201_104.md index 52f5f3da15..852eaa4547 100644 --- a/devel/201_104.md +++ b/devel/201_104.md @@ -51,3 +51,35 @@ - 在 `get_xpositions` 中,按字符宽度累计每个边界位置 - 在 `draw_fixed` 中,按累计偏移逐字符绘制 - `draw_fixed (renderer, string, SI, SI, SI)` 保持与基础类一致的逐字符绘制行为 + + +# 201_104 修复数学模式下 `>` 符号按 `Shift+Tab` 弹出空窗口,并修正类似的 `>>` 问题 + +## 如何测试 + +1. 新建文档,进入数学模式:`$` +2. 输入 `>`(大于号) +3. 按 `Shifyrt+Tab` 打开 Tab cycling 候选弹窗 +4. 检查:弹窗正常显示 `>` 的符号变体列表,不再是空窗口 +5. 按 `Shift+Tab` 向后循环浏览,确认可以正常轮转并插入变体 + +### What + +将 `<` + 6 次 `Tab` 的定义改为使用 `math-bracket-open`,使 `Shift+Tab` 能正确触发变体循环机制 + +### Why +1. `Shift+Tab` 被视为独立的按键组合,未能正确映射到数学编辑上下文中的"上一个变体"操作 +2. 当 `>` 是变体菜单中的第一个符号时,系统将其转换为多次 `Tab` 按压,通过 `<` + n 次 `Tab` 迭代检查 +3. 在 `<` + 6 次 `Tab` 的初始定义中,最后一个条目由两个字符组成,需要特殊处理。但该处理仅实现在 `math-bracket-open` 中,未覆盖当前场景 + +### How + +- `~/mogan/TeXmacs/progs/math/math-kbd.scm` +- 找到 `<` + 6 次 `Tab` 的相关定义 +- 将其修改为使用 `math-bracket-open` +- 同时检查并修复其他类似的 `>>` 相关问题 + +### Additional Notes + +- 本次修复同时也处理了类似的 `>>` 符号在 `Shift+Tab` 时可能出现的相同问题 +- 修复后可确保数学模式下大于号相关符号的变体弹窗正常显示