%====================================================================== % 中国海洋大学会议预算表(空表模板) % % 用途:演示 oucmeeting.sty 的用法,并作为可直接印刷使用的空表。 % % 编译: xelatex 会议预算表.tex (单次即可) % % ⚠️ 这是**空表**。金额、卡号、日期、人名一律留空,供手填。 % % ⚠️⚠️ 本文件的表格**只写内容,不写任何 \SetCell**。 % 所有合并规则都在 oucmeeting.sty 的 oucmeettable 环境里, % 用 cell{行}{列}={c=n}{对齐} 矩阵式声明。 % 一写 \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{} 合并掉的格**留空**。 % 写 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}:那只是把横排整句转个角度, % 不是"上下排列"(修正)。 % ⚠️ \shortstack 里的 \\ 是**普通换行**,tabularray 在 cell{} 语法下 % 不会把它误当行结束(旧版 \SetCell 语法下会崩,那是另一个坑)。 % % ★ 字距取 4bp:文字块约 56bp,格高 82bp → **上下各留 13bp**, % 既不贴格线,也能看出竖排拉开的效果。 % % ⚠️⚠️ 字距不能给太大,会顶到格线。(9pt 字、格高 82bp): % \\[17bp] → 文字块 94bp,**比格高还高**,头尾字距格线只有 % \\[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 核过,原文件就有)。 % 但用户确认这份表不需要校级领导,故删除。 % ⚠️ 要恢复就把它加回来,且必须单独一行(源文件是两段,不是一行): % 所在单位负责人意见:\\ 校级领导意见: % % ⚠️⚠️ 这两行必须写 **7 段(6 个 `&`)**,与 colspec 的 7 列严格对应。 % % ====================================================================== % R27/R28 意见与签字 —— **已移出主表**,改用下方独立的 oucmeetsign 环境 % % ⚠️⚠️ 为什么拆出去(很重要,别又改回主表里) % % 这两行放在主表里,无论怎么写都会出问题。四种组合全部实际过: % 内容 8 段 + cell{27}{4}={c=4} → 右侧多一列(9 条竖线)❌ % 内容 7 段 + cell{27}{4}={c=4} → 右侧多一列(9 条竖线)❌ % 内容 2 段 + cell{27}{4}={c=4} → 列数对了,但第 2 段落进第 2 列 % 被 c=4 的合并盖住,内容消失 ❌ % 内容 2 段 + cell{27}{2}={c=6} → 网格散架(3 页、横线全无)❌ % % 根因:tabularray 2022A 对「跨整行的大合并」处理不稳定, % 要求"段数 / 起始列 / 跨度"三者严格自洽,而本表列宽固定 + colsep % 的组合下很难同时满足。 % % ⇒ 拆成独立小表,视觉上是同一张表(边框对接、列宽按 3:4 配平), % 排版上互不影响。**这是唯一稳定方案,不要合并回去。** \end{oucmeettable} % ---- 签字栏(独立表,紧贴主表下方)---- % 列宽按主表 3 列 : 4 列 的分界配平: % 前 3 列 6.10+29.65+11.43 = 47.18mm(+colsep 4mm) % 后 4 列 18.18+29.65+3.00+40.10 = 91.02mm(+colsep 4mm) % ⚠️ 两列各自的 colsep 各算 2 个(左右各 1),所以实际宽度 = wd + 4mm % ⚠️⚠️ 第 1 格不要用 \hfill 推「(签字)」到右边 —— 实际会溢出格子: % 第 1 格宽 51.71mm=146bp,「(签字)」36bp,\hfill 推到格尾后 % 文字自身**超出单元格右边界**(tabularray 的格内容不自动裁剪), % 结果第一个「(签字)」跑到 199~265,跨过 232 的分界线, % 和第二个「(签字)」连成一串(看着像只有一个)。 % ⇒ 直接顶着格左边界排,前面补一点 \hspace 抵消全角括号的字形左空白。 % (全角「(」的 ink 起点比盒起点靠左约 2.5bp,不加会略微超出 % 版心左界 79.40 —— 实际x=76.9) \begin{oucmeetsign} 经费(项目)负责人意见: & 所在单位负责人意见: \\ \hspace*{1mm}(签字) & \hspace*{1mm}(签字)\hspace*{5em}(盖章) \\ \end{oucmeetsign} \begin{oucmeetnotes} \oucmeetnote{1、}{会议借款和报销应按会议预算执行,如突破预算总额,须按原程序审批;} \oucmeetnote{2、}{收取会务费时按要求给会议代表开具发票,收取的会务费及发票存根和记账联统一交财务处入账,不得坐支现金;} \oucmeetnote{3、}{会议费开支实行定额控制,标准参照《中国海洋大学会议费管理办法》。} \end{oucmeetnotes} \end{document}