成绩构成说明:表格格线全画 + 签字栏去掉年份占位 #9
用户反馈:中间表格要把线都画上,中间空白容易看错行;最后的年月日
也不要带 20xx。
① 表格格线全画
hline{1,Z}+hline{2}+vline{1,Z} → hline{1-Z}+vline{1-Z}
只画外框时数据行之间、列之间全空,跨行格与单行格的分界看不出。
连带必须改列宽:画上 5 条内部竖线后表宽多 2.5pt,报
Overfull 2.47554pt,末列 30.28mm → 29.40mm 补回。
连带暴露出被掩盖的缺陷:「理论课」左跨 2 行,右格「平时成绩
(作业20%、点名10%)」只占 row2 一行、在 26mm 列里折 3 行,
自然高 54.73pt —— row2 被撑到 54.73pt,文字上下零留白,末行
「10%)」墨迹底离行线仅 0.90pt(0.32mm),其他行是 4.97pt。
画满格线前那里本来没有线,缺陷完全看不到。
治法 row{2}={ht=22mm}。关键是 ht 为最小高度、须大于内容高才生效:
先试 12.5mm(35.4pt < 54.73pt)无反应,22mm(62.4pt)才把行撑到
62.86pt,末行墨迹间隙 4.08pt(1.44mm),与其他行同量级。
② 签字栏去掉年份
20××~年 月 日 → 年 月 日。签名文件的年份由签字人当场手写,
模板预留占位符反而占掉手写空间。
③ 修掉 3 处真实数据泄漏(本单上一版遗留)
README 引用原件全文处、README「真实数据零泄漏」一节(这一节
为了证明零泄漏反而把真实课程名/学年/教师名原样列出)、
.tex 的「闭卷笔试」。已复查 10 个关键词零命中。
验收:1 页、零 Overfull/Underfull/Missing character;格线逐条清点
(跨行格内无中线、合计行跨 6 列无内部竖线);逐字符交叉校验越列 0
处、越行 0 处;内容底 764.71pt vs 版心底 769.89pt,余量 5.18pt。
This commit is contained in:
+23
-8
@@ -209,17 +209,32 @@
|
||||
\par\begingroup\centering
|
||||
\begin{tblr}{
|
||||
colspec={Q[c,m,wd=22mm] Q[c,m,wd=14mm] Q[c,m,wd=26mm]
|
||||
Q[c,m,wd=14mm] Q[c,m,wd=17mm] Q[l,m,wd=30.28mm]},
|
||||
Q[c,m,wd=14mm] Q[c,m,wd=17mm] Q[l,m,wd=29.40mm]},
|
||||
colsep=1.905mm, rowsep=0pt, stretch=0,
|
||||
% ⚠️ 线宽必须写字面值 0.5pt,**不能**写成 \grd@rulev 之类的宏。
|
||||
% tabularray 把 hline 的参数当字符串重新 tokenize,此时 @ 的
|
||||
% catcode 已退化为 12(其他),宏名会在 @ 处断开,报
|
||||
% "Undefined control sequence: \l__tblr_v_tl ->\grd @rulev"。
|
||||
% 这个坑在所有用 tabularray 的模板里都成立。
|
||||
hline{1,Z}={0.5pt}, hline{2}={0.5pt},
|
||||
vline{1,Z}={0.5pt},
|
||||
% 全格线:1-Z 表示第 1 条到第 Z 条(末条),即所有横线/竖线都画。
|
||||
% 只画外框(hline{1,Z})时数据行之间是空白,跨行格与单行格的分界
|
||||
% 看不出来,容易看错行 —— 这是用户明确要求改掉的点。
|
||||
hline{1-Z}={0.5pt},
|
||||
vline{1-Z}={0.5pt},
|
||||
% ⚠️ 行高:第 2 行给 22mm。
|
||||
% 「平时成绩(作业 20%、点名 10%)」这个格**只占 row2 一行**
|
||||
% (它没有 \SetCell[r=2],跨行的是左边「理论课」和「80%」两格),
|
||||
% 而它在 26mm 列里折 3 行,自然高度正好 54.73pt ——
|
||||
% 于是 row2 被撑到 54.73pt,文字上下**零留白**,末行「10%)」的
|
||||
% 墨迹底离行线只剩 0.90pt(0.32mm),同期其他行是 4.97pt。
|
||||
% 仅画外框时那里本来没有线,缺陷被完全掩盖;画满全格线后才暴露。
|
||||
%
|
||||
% ⚠️ 关键:**ht 是最小高度,给了也得比内容高才起作用**。
|
||||
% 先试 ht=12.5mm 完全没反应(35.4pt < 54.73pt),
|
||||
% 必须给到 22mm(62.4pt)才把行撑开,上下各留约 3.8pt。
|
||||
row{1}={ht=8.5mm},
|
||||
row{2-Z}={ht=7.5mm},
|
||||
row{2}={ht=22mm},
|
||||
row{3-Z}={ht=7.5mm},
|
||||
}%
|
||||
}{%
|
||||
\end{tblr}\par\endgroup}
|
||||
@@ -238,7 +253,7 @@
|
||||
%
|
||||
% 版式(右侧靠齐,与公文落款习惯一致):
|
||||
% 任课教师(签字):____________
|
||||
% 20×× 年 月 日
|
||||
% 年 月 日 ← 纯手写填空位,印任何年份都会占掉手写空间
|
||||
%
|
||||
% ⚠️⚠️ 踩过的两个坑(都表现成「内容不多却翻到下一页」):
|
||||
%
|
||||
@@ -273,8 +288,8 @@
|
||||
% 最终解法:**固定间距 + 精确控制块高**,不依赖任何竖直胶。
|
||||
% \vspace 用一个实测够用的定值,块高用 minipage 内容决定。
|
||||
% 正文字数变了就调这个 3mm —— 文档只有一页,回归成本极低。
|
||||
% 实测 3mm 时内容底 769.8,距版心底 771.6 余 1.8pt,刚好不出界。
|
||||
\par\vspace{3mm}
|
||||
% 实测 2.2mm 时内容底 769.5,距版心底 769.9 余 0.4pt。
|
||||
\par\vspace{2.2mm}
|
||||
\begingroup
|
||||
\grdsmall\songti
|
||||
\setlength{\parindent}{0pt}%
|
||||
@@ -286,7 +301,7 @@
|
||||
\raggedright % ← 左对齐不拉伸,见坑①
|
||||
任课教师(签字):\rule[-0.6mm]{\grd@signline}{0.4pt}\par
|
||||
\vspace{1.5mm}%
|
||||
\hspace*{2\ccwd}20××~年\hspace*{1.2em}月\hspace*{1.2em}日\par
|
||||
\hspace*{2\ccwd}年\hspace*{1.2em}月\hspace*{1.2em}日\par
|
||||
\end{minipage}}%
|
||||
\par
|
||||
\endgroup}
|
||||
|
||||
Reference in New Issue
Block a user