Commit Graph
5 Commits
Author SHA1 Message Date
laoyang e38b39310f 新增要点框自动排布环境 pointboxgrid(每行最多 4 个)
把任意多个要点自动排成网格,规则:行数 = ceil(N/4),尽量均匀且上行不少于下行
(1~4 一行;5→3+2;6→3+3;7→4+3;8→4+4;9→3+3+3;10→4+3+3;11→4+4+3;12→4+4+4)。

用法:
  \begin{pointboxgrid}{高度}
    \pointitem{标题}{颜色}{内容}
    ...
  \end{pointboxgrid}
另提供 \pointboxsetup{每行最多几个}{横向间距}{纵向间距}(默认 4 / 8pt / 6pt)。

实现要点(本机 expl3 的坑,已在代码注释中说明):
 - 比较一律用 \ifnum:\int_compare:nNnT 在本机 TeX Live 下会把所有 ##1
   都判成“小于等于”,导致行内个数分配失效。
 - 列宽走 \fp_eval:n + \dim_to_fp:n:expl3 的维度乘法(*)在此环境下静默算出 0pt。
 - 要点内容存进带索引的宏、再用 \tl_use:c 取用,避开不可靠的 \exp_after:wN 展开。
 - 必须 \begin{columns}[onlytextwidth],否则默认 columns 的左右边距会让 4 列各溢出约 10pt。

另外:总高超过正文可用高度时给出 oucslide Warning
(总高 ≈ 69 + 行数×高度 + (行数−1)×25 pt;正文可用高度取 243pt)。

已验证:1~12 个排布全部符合规则;TL2022/2023/2024/2025/2026 均 0 错误 0 溢出;
原有内容不受影响(纯新增 174 行)。
2026-10-13 08:32:02 +08:00
laoyang b200e44687 合并 2026 分支:修复目录页圆形序号在圈内偏上的问题(main 指向最新年份分支) 2026-10-12 17:32:04 +08:00
laoyang 2c15d8a2d2 修复目录页圆形序号在圈内偏上的问题,并在 TeX Live 2026 下重新编译
原因:徽标里用了 \strut,它把内容盒撑成「0.7 倍行距上高 + 0.3 倍行距下深」,
而数字没有下伸部,这段虚构的下深把数字整体推高,在圈里明显偏上
(实测偏上 1.7pt,大字号时可达 4pt)。去掉 \strut 后数字墨迹与圆心对齐。

顺带修正一个顺序错误:徽标直径原本在字号算出之前计算,读到的字号恒为 0,
导致圆圈大小与字号脱钩(永远退化到 1.15em)。现已移到字号之后计算。

圆的垂直位置不受影响。本分支已用 TeX Live 2026 重新编译验证:
0 错误、0 溢出、23 页,目录页 4 个跳转链接正常,徽标垂直偏差 ≤ 0.71pt。
2026-10-12 17:27:58 +08:00
laoyang 1a6b88cf47 合并 2026 分支:目录页自适应方框样式(main 始终指向最新年份分支) 2026-10-12 11:29:39 +08:00
laoyang c0ffa15682 目录页改为自适应方框样式,并在 TeX Live 2026 下编译验证
把每一个一级标题放进独立的方框,方框高度与字号随章节数目自动计算,
方框自动均分铺满整页;文字左对齐,左侧只留少量缩进。

新增 \settocstyle{box|solid|bar} 三种方框样式(未知值告警并回退 box),
新增 \toctheme{red|blue} 两种配色(默认海大红,与各章节标题页同色)。

本分支已用 TeX Live 2026 亲自编译验证:0 错误、0 溢出、23 页,
目录页 4 个跳转链接正常,且与本仓库其他分支渲染一致。
2026-10-12 11:29:20 +08:00