把实验室现用的《劳务发放说明表》Word 版复刻为 LaTeX 模板,与仓库内已有的 exam/(试卷)、form/(年度考核登记表)保持同一套做法:自包含子目录、 版式尽量与原 docx 逐项对齐、模板本身不含真人信息。
exam/
form/
C:/Users/Yongquan/SynologyDrive/实验室管理/劳务补贴/劳务发放说明表.docx
form2/
聘请秦依康等2位研究生参与《观测数据驱动的渤海生态系统健康评估关键技术研发》项目的研究工作。
聘请xxx等x位研究生参与《xxx》项目的研究工作。
×
README.md
xelatex 劳务发放说明表.tex
pdftocairo -svg
pdftotext -bbox
提交 e032aec,已推送至 main(565ec7c..e032aec)。
e032aec
main
565ec7c..e032aec
form2/ouclw.sty
form2/劳务发放说明表.tex
\lwunit
\lwreason
\lwnote
\lwwork
form2/劳务发放说明表.pdf
form2/README.md
原文:聘请秦依康等2位研究生参与《观测数据驱动的渤海生态系统健康评估关键技术研发》项目的研究工作。 改为:聘请xxx等x位研究生参与《xxx》项目的研究工作。
句式一字未动,仅把真人姓名、人数、项目名换成占位。.tex 里写作 聘请{\songti ×××}等{\songti ×}位研究生参与《{\songti ×××}》项目的研究工作。 (× 是该系列模板惯用的占位符,与 form/ 一致)
.tex
聘请{\songti ×××}等{\songti ×}位研究生参与《{\songti ×××}》项目的研究工作。
用 pdftocairo -svg 取矢量线条坐标 + pdftotext -bbox 取字坐标:
rel-top
表宽差 0.18 mm、每行高 +0.15 mm tabularray 计宽按 n−1 根竖线、画宽按 n 根,系统性差 0.5 pt。为消除 Overfull \hbox (0.50964pt),把 4 个列宽常量各减 0.0449 mm,代价是表宽 缩了 0.18 mm(0.12%,肉眼不可辨)。
Overfull \hbox (0.50964pt)
左右页边距不对称(31.70 / 27.98 mm),不是居中 原表宽 150.32 mm 比 docx 版心 146.68 mm 宽 3.71 mm,而 tblPr 里没有 jc、tblInd=0 ⇒ Word 按左对齐处理,表从左边距起排、右端溢进右边距。 本模板照实复现。若改成左右等边距,表会整体左移 1.86 mm,与 Word 不符。
tblPr
jc
tblInd=0
\linespread ≈ 1.3
\fontsize{14}{15.6}
ht=
\linespread{1}\relax
\AtBeginDocument
{c}
\hsize
2·colsep·(n−1)
\parbox
\parbox[t]
[c]
\lwblank{n}
经验同步写入项目记忆 2025-10-23.md。
2025-10-23.md
No dependencies set.
The note is not visible to the blocked user.
背景 / 诉求
把实验室现用的《劳务发放说明表》Word 版复刻为 LaTeX 模板,与仓库内已有的
exam/(试卷)、form/(年度考核登记表)保持同一套做法:自包含子目录、版式尽量与原 docx 逐项对齐、模板本身不含真人信息。
原始文件
C:/Users/Yongquan/SynologyDrive/实验室管理/劳务补贴/劳务发放说明表.docx具体要求
form2/目录存放(与form/平级)。聘请秦依康等2位研究生参与《观测数据驱动的渤海生态系统健康评估关键技术研发》项目的研究工作。聘请xxx等x位研究生参与《xxx》项目的研究工作。×占位。14pt 宋体、15.6pt 行距、0.5pt 边框、1.905mm 单元格内边距。
README.md(用法、参数、换算表、坑),并在根README.md目录表登记。验收标准
xelatex 劳务发放说明表.tex零错误、零警告(无 Overfull / Underfull),输出 1 页。pdftocairo -svg+pdftotext -bbox量化验证,不靠肉眼。已完成
提交
e032aec,已推送至main(565ec7c..e032aec)。交付文件
form2/ouclw.styform2/劳务发放说明表.tex\lwunit\lwreason\lwnote\lwwork)form2/劳务发放说明表.pdfform2/README.mdREADME.mdform2/文字改写(按要求执行)
句式一字未动,仅把真人姓名、人数、项目名换成占位。
.tex里写作聘请{\songti ×××}等{\songti ×}位研究生参与《{\songti ×××}》项目的研究工作。(
×是该系列模板惯用的占位符,与form/一致)量化验收结果
用
pdftocairo -svg取矢量线条坐标 +pdftotext -bbox取字坐标:rel-top均为 1.06 pt),日期行也完全重合(均为 47.69 pt)。与原 docx 的差异及原因
表宽差 0.18 mm、每行高 +0.15 mm
tabularray 计宽按 n−1 根竖线、画宽按 n 根,系统性差 0.5 pt。为消除
Overfull \hbox (0.50964pt),把 4 个列宽常量各减 0.0449 mm,代价是表宽缩了 0.18 mm(0.12%,肉眼不可辨)。
左右页边距不对称(31.70 / 27.98 mm),不是居中
原表宽 150.32 mm 比 docx 版心 146.68 mm 宽 3.71 mm,而
tblPr里没有jc、tblInd=0⇒ Word 按左对齐处理,表从左边距起排、右端溢进右边距。本模板照实复现。若改成左右等边距,表会整体左移 1.86 mm,与 Word 不符。
本次踩到并已写入 README 的四个坑
\linespread ≈ 1.3会把\fontsize{14}{15.6}的行距放大成20.28 pt,导致 5 行行高全部 +30%,
ht=压不住。必须\linespread{1}\relax前置,且要在\AtBeginDocument再执行一次。{c}是不折行的 LR 模式:文字超宽时撑宽整表而不是折行;且格内
\hsize未重设,长文本按版心折行冲出格子。2·colsep·(n−1):漏算会让\parbox偏窄,长文本提前折行 —— 「批准单位负责人签字」(9 字 = 44.45 mm)就曾被折成
两行,而 c1+c2 只有 41.37 mm,正确的是 45.1753 mm。
\parbox[t]与 tabularray 的 strut 叠加,每行白白多出 3.6 pt(R0 从 31.67 → 35.26)。原表 R0C1/R2C1 的“贴顶”其实是靠段落数把行高
填满实现的,所以
\parbox应保持[c]、用\lwblank{n}补足段落数。经验同步写入项目记忆
2025-10-23.md。