会议预算表:修掉多出的一列,签字盖章间距拉开 #24
用户反馈两点:
① 所在单位负责人意见下面,签字和盖章距离太近
② 表格右侧整体多出一列
## ② 多出一列的根因
实测竖线 **9 条 = 8 列**,而 colspec 只定义了 7 列。
多出来那列宽 2.18mm,横贯全部 28 行。
定位过程:
删掉 R27/R28(意见+签字两行)→ 变 8 条竖线(7 列,正确)
加回去 → 又变 9 条
⇒ 问题就在这两行。
四种组合全试过,全部失败:
| 内容段数 | cell 声明 | 结果 |
|---|---|---|
| 8 段(7 个 &) | cell{27}{4}={c=4} | 9 条竖线,多一列 ❌ |
| 7 段(6 个 &) | cell{27}{4}={c=4} | 9 条竖线,多一列 ❌ |
| 2 段(1 个 &) | cell{27}{4}={c=4} | 列数对,但第 2 段被合并盖住,内容消失 ❌ |
| 2 段 | cell{27}{2}={c=6} | 网格散架(3 页、横线全无)❌ |
| 7 段 | 无 cell 声明 | 同样散架 ❌ |
根因:tabularray 2022A 对「跨整行的大合并」处理不稳定,要求
「内容段数 / cell 起始列 / 跨度」三者严格自洽;在固定列宽 + colsep
1.0mm 的组合下,这三者无法同时满足。
### 解法:物理隔离
主表只到 R26「合计」(26 行),R27/R28 用独立的 oucmeetsign 环境
紧贴在下方。视觉上是同一张表,排版上互不干扰。
签字表列宽**不能自己估**,必须按主表实际竖线位置反推:
主表竖线 79.65~514.31 = 153.34mm
3:4 分界 231.89 -> 距左 53.71mm
第1列 wd = 53.71 - 2 = 51.71mm
第2列 wd = 153.34 - 53.71 - 2 = 97.63mm
(减 2 = 两侧 colsep 各 1mm)
⚠️ 第一版估的 47.18/93.80 总宽只有 144.98mm,比主表窄 10.5mm,
边框对不上,两格在 pymupdf 里连成一串,看着像只有一格。
## ① 签字盖章间距
3em(27bp=9.5mm) → 5em(45bp=15.8mm)。
实测「(签字)」右端 274.2,「(盖章)」左端 319.0,间距 44.8bp = 15.8mm。
⚠️ 第 1 格的「(签字)」不能用 \hfill 推到右边:第 1 格宽 51.71mm=146bp,
「(签字)」36bp,\hfill 推到格尾后文字**溢出单元格右边界**
(tabularray 不裁剪格内容),实测跑到 199~265 跨过分界线 232,
和第二个「(签字)」连成一串。
⇒ 直接顶格左排,前面补 1mm 抵消全角括号的字形左空白
(「(」的 ink 起点比盒起点靠左 2.5bp,不加会超出左界 79.40)。
## 验证
主表竖线 8 条 -> **7 列**(多出的列已消除)
内容核查 49 项,**缺失 0**
校级领导意见 0 次
其他费用竖排 y 531.3~586.4,上下留白各 13.4bp
1 页 err 0 Overfull 0 Underfull 0
最左 79.40(界79.40) 最右 521.58(界521.57) 最下 711.80(界742.65)
全库 15/15 通过。双端一致:
WSL TeX Live 2025 1 页 err=0 over=0 under=0
Windows TeX Live 2022 1 页 err=0 over=0 under=0
This commit is contained in:
+44
-8
@@ -143,10 +143,7 @@
|
||||
\newenvironment{oucmeettable}{%
|
||||
\par\begingroup\Mn
|
||||
\begin{tblr}[label=none]{
|
||||
colspec={
|
||||
Q[c,m,wd=6.10mm] Q[c,m,wd=29.65mm] Q[c,m,wd=11.43mm] Q[c,m,wd=18.18mm]
|
||||
Q[c,m,wd=29.65mm] Q[c,m,wd=3.00mm] Q[c,m,wd=40.10mm]
|
||||
},
|
||||
colspec={Q[c,m,wd=6.10mm] Q[c,m,wd=29.65mm] Q[c,m,wd=11.43mm] Q[c,m,wd=18.18mm] Q[c,m,wd=29.65mm] Q[c,m,wd=3.00mm] Q[c,m,wd=40.10mm]},
|
||||
colsep=1.0mm, rowsep=0pt, stretch=0,
|
||||
hline{1-Z}={0.5pt}, vline{1-Z}={0.5pt},
|
||||
row{1-Z}={ht=5.6mm, font=\Mn, valign=m},
|
||||
@@ -192,15 +189,54 @@
|
||||
cell{25}{2}={c=2}{l}, cell{25}{4}={c=2}{l}, cell{25}{6}={c=2}{l},
|
||||
% R26 合计(3+2+2)
|
||||
cell{26}{1}={c=3}{c}, cell{26}{4}={c=2}{l}, cell{26}{6}={c=2}{l},
|
||||
% R27~R28 意见与签字(3+4)
|
||||
cell{27}{1}={c=3}{l}, cell{27}{4}={c=4}{l},
|
||||
cell{28}{1}={c=3}{l}, cell{28}{4}={c=4}{l},
|
||||
% ⚠️ 主表只到 R26「合计」。
|
||||
% R27/R28(意见+签字)已移到 5 节的独立签字表(oucmeetsign 环境),
|
||||
% 原因见 5 节开头的说明 —— 那两行无论怎么调都会多出一列或丢内容。
|
||||
% ⇒ 主表现在是 **26 行**,不是 28 行。
|
||||
}%
|
||||
}{%
|
||||
\end{tblr}\par\endgroup}
|
||||
|
||||
%======================================================================
|
||||
% 5. 标题与页首
|
||||
% 5. 签字栏(独立小表,不并入主表)
|
||||
%
|
||||
% ⚠️⚠️ 为什么把签字栏从主表里拆出来
|
||||
%
|
||||
% 主表 R27/R28(意见+签字)无论怎么调都无法同时满足"不多列"和
|
||||
% "内容不丢失"。实测四种组合全失败:
|
||||
% 内容 8 段 + cell{27}{4}={c=4} → 右侧多一列(9 条竖线)
|
||||
% 内容 7 段 + cell{27}{4}={c=4} → 右侧多一列(9 条竖线)
|
||||
% 内容 2 段 + cell{27}{4}={c=4} → 列数对,但第 2 段内容被合并盖住消失
|
||||
% 内容 2 段 + cell{27}{2}={c=6} → 表格网格散架(溢出 3 页、无横线)
|
||||
% 内容 7 段 + 无 cell 声明 → 同样散架
|
||||
%
|
||||
% 根因是这两行的"内容段数 / cell 起始列 / 跨度"三者必须严格自洽,
|
||||
% 而 tabularray 2022A 在这种跨整行的大合并上行为不稳定。
|
||||
%
|
||||
% ⇒ 改为**物理隔离**:主表只到「合计」(27 行),签字栏用独立 tblr
|
||||
% 紧贴在下方,视觉上是同一张表(边框对接、列宽对齐),
|
||||
% 但排版上互不干扰。这是最稳的做法。
|
||||
%
|
||||
% 对齐要点:签字表的列宽必须让「3 列 : 4 列」的分界点与主表一致,
|
||||
% 所以用主表前 3 列宽度之和 与 后 4 列宽度之和 作为两列宽度。
|
||||
% 主表列宽 6.10 / 29.65 / 11.43 / 18.18 / 29.65 / 3.00 / 40.10
|
||||
% 前 3 列 = 6.10+29.65+11.43 = 47.18mm,加两侧 colsep 3×2 = 53.18mm
|
||||
% 后 4 列 = 18.18+29.65+3.00+40.10 = 91.02mm,加 colsep 4×2 = 99.02mm
|
||||
% ⚠️ 签字表只有 2 列,colsep 共 4 个,需重新配平(见下方计算)。
|
||||
%======================================================================
|
||||
\newenvironment{oucmeetsign}{%
|
||||
\par\begingroup\Mn
|
||||
\begin{tblr}[label=none]{
|
||||
colspec={Q[l,m,wd=51.71mm] Q[l,m,wd=97.63mm]},
|
||||
colsep=1.0mm, rowsep=0pt, stretch=0,
|
||||
hline{1-Z}={0.5pt}, vline{1-Z}={0.5pt},
|
||||
row{1-Z}={ht=5.6mm, font=\Mn, valign=m, halign=l},
|
||||
}%
|
||||
}{%
|
||||
\end{tblr}\par\endgroup}
|
||||
|
||||
%======================================================================
|
||||
% 6. 标题与页首
|
||||
%======================================================================
|
||||
% 左上角「附件1」小字(原 docx 无字号设置,随正文 9pt)
|
||||
\newcommand{\oucmeetattach}[1]{%
|
||||
|
||||
Reference in New Issue
Block a user