Skip to content

[1255] 修正 bowtie/Join 底层符号命名(<bowtie>=U+22C8,<Join>=U+2A1D) - #4471

Open
da-liii wants to merge 6 commits into
mainfrom
da/1255/bowite
Open

[1255] 修正 bowtie/Join 底层符号命名(<bowtie>=U+22C8,<Join>=U+2A1D)#4471
da-liii wants to merge 6 commits into
mainfrom
da/1255/bowite

Conversation

@da-liii

@da-liii da-liii commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What

修正 bowtie 一族符号的底层命名,使其与 LaTeX 命令语义一致:

LaTeX 命令 修正前 修正后 Unicode
\bowtie <join> <bowtie> U+22C8 ⋈
\Join(latexsym) <Bowtie> <Join> U+2A1D ⨝
  • tmuniversaltounicode.scm:改名 + 删除过时的命名示例注释
  • lolly/lolly/data/cork_data.inc:用 gen_cork_data.py 重新生成(cork↔UTF-8 为编译期常量表,新旧逐项比对唯一差异即这两处改名)
  • latex-kbd.scm:kbd-symbols 改为 bowtie/Join,删除临时显式映射
  • math-kbd.scm / std-symbols.scm:跟随改名

Why

  • 改名前 <bowtie>/<Join> 没有任何 Unicode 映射:LaTeX 导入 \bowtie、kbd 插入 \Join 得到的符号无法渲染
  • LaTeX 导出按名字映射:<join> 导出为非标准命令 \join(实际不存在),<Bowtie> 被错导为 wasysym 的 \Bowtie

测试(TDD)

  • 新增 Scheme 纯逻辑测试 TeXmacs/progs/language/tests/tmuniversaltounicode-test.scm:锁定双向转换契约,6/6 通过
  • lolly/tests/lolly/data/cork_test.cpp 新增 test_named_bowtie_join(8 断言):回滚 cork_data.inc 时用例如期失败(Red),恢复后 70 用例 / 1177 断言全绿(Green)
  • 顺带修复:lolly/tests/Data/String/cork_test.cpp 与新树测试同名被 xmake add_tests 遮蔽从不运行,改名为 tm_cork_test.cpp,复活后 5 用例 / 25 断言全绿

任务文档:devel/1255.md

- tmuniversaltounicode.scm:<join>→<bowtie>(#22C8)、<Bowtie>→<Join>(#2A1D),
  与 LaTeX 命令 \bowtie / \Join 语义对齐;删除过时的命名示例注释
- 运行 gen_cork_data.py 重新生成 lolly cork_data.inc(cork↔UTF-8 编译期查找表)
- latex-kbd.scm:kbd-symbols 改为 bowtie/Join,删除上一版临时的显式映射
- math-kbd.scm / std-symbols.scm:跟随改名
- 新增 TeXmacs/progs/language/tests/tmuniversaltounicode-test.scm 单元测试
- 新增 test_named_bowtie_join:锁定 <bowtie>↔U+22C8、<Join>↔U+2A1D 双向映射、
  旧名 <join>/<Bowtie> 透传、strict 变体一致性
- Red/Green 验证:回滚 cork_data.inc 时新用例如期失败,恢复后 70 用例全绿
- devel/1255.md 补充 C++ 层测试说明与 cork_test.cpp 同名遮蔽问题
xmake add_tests 按 basename 注册,lolly/tests/Data/String/cork_test.cpp
被 lolly/tests/lolly/data/cork_test.cpp 覆盖而从不运行。改名后两个测试
独立运行:tm_cork_test 5 用例/25 断言、cork_test 70 用例/1177 断言,全绿;
旧树 Data/String/cork.cpp 实现与测试契约一致,无需改动。
@da-liii da-liii changed the title [1255] 支持通过 \bowtie 输入 ⋈ 符号 [1255] 修正 bowtie/Join 底层符号命名(<bowtie>=U+22C8,<Join>=U+2A1D) Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant