Skip to content

v2.3.2 — 字号上限与目标印刷宽度 / Font-Size Ceiling & Target Print Width

Latest

Choose a tag to compare

@0xE1337 0xE1337 released this 25 Jul 15:05

v2.3.2 — 字号上限与目标印刷宽度

问题
独立多镜头审查提出两条压力——「印刷字号不够」与「全图除标题外只有一个字号 = 最响的模板感信号」。据此把 \documentclass 基准 10pt→11pt 并上调标题档位,画布却一动没动。结果正文 CJK 6.5→8.0pt(+23%)、区标题 6.5→9.0pt(+38%),每个框单看都更清楚、合起来全部顶满边框。用户终审判定「最终版字太大,早期版更好看」。

四条根因,都在 skill 自身

  1. 单向棘轮 —— data-visualization.md 的最小字号表五行全是下限,且明写「空间不够说明框太小了——加大框尺寸,不要缩小字」;checklist T4 只查截断,也是下限方向。TikZ 流程没有任何字号上限规则——唯一那条「字号过大→扣分」躺在 drawio-modes.md,draw.io 专属,TikZ 图永远加载不到。于是"放大字号"在规则体系里成了纯收益、零成本的动作。
  2. 缺「目标印刷宽度」一级约束 —— textwidth / 印刷 / 正文宽 在 SKILL.md、step1、lessons、checklist 中命中数全部为 0。step1 第 3 项只要求匹配"宽高比",没有绝对尺寸。画布(cm)与字号(pt)两个绝对量的耦合完全缺席 → 画布定死后才发现印刷字号不够,此时唯一还能动的就是字号,动它必然破坏比例。
  3. Philosophy 把层级绑死在 scale —— 「Clear hierarchy through scale contrast」+「hero ≥ 2× 辅助 box」,从没提层级也可由字重/颜色/描边/留白构造。被批"只有一个字号"时,第一反应必然是放大。
  4. Step 0 D 审美退步测试的三个例子全是几何(对称丢/平行断/间距不均),"每处单看更清楚、合起来更挤"这种整体性退步不在视野内,18 项逐条自审全过。

改动

  • data-visualization.md — 最小字号表改为双向区间表(补上限列);「加大框尺寸」限定为画布未定时,画布已定时的正确动作是 缩短文案 > 改两行 > 重排,禁止放大字号或框
  • step1-instructions.md — 新增 3a 目标印刷宽度(必填、不可跳过):先钉死 W_print,再由 设计字号 = 目标印刷字号 × (W_ink / W_print) 反推;附印刷字号基线表(中文学位论文 ≥ 六号 7.5pt)
  • SKILL.md — 层级词条扩为 尺寸 / 字重 / 颜色 / 留白 / 描边粗细 五选二,并注明画布已定时优先非字号手段;Step 0 D 补「字号整体放大 / 文字撑框」,且动过字号档位时必须并列报出两轮 CJK 字号分布
  • visual-review-checklist.md — 新增 T5:(a) 撑框检测(标签宽 ≤ 框内宽 80%)(b) 字号回归检测(附可直接跑的 PyMuPDF 测量脚本,任一档位涨幅 > 15% 即 N)(c) 印刷字号复核。18 → 19 项
  • lessons.md — 沉淀「字号单向棘轮」条
  • README — 修正陈旧的「44 项审查规则」→ 19 项

元教训(比本条 bug 更值钱)

只给下限、不给上限的规则 = 单向棘轮。 写任何"不得小于 / 至少 / 必须加大"的规则时,都要问一句「反方向失控会怎样」,并把上限一起写出来。
同类嫌疑已标注:「hero ≥ 2× 辅助 box」(无上限)、「嵌入 viz 占框 60% 以上」(无上限)。

实测验证(AST-GCN 自适应时空图卷积网络段落)
同一张图退回 10pt 基准后,正文回到 6.5pt、四级字号层级保留(12 / 9 / 7.5 / 6.5pt),框内留白恢复,同时 v07–v08 的全部正确性修复(符号冲突 d/rσ/φ,感受野锥补零标注, 非对称热力图)一并保留。


EN: Fixes a one-way ratchet in the font-size rules. Only floors existed (data-visualization.md minimum-size table plus "enlarge the box, never shrink the type"; checklist T4 only checks truncation) — the sole "font too large" rule lived in the draw.io-only file and was unreachable from the TikZ path, so enlarging type was pure upside at zero cost. Compounding this, "target print width" appeared nowhere in the skill (0 hits across SKILL.md, step1, lessons, checklist), leaving canvas-cm and font-pt uncoupled; once the canvas was fixed, font size was the only remaining lever, and pulling it necessarily broke proportion. Real-world effect: body CJK +23%, zone titles +38% with the canvas unchanged — every box individually clearer, collectively bursting. Changes: bidirectional size ranges; mandatory §3a target print width with a derivation formula and baseline table; hierarchy redefined as ≥2 of size/weight/color/whitespace/stroke (prefer non-size levers once the canvas is fixed); new checklist item T5 (80% fill ceiling, font-size regression diff with a runnable measurement script, print-size recheck), 18 → 19 items. Meta-lesson recorded: a rule with a floor but no ceiling is a ratchet — always ask what runaway looks like in the opposite direction.