用户指出:「其他费用,五个字,不能跟那个格子一样高啊,这样字和表格的 线都连在一起了。」 ## 问题 上一版为了让四字"填满 5 行",把 \\ 的行距拉到 \\[17bp], 结果文字块高 94bp,而合并格只有 81.9bp —— **文字块比格还高**, 头尾字距格线只剩 2.5bp,视觉上字和表格横线糊成一片。 ## 修正 字距改 \\[4bp]。实测对比(9pt 字,合并格高 81.9bp): \\[17bp] 文字块 94bp 上下留白 2.5bp ❌ 贴线 \\[8bp] 文字块 67bp 上下留白 7.4bp ⚠️ 偏挤 \\[4bp] 文字块 56bp 上下留白 13.4bp ✅ 采用 不加参数 文字块 43bp 上下留白 19bp ⚠️ 挤成一团,看不出竖排 ## 验证(坐标实测) 四字 y: 531.3~540.2 / 546.9~555.8 / 562.1~571.0 / 577.4~586.4 合并格 y: 517.9 ~ 599.8 高 81.9 bp 距上格线 13.4 bp 距下格线 13.4 bp ← 完全对称居中 1 页 error 0 Overfull 0 Underfull 0 最右 521.58(版心限 521.57) 最下 710.30(版心底 742.65) 表格宽 155.52 mm(版心 155.99 mm) 全库 15/15 通过。双端一致: WSL TeX Live 2025 1 页 err=0 over=0 under=0 Windows TeX Live 2022 1 页 err=0 over=0 under=0 ## 顺便记录 README 里加了字距对照表,说明为什么必须卡在 4bp,避免以后又调回大值。
164 lines
8.3 KiB
TeX
164 lines
8.3 KiB
TeX
%======================================================================
|
||
% 中国海洋大学会议预算表(空表模板)
|
||
%
|
||
% 用途:演示 oucmeeting.sty 的用法,并作为可直接印刷使用的空表。
|
||
%
|
||
% 编译: xelatex 会议预算表.tex (单次即可)
|
||
%
|
||
% ⚠️ 这是**空表**。金额、卡号、日期、人名一律留空,供手填。
|
||
%
|
||
% ⚠️⚠️ 本文件的表格**只写内容,不写任何 \SetCell**。
|
||
% 所有合并规则都在 oucmeeting.sty 的 oucmeettable 环境里,
|
||
% 用 cell{行}{列}={c=n}{对齐} 矩阵式声明。
|
||
% 原因(踩了两小时):在这套 7 列 Q[c,m,wd=…] + colsep 配置下,
|
||
% 一写 \SetCell 就报一串 Missing number,且错误全指向 \end{tblr}。
|
||
% 详见 sty 第 4 节的记录。
|
||
%
|
||
% ⚠️ 被合并掉的格在内容里**留空**(写 `& &`),不要写 {}。
|
||
%
|
||
% 28 行的合并结构(行号 = 表格第几行,从 1 起):
|
||
% R1 会议名称 2+5
|
||
% R2 会议时间/地点 2+2+2+1
|
||
% R3 会议类型 2+5
|
||
% R4 参会人数 2+5
|
||
% R5 支出项目卡号 2+5
|
||
% R6 会议内容 2+5
|
||
% R7 会议收入预算 跨 7 列
|
||
% R8 收入表头 2+2+2+1
|
||
% R9 会务费收入 2+2+2+1
|
||
% R10 科研经费 2+2+2+1
|
||
% R11 财政拨款专项 2+2+2+1
|
||
% R12 学校预算经费 2+2+2+1
|
||
% R13 其他 2+2+2+1
|
||
% R14 合计 2+2+2+1
|
||
% R15 会议支出预算 跨 7 列
|
||
% R16 支出表头 3+2+2
|
||
% R17 专家咨询费 3+2+2
|
||
% R18 城市间交通费 3+2+2
|
||
% R19 住宿费 3+2+2
|
||
% R20 伙食费 3+2+2
|
||
% R21 其他费用/交通费 1+2+2+2
|
||
% R22 会议资料印刷费 1+2+2+2
|
||
% R23 会议室使用费 1+2+2+2
|
||
% R24 工作人员补助 1+2+2+2
|
||
% R25 其他 1+2+2+2
|
||
% R26 合计 3+2+2
|
||
% R27 意见栏 3+4
|
||
% R28 签字栏 3+4
|
||
%======================================================================
|
||
\documentclass[UTF8]{ctexart}
|
||
\usepackage{oucmeeting}
|
||
|
||
\begin{document}
|
||
|
||
\oucmeetattach{附件 1}
|
||
|
||
\oucmeettitle{中国海洋大学会议预算表}
|
||
|
||
\oucmeetdateline{填表日期:\hspace*{4em}年\hspace*{2em}月\hspace*{2em}日%
|
||
\hfill 金额单位:\hspace*{3em}元}
|
||
|
||
\begin{oucmeettable}
|
||
% ---- R1~R6 基本信息 ----
|
||
%
|
||
% ⚠️⚠️ 每行必须写满 7 段(6 个 `&`),被 cell{} 合并掉的格**留空**。
|
||
% 实测(最小复现):同样的 cell{} 配置下
|
||
% 写 7 段 `甲 & & 乙 & & 丙 & & 丁` → 四个字全部正确
|
||
% 写 4 段 `甲 & 乙 & 丙 & 丁` → **乙、丁 被吞掉**
|
||
% ⇒ 段数 ≠ 列数时,多出来的内容会静默丢失,不报错。
|
||
%
|
||
% ⚠️ 标签落在哪一格,取决于 cell{} 的合并位置,不是"第几个字":
|
||
% R2 的 cell 配置是 2+2+2+1,即
|
||
% 格1(列1-2)=会议时间 格3(列3-4)=空值 格5(列5-6)=会议地点 格7(列7)=空值
|
||
% 所以「会议地点」必须写在**第 5 段**,写在第 3 段就会挤到左边、
|
||
% 与「会议时间」贴在一起(踩过)。
|
||
会议名称 & & & & & & \\
|
||
会议时间 & & & & 会议地点 & & \\
|
||
% ⚠️ R3/R4 的填空横线用 \hspace 撑,宽度必须控制。
|
||
% 跨 5 列约 122mm,三个选项各带一对(\hspace{3em})就要 6×3em=18em
|
||
% 再加文字,实测撑到 529.7bp(版心止于 521.57),超 8bp。
|
||
% ⇒ 单个填空收到 2.2em(约 7mm,手写两三个字够用)。
|
||
会议类型 & & 国内业务会议(\hspace*{2.2em})\hspace*{1em}%
|
||
国内管理会议(\hspace*{2.2em})\hspace*{1em}%
|
||
在华举办国际会议(\hspace*{2.2em}) & & & & \\
|
||
参会人数 & & 总数\hspace*{2.2em}人\hspace*{1em}%
|
||
(其中参会代表\hspace*{2.2em}人;工作人员\hspace*{2.2em}人;%
|
||
外宾\hspace*{2.2em}人) & & & & \\
|
||
会议支出项目卡号 & & & & & & \\
|
||
会议内容 & & & & & & \\
|
||
|
||
% ---- R7~R14 收入预算 ----
|
||
\bfseries 会议收入预算 & & & & & & \\
|
||
收入项目 & & 项目经费卡号 & & 金额 & & 备注 \\
|
||
会务费收入 & & & & & & 每人\hspace*{2.5em}元 \\
|
||
科研经费 & & & & & & \\
|
||
财政拨款会议专项经费 & & & & & & \\
|
||
学校预算经费 & & & & & & \\
|
||
其他 & & & & & & \\
|
||
合计 & & & & & & \\
|
||
|
||
% ---- R15~R26 支出预算 ----
|
||
\bfseries 会议支出预算 & & & & & & \\
|
||
支出项目 & & & 预算金额 & & 实际支出金额(由财务处填写) & \\
|
||
专家咨询费(含讲课及评审费) & & & & & & \\
|
||
专家城市间交通费 & & & & & & \\
|
||
住宿费 & & & & & & \\
|
||
伙食费 & & & & & & \\
|
||
|
||
% R21~R25:「其他费用」**逐字竖排**,占 5 行高(不是旋转 90°)
|
||
% 纵向合并由 sty 里的 cell{21}{1}={r=5}{c} 声明,
|
||
% 这里用 \shortstack 让四个字上下堆叠。
|
||
% ⚠️ 不能用 \rotatebox{90}:那只是把横排整句转个角度,
|
||
% 不是"上下排列"(#24 按用户意见修正)。
|
||
% ⚠️ \shortstack 里的 \\ 是**普通换行**,tabularray 在 cell{} 语法下
|
||
% 不会把它误当行结束(旧版 \SetCell 语法下会崩,那是另一个坑)。
|
||
%
|
||
% ★ 字距取 4bp:文字块约 56bp,格高 82bp → **上下各留 13bp**,
|
||
% 既不贴格线,也能看出竖排拉开的效果。
|
||
%
|
||
% ⚠️⚠️ 字距不能给太大,会顶到格线。实测(9pt 字、格高 82bp):
|
||
% \\[17bp] → 文字块 94bp,**比格高还高**,头尾字距格线只有
|
||
% 2.5bp,视觉上字和表格线连成一片(用户指出过)
|
||
% \\[8bp] → 文字块 67bp,上下各留 7.4bp ← 仍偏挤
|
||
% \\[4bp] → 文字块 56bp,上下各留 13bp ← 采用
|
||
% 不加参数 → 文字块 43bp,上下各留 19bp(字挤成一小团,不算竖排)
|
||
%
|
||
% ⚠️ 不能靠局部设 \baselineskip —— \shortstack 内部会重置它,
|
||
% 实测设 19bp 无效(字距仍是 11.6bp)。必须在 \\ 上给可选参数。
|
||
% ⚠️ 也不能用 \parbox{}{其\\他\\费\\用} —— 会变成 4 个独立行盒子,
|
||
% tabularray 排版错乱,四个字跑到不同段落(实测)。
|
||
\shortstack{其\\[4bp]他\\[4bp]费\\[4bp]用} & 交通费 & & & & & \\
|
||
& 会议资料印刷费 & & & & & \\
|
||
& 会议室使用费 & & & & & \\
|
||
& 工作人员补助 & & & & & \\
|
||
& 其他 & & & & & \\
|
||
|
||
合计 & & & & & & \\
|
||
|
||
% R27~R28 意见与签字(跨 3+4)
|
||
% ⚠️⚠️ 这里的 \hspace 会把**单元格撑宽,进而把表格右边框推出纸外**,
|
||
% 而且文字本身仍在版心内 —— 所以逐 span 查文字查不出来,
|
||
% 只有查竖线坐标才能发现(实测最右竖线跑到 526.40,版心止于 521.57)。
|
||
% 实测数据:\hspace*{7em} → 超 4.83bp;4.5em → 仍超 4.83bp(跨列宽度已定死,
|
||
% hspace 只是让内容溢出单元格,不改列宽)。
|
||
% ⇒ 该单元格内容必须能在一行内放下。「(签字) (盖章)」共 9 个全角字符
|
||
% ≈ 9×9bp = 81bp,跨 4 列约 96mm = 272bp,够放,只要 hspace 不太大。
|
||
% 给 3em(约 9.5mm)即可,手写签名空间足够。
|
||
%
|
||
% ⚠️ 关于「校级领导意见」:源 .doc 的 R26 第二格里确实有**两个段落** ——
|
||
% 「所在单位负责人意见:」和「校级领导意见:」,不是转换时多出来的
|
||
% (用 LibreOffice 直接转 txt 核过,原文件就有)。
|
||
% 但用户确认这份表不需要校级领导,故按用户意见删除。
|
||
% ⚠️ 要恢复就把它加回来,且必须单独一行(源文件是两段,不是一行):
|
||
% 所在单位负责人意见:\\ 校级领导意见:
|
||
经费(项目)负责人意见: & & & 所在单位负责人意见: & & & & \\
|
||
\hfill(签字) & & & (签字)\hspace*{3em}(盖章) & & & & \\
|
||
\end{oucmeettable}
|
||
|
||
\begin{oucmeetnotes}
|
||
\oucmeetnote{1、}{会议借款和报销应按会议预算执行,如突破预算总额,须按原程序审批;}
|
||
\oucmeetnote{2、}{收取会务费时按要求给会议代表开具发票,收取的会务费及发票存根和记账联统一交财务处入账,不得坐支现金;}
|
||
\oucmeetnote{3、}{会议费开支实行定额控制,标准参照《中国海洋大学会议费管理办法》。}
|
||
\end{oucmeetnotes}
|
||
|
||
\end{document} |