Skip to content

[0638] 移除 tmisctext 自定义宏并在 LaTeX 导出中改用标准原生 inline 宏#3569

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

[0638] 移除 tmisctext 自定义宏并在 LaTeX 导出中改用标准原生 inline 宏#3569
JackYansongLi wants to merge 2 commits into
mainfrom
jacky/200_27/fix_tmisctext_macro_0638

Conversation

@JackYansongLi
Copy link
Copy Markdown
Contributor

[0638] 移除 tmisctext 自定义宏并在 LaTeX 导出中改用标准原生 inline 宏

相关文档

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

任务相关的代码文件

  • TeXmacs/progs/convert/latex/latex-texmacs-drd.scm
  • TeXmacs/plugins/latex/progs/convert/latex/latex-texmacs-drd.scm
  • TeXmacs/progs/convert/latex/latex-define.scm
  • TeXmacs/plugins/latex/progs/convert/latex/latex-define.scm
  • TeXmacs/progs/convert/latex/tmtex-elsevier.scm
  • TeXmacs/plugins/latex/progs/convert/latex/tmtex-elsevier.scm
  • TeXmacs/tests/0638.scm
  • TeXmacs/tests/tex/0638_tmisctext_macro_export.tex
  • TeXmacs/tests/tmu/0638.tmu

如何测试

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

xmake run 0638

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

  1. 打开 Mogan STEM,在文档中插入 Elsevier 杂项(doc-misc-label)。
  2. 导出为 LaTeX,确认导出的 .tex 文件的导言区中不再产生自定义的 \newcommand{\tmisctext}{...} 宏,而是直接原生输出为标准的 \tnotetext 及其内部加粗标识 Misc:

如何提交

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

一个 PR 至少分为两个 commit:

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

What

移除在 LaTeX 导出中,对 Elsevier 附属杂项标志(tmisctext)所生成的自定义宏,直接在正文中原生输出标准的 \tnotetext 标记并在内容中添加 Misc: 前缀。

Why

在 TeXmacs 以往的 LaTeX 导出中,定义了一个自定义前置命令:

\newcommand{\tmisctext}[2][]{\tnotetext[#1]{Misc: #2}}

这不仅造成了导言区污染,也使得非 elsarticle 模板在使用类似转换时产生代码耦合。其实直接在翻译时将 \tmisctext[label]{text} 转换为原生的 \tnotetext[label]{Misc: text},即可完全免除在 LaTeX 导言区定义该宏。

How

  1. 修改 tmtex-elsevier.scm 中的 tmtex-doc-misc-label,使其直接输出原生的 tnotetext,内容部分拼接 "Misc: " 并加粗,不通过 (tmisctext ...)
  2. latex-texmacs-drd.scmlatex-texmacs-preamble-command% 中移除 tmisctext
  3. latex-define.scmlatex-texmacs-preamble 列表中删去对 tmisctext 宏的自定义转译定义。

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