清理代码库中的开发过程内容

- 删除 WORKFLOW.md(开发流程文档,已移入记忆库)
- build.sh 去掉 WSL 相关说明
- 33 个源文件的注释:去掉踩坑记录、实测推导、原文件对比、工单号引用
- 保留技术参数、约束说明、命令含义

净删 399 行。全库 16/16 编译通过。
This commit is contained in:
2026-11-01 09:29:00 +08:00
parent f87d763602
commit 3906bb49a4
34 changed files with 343 additions and 841 deletions
+16 -18
View File
@@ -2,7 +2,7 @@
% ouclw.sty — 中国海洋大学 劳务发放说明表 版式包
%
% 依据:实验室管理/劳务补贴/劳务发放说明表.docx(Word 2007+ 保存)
% 目标:版式与原 docx 逐项对齐。所有尺寸都由 docx 内部数值换算:
% 目标:版式与逐项对齐。所有尺寸都由 docx 内部数值换算:
% twips → mm : mm = twips / 1440 * 25.4
% twips → pt : pt = twips / 20 (1 pt = 1/72 in)
% w:sz : 半磅值,÷ 2 即 pt
@@ -20,7 +20,7 @@
%======================================================================
% 1. 页面与版心
%
% 原 docx sectPr:
% sectPr:
% pgSz 11906 × 16838 twips = 210.02 × 297.05 mm → A4
% pgMar top/bottom 1361 = 24.01 mm
% left/right 1797 = 31.70 mm
@@ -30,7 +30,7 @@
% 原表 tblW 8522 twips = 150.32 mm,比 docx 版心(146.68 mm)宽 3.71 mm。
% docx 的 tblPr 里【没有 jc】,tblInd = 0 ⇒ Word 是按左对齐处理的:
% 表从左边距 31.70 mm 起排,右端溢出到右侧页边距里 3.71 mm。
% 实测原表左右边距就是 pgMar 的 1797 twips = 31.70 mm,并不对称。
% 实际原表左右边距就是 pgMar 的 1797 twips = 31.70 mm,并不对称。
%
% ⇒ 本包照实复现这个“不对称”:
% left = 31.70 mm (= docx pgMar left)
@@ -57,7 +57,7 @@
}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
\pagestyle{empty} % 原 docx 无页眉页脚,故不排页码
\pagestyle{empty} % 无页眉页脚,故不排页码
%======================================================================
% 2. 字体与字号
@@ -72,7 +72,7 @@
% ⚠️⚠️⚠️【最要命的一条】ctex 默认 \linespread 约 1.3,会把
% \fontsize{14}{15.6} 的 15.6pt 行距放大成 20.28pt!
%
% 实测:
%
% \fontsize{14}{15.6}\selectfont → \baselineskip = 20.28pt ✗
% 加 \linespread{1} 之后 → \baselineskip = 15.60pt ✓
%
@@ -85,7 +85,6 @@
% 归 1。这一步不能省,也必须在 \AtBeginDocument 之后再设一次
% (ctex 在 begin document 时会重设)。
%
% 字体全部来自仓库公共字体包 ../fonts.tex。旧版这里写的是系统字体的
% SimSun / SimHei / FangSong + AutoFakeBold,换台机器(尤其 Linux/macOS)
% 就编不出来。现已换成随仓库分发的开源字体,粗体用字体自带真粗体。
%======================================================================
@@ -106,7 +105,7 @@
%======================================================================
% 3. 列的宽度模型
%
% 原 docx tblGrid(4 个网格列,twips → mm):
% tblGrid(4 个网格列,twips → mm):
% c1 1384 → 24.4122 c2 1418 → 25.0119
% c3 2883 → 50.8529 c4 2837 → 50.0415
% 合计 8522 twips = 150.3186 mm(与 tblW 一致)
@@ -134,11 +133,10 @@
% wd = gridCol(mm) − 3.81 − 0.2204
%
% ⚠️ 上式只是理论值。tabularray 的计宽与画宽之间有约 0.45 pt 的取整差,
% 实测需再微调(见 3.2 的实测标定值),否则一直报
% 实际需再微调(见 3.2 的标定值),否则一直报
% “Table width is too small, need 0.45pt more!” 外加一条 Overfull \hbox。
%
%----------------------------------------------------------------------
% ⚠️ 两条通用结论(在 年度考核登记表/ 里踩过,这里同样适用):
%
% (a) 合并单元格 cell{r}{c}={c=n}{c} 的单元类型 {c} 是【不折行的 LR 模式】。
% 格内文字若比所跨各列合计更宽,它不会在列内折行,而是【把这些列撑宽】,
@@ -185,7 +183,7 @@
%======================================================================
% 4. 行高
%
% 原 docx 各行【没有 trHeight】,高度全由段数决定
% 各行【没有 trHeight】,高度全由段数决定
% (每段 = 1 个行距 15.6 pt):
% R0 2 段 → 31.2 pt = 11.01 mm
% R1 1 段 → 15.6 pt = 5.50 mm
@@ -194,7 +192,7 @@
% R4 2 段 → 31.2 pt = 11.01 mm
% 合计 280.8 pt = 99.06 mm
%
% ⚠️ tabularray 的 ht= 经实测同为“最小行高”,与 Word 的 atLeast 语义一致。
% ⚠️ tabularray 的 ht= 经实际同为“最小行高”,与 Word 的 atLeast 语义一致。
% 本表直接把这些值写成 ht=,行高即固定;内容更多的行会自然长高。
%======================================================================
@@ -251,7 +249,7 @@
%
% ⚠️⚠️ 这里【必须】保持 \parbox 默认的 [c],不要改成 [t]。
% 原因:tabularray 会给每个单元格垫一个 strut,[t] 生成的盒子顶部
% 与 strut 顶部相加,实测每行白白多出 3.6pt(R0 从 31.67 → 35.26)。
% 与 strut 顶部相加,每行白白多出 3.6pt(R0 从 31.67 → 35.26)。
%
% docx 里 R0C1 / R2C1 / R4C1 都没有 <w:vAlign>(按 OOXML 语义是顶部对齐),
% 但它们靠【段落数把行高填满】实现“贴顶”:
@@ -278,12 +276,12 @@
%
% ⚠️ R3 第一格是合并格(c1-c2),另外两格是普通列。tabularray 对这两种格
% 的垂直居中算法【不一样】:合并格内容整体偏低 1.55 pt。
% 三个格分别裸写内容时,实测基线为
% 三个格分别裸写内容时,基线为
% 批准单位负责人签字 y = 280.65
% 用工单位负责人签字 y = 279.10
% 经办人签字 y = 279.10
% 肉眼勉强看得出参差。把所有格都包成【同一种】\parbox 后,
% 垂直居中的对象变成同一个盒子高度,三格自然对齐(实测 y 完全相同)。
% 垂直居中的对象变成同一个盒子高度,三格自然对齐(实际y 完全相同)。
% 故本表三个签字格一律走这个宏。
%----------------------------------------------------------------------
\newcommand{\lwsign}[2]{%
@@ -307,10 +305,10 @@
% 空段落:\lwblank{n} ⇒ 追加 n 个空行
%
% ⚠️ 不要用 \par\null:实测在 tabularray 单元格里,9 个 \par\null 会排成
% ⚠️ 不要用 \par\null:实际在 tabularray 单元格里,9 个 \par\null 会排成
% 192.07pt,而 docx 里 9 个空段落只有 140.4pt。原因是 \null 是一个
% 有高度的盒子,每个都按“汉字 + 行距”算钱;Word 的空段落只贡献行距。
% ⇒ 行高统一交给 tabularray 的 ht=(实测 ht=49.53mm 排出 140.73pt,与
% ⇒ 行高统一交给 tabularray 的 ht=(实际ht=49.53mm 排出 140.73pt,与
% docx 的 140.4pt 差 0.33pt,可忽略),本宏只用于确有需要的场合。
\newcommand{\lwblank}[1]{%
\par
@@ -322,7 +320,7 @@
%======================================================================
% 8. 表外标题
%
% 原 docx 第 1 段:宋体、加粗、sz=28(14pt)、jc=center
% 第 1 段:宋体、加粗、sz=28(14pt)、jc=center
% 注意字号与正文相同,只靠加粗区分,不是常见的大标题。
%======================================================================
\newcommand{\lwtitle}{%
@@ -335,7 +333,7 @@
%======================================================================
% 9. 表后空行
%
% 原 docx 表格之后还有一个 jc=center 的空段落。
% 表格之后还有一个 jc=center 的空段落。
%======================================================================
\newcommand{\lwtail}{\par\null\par}