CTeX-org / ctex-kit

Macro Packages and Scripts for Chinese TeX users
966 stars 124 forks source link

Update testfiles #650

Closed muzimuzhi closed 1 year ago

muzimuzhi commented 1 year ago

因为项目上次提交还是 2022 年 9 月,攒了一些上游改动。改着这个又遇到那个,最终的改动分三个阶段

  1. 同步 \MakeUppercase 的变化(https://github.com/latex3/latex2e/commit/7447e931 ),现在它展开到 \MakeUppercase␣␣␣[#1]{#2},从 \MakeUppercase␣{...} 变成 \MakeUppercase␣␣␣[]{...}
    • 这个改动让 testfiles 里和输出 \leftmark, \rightmark 相关的地方增加 4 个字符。增加的字符可能导致换行。
  2. 除了导致换行,还遇到 \SEPARATOR(一整行 ======)前的换行消失的问题。综合考虑,通过在 build.lua 里设一个很大的最大行长来规避:maxprintline = 2000。这样还能让以前以 \ETC 结尾的内容完整输出,测得更完整。
    • \SEPARATOR 前的换行消失的问题:l3build check -e xetex fancyhdr02 log 中要比对的内容被 l3build normalize log 后,会少一个换行。我猜是因为以 . 结尾且行长恰好等于设定值。
      *** ./build/check/fancyhdr02.tlg    Tue Feb  7 08:39:45 2023
      --- ./build/check/fancyhdr02.xetex.log  Tue Feb  7 08:39:47 2023
      ***************
      *** 8,12 ****
        ============================================================
        TEST 2: Right header of headings
        ============================================================
      ! > \MakeUppercase    []{第二节\hskip 1em\relax 一级标题 Section Heading}.
      ! ============================================================
      --- 8,11 ----
        ============================================================
        TEST 2: Right header of headings
        ============================================================
      ! > \MakeUppercase    []{第二节\hskip 1em\relax 一级标题 Section Heading}.============================================================
  3. 这样,所有非 uptex 引擎的 testfiles 改动都能看懂、可以 git add 了。
    • testfiles-cmap 里和 pdf 字体 operator /F<n> 相关的修改,应该和 l3intarray 的改动有关
    • uptex 下发现遇到要输出 \MakeUppercase 时就会报错,排查发现是 l3kernel 的问题,https://github.com/latex3/latex3/issues/1171
    • 我把临时 patch 加在了 regression-test.cfg 里,使得 ci 可以通过

不急的话,可以等 l3kernel 修复问题、发版后,这边去掉临时 patch 再合并。

muzimuzhi commented 1 year ago

不急的话,可以等 l3kernel 修复问题、发版后,这边去掉临时 patch 再合并。

latex3 2023-02-22 包含了相关修复,等一两天 texlive 就能更新到它了

Firestar-Reimu commented 1 year ago

这个会在texlive2023里面出吗?TexLive-pretest呢?

stone-zeng commented 1 year ago

这些主要是测试文件,普通用户并不需要关注。