Skip to content

[0629] 修复 coloneqq 相关的 mathtools 宏包依赖导出缺失问题#3559

Open
JackYansongLi wants to merge 2 commits into
mainfrom
jacky/200_27/fix_coloneqq_dependency_0629
Open

[0629] 修复 coloneqq 相关的 mathtools 宏包依赖导出缺失问题#3559
JackYansongLi wants to merge 2 commits into
mainfrom
jacky/200_27/fix_coloneqq_dependency_0629

Conversation

@JackYansongLi
Copy link
Copy Markdown
Contributor

[0629] 修复 coloneqq 相关的 mathtools 宏包依赖在 LaTeX 导出中的缺失问题

相关文档

  • 0605.md - 参考的 stack 到 substack LaTeX 导出任务文档

任务相关的代码文件

  • TeXmacs/progs/convert/latex/latex-drd.scm
  • TeXmacs/plugins/latex/progs/convert/latex/latex-drd.scm
  • TeXmacs/tests/0629.scm
  • TeXmacs/tests/tex/0629_coloneqq_dependency_export.tex
  • TeXmacs/tests/tmu/0629.tmu

如何测试

确定性测试(单元与集成测试)

xmake run 0629

非确定性测试(文档验证)

  1. 打开 Mogan STEM,在数学公式中输入定义运算符 :=(LaTeX 中的 \coloneqq)。
  2. 导出为 LaTeX,确认导出的 .tex 文件的导言区中正确包含了 \usepackage{mathtools},避免 LaTeX 编译时报错 "Undefined control sequence \coloneqq"。

如何提交

提交前执行以下最少步骤:

一个 PR 至少分为两个 commit:

  1. 第一个 commit 更新 devel/0629.md 任务文档
  2. 第二个 commit 为代码改动(包含测试与实现)
xmake run 0629

What

修复在 LaTeX 导出中,凡是使用了定义符号 :=(对应 LaTeX 中的 \coloneqq 命令)的数学公式文档,由于缺失对 mathtools 宏包依赖的匹配声明,导致导出的 LaTeX 文件导言区没有引入 \usepackage{mathtools} 而引发编译报错的问题。

Why

定义运算符 :=(在 LaTeX 中由 \coloneqq 表示)在数学和物理论文中极为常用。该符号并不是标准 LaTeX 或 amsmath 的内置命令,而是由 mathtools 宏包提供。
但是在 LaTeX 依赖定义表 latex-drd.scm 中,虽然注册了 coloneqq 作为一个合法命令,却完全缺失了对 mathtools 包依赖的声明映射。导致当用户在 TeXmacs 里使用 := 导出为 LaTeX 时,导出的 .tex 文档导言区没有包含 \usepackage{mathtools},使得 LaTeX 编译崩溃。

How

latex-drd.scmlatex-needs% 依赖映射表中注册 coloneqq 宏包依赖:

  (coloneqq "mathtools")

这样一旦导出的 LaTeX 文档中包含 \coloneqq,就会自动在导言区正确引入 mathtools 宏包。

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