From 1c67b7ded11f2c14b3756542f1a5ef61727dee16 Mon Sep 17 00:00:00 2001 From: laoyang Date: Fri, 30 Oct 2026 16:50:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=8A=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E9=A2=84=E7=AE=97=E8=A1=A8=E3=80=8BLaTeX=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=20#24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 源文件:微信收到的 会议预算表.doc(51712 字节,**OLE2 老式 .doc**, D0CF11E0 签名)。python-docx 读不了,处理链路: .doc --(LibreOffice headless)--> .docx --(python-docx)--> 结构 ## 新增文件 会议预算表/oucmeeting.sty 版式包(含全部 28 行合并规则) 会议预算表/会议预算表.tex 空表正文(只有内容,无 \SetCell) 会议预算表/README.md 用法 + 踩坑记录 ## 版式(实测) 页面 A4 210×297mm 边距 top 38.01 / bottom 35.01 / left 28.01 / right 26.00 mm 版心 155.99 × 223.98 mm 字号 标题 22pt,表格与说明 9pt 表格 28 行 × 7 列,边框 0.5pt,行高 5.6mm 四个边距都不常见,是原表为把 28 行塞进一页压出来的。照抄不"优化"。 ⚠️ 原表宽 169.12mm(tblGrid 9588 twips),**比分宽出版心 13.12mm**, 原 docx 靠 fixed 布局硬撑、实际压进页边距。本模板等比缩到版心内。 ## 三个踩了很久的坑(全部写进代码注释 + README) ### 1. 合并必须用矩阵式语法,不能写 \SetCell 在这套 7 列 Q[c,m,wd=…] + colsep=1.0mm 配置下,内容里一写 \SetCell[c=n] 就报: ! Missing number, treated as zero. ! Illegal unit of measure (pt inserted.) \__dim_eval_end: **所有错误都定位到 \end{tblr}**,完全看不出是哪个格。 最小复现(已验证): \begin{tblr}{colspec={Q[c,m,wd=21mm]...7列..., colsep=0.8mm}} \SetCell[c=2]{c} A & \SetCell[c=5]{l} B \\ \end{tblr} % 必崩 ✅ 正解:在 tblr 选项里用 cell{行}{列}={c=n}{对齐},被合并格留空。 这个坑吃掉最多时间 —— 因为报错行号指向 \end{tblr}, 试过 \shortstack、\rotatebox、\newline 各种改,全都不对, 最后靠「同一合并规则换成 cell{} 语法就 0 错」的最小复现才定位到。 ### 2. \SetCell[r=n] 与 \SetCell[c=m] 不能同现 纵向合并和横向合并放同一行,报同样那串错。 本表完全不用纵向合并 —— 「其他费用」改成 \rotatebox{90} 竖排, 第 1 列下面 4 行留空,视觉等价。 ### 3. colspec / hline / vline / ht 参数不能用宏 tabularray 用自带展开器解析这些选项,遇到用户宏直接 `! Undefined control sequence.`。全部写字面值。 ## 页高预算(关键,别乱改行高) 28 × 5.6mm = 156.8mm 标题区(附件1 + 22pt 标题 + 日期行)≈ 30mm 说明 3 条(第 2 条占两行)≈ 35mm 合计 ≈ 222mm ≤ 223.98mm ✅ 刚好一页 ⚠️ 行高 5.6mm 已在下限附近。改回 6.0mm 会让 28 行多出 11.2mm, 第 3 条说明立刻被挤到第 2 页(实测过)。 ## 验证 1 页 error 0 Overfull 0 Underfull 0 表格 155.52mm / 版心 155.99mm → 界内 内容 50 项逐项核对,全部存在 (唯一"缺失"项是「不得坐支现金」因跨行被 \n 断开, 去空白后匹配通过 —— 不是真缺失) 全库 bash build.sh all → **15/15 通过**(新增第 15 项,已加入 verify_all.sh) 双端一致: WSL TeX Live 2025 1 页 err=0 over=0 under=0 Windows TeX Live 2022 1 页 err=0 over=0 under=0 ## 说明 空表,金额/卡号/日期/人名一律留空。不含任何真实数据。 --- verify_all.sh | 1 + 会议预算表/README.md | 154 +++++++++++++++++++++++ 会议预算表/oucmeeting.sty | 257 ++++++++++++++++++++++++++++++++++++++ 会议预算表/会议预算表.pdf | Bin 0 -> 53299 bytes 会议预算表/会议预算表.tex | 126 +++++++++++++++++++ 5 files changed, 538 insertions(+) create mode 100644 会议预算表/README.md create mode 100644 会议预算表/oucmeeting.sty create mode 100644 会议预算表/会议预算表.pdf create mode 100644 会议预算表/会议预算表.tex diff --git a/verify_all.sh b/verify_all.sh index e785740..4096aff 100755 --- a/verify_all.sh +++ b/verify_all.sh @@ -36,6 +36,7 @@ TARGETS=( "课程执行大纲|课程执行大纲.tex" "课程教学日历|课程教学日历.tex" "课程大纲|课程大纲.tex" + "会议预算表|会议预算表.tex" ) filter="${1:-}" diff --git a/会议预算表/README.md b/会议预算表/README.md new file mode 100644 index 0000000..96de78a --- /dev/null +++ b/会议预算表/README.md @@ -0,0 +1,154 @@ +# 会议预算表 + +中国海洋大学会议预算表 LaTeX 模板(空表,可印刷手填)。 + +## 来源 + +用户从微信收到的 `会议预算表.doc`(51712 字节,**OLE2 老式 .doc**, +`D0CF11E0` 签名,不是伪装成 .doc 的 docx)。 + +python-docx 读不了老格式,处理链路是: + +``` +.doc --(LibreOffice headless)--> .docx --(python-docx)--> 结构 +``` + +```bash +soffice --headless --convert-to docx --outdir . 会议预算表.doc +``` + +## 编译 + +```bash +cd 会议预算表 +xelatex 会议预算表.tex # 单次即可,无交叉引用 +``` + +或仓库根:`bash build.sh 会议预算表` + +## 文件 + +| 文件 | 作用 | +|---|---| +| `oucmeeting.sty` | 版式包(页面、字体、表格环境 + 全部合并规则) | +| `会议预算表.tex` | 空表正文(只有内容,无任何 `\SetCell`) | +| `README.md` | 本文件 | + +## 版式参数(实测) + +``` +页面 A4 210 × 297 mm +边距 top 38.01 / bottom 35.01 / left 28.01 / right 26.00 mm +版心 155.99 × 223.98 mm +字号 标题 22pt,表格与说明 9pt +表格 28 行 × 7 列,边框 0.5pt,行高 5.6mm +``` + +四个边距都不常见,是原表为把 28 行塞进一页压出来的。照抄,不"优化"。 + +## 表格结构 + +7 列基准网格,原 docx 的 `tblGrid` 是 +`[424, 2054, 790, 1262, 2056, 209, 2793]` twips = 169.12mm, +比分宽出版心 13.12mm(原文件靠 fixed 布局硬撑、压进页边距)。 + +→ 本模板等比缩到版心内,列宽 +`[7.48, 36.23, 13.93, 22.26, 36.27, 3.69, 49.27] × 0.9224`。 + +28 行合并结构: + +| 行 | 内容 | 跨度 | +|---|---|---| +| 1 | 会议名称 | 2+5 | +| 2 | 会议时间 / 会议地点 | 2+2+2+1 | +| 3 | 会议类型(三选一) | 2+5 | +| 4 | 参会人数 | 2+5 | +| 5 | 会议支出项目卡号 | 2+5 | +| 6 | 会议内容 | 2+5 | +| 7 | **会议收入预算**(分节) | 跨 7 | +| 8 | 收入项目 / 经费卡号 / 金额 / 备注 | 2+2+2+1 | +| 9~13 | 会务费收入 / 科研经费 / 财政拨款专项 / 学校预算 / 其他 | 2+2+2+1 | +| 14 | 合计 | 2+2+2+1 | +| 15 | **会议支出预算**(分节) | 跨 7 | +| 16 | 支出项目 / 预算金额 / 实际支出 | 3+2+2 | +| 17~20 | 专家咨询费 / 城市间交通费 / 住宿费 / 伙食费 | 3+2+2 | +| 21~25 | **其他费用**(竖排)+ 交通费 / 印刷费 / 会议室 / 补助 / 其他 | 1+2+2+2 | +| 26 | 合计 | 3+2+2 | +| 27 | 意见栏 | 3+4 | +| 28 | 签字栏 | 3+4 | + +## ⚠️ 三个必须知道的坑 + +### 1. 合并单元格必须用矩阵式语法,不能用 `\SetCell` + +在本表的 7 列 `Q[c,m,wd=…]` + `colsep=1.0mm` 配置下, +一旦在单元格内容里写 `\SetCell[c=n]`,编译立刻报: + +``` +! Missing number, treated as zero. +! Illegal unit of measure (pt inserted.) +\__dim_eval_end: +``` + +**所有错误都定位到 `\end{tblr}`**,完全看不出是哪个格。最小复现: + +```latex +\begin{tblr}{colspec={Q[c,m,wd=21mm] ...共7列..., colsep=0.8mm}} + \SetCell[c=2]{c} A & \SetCell[c=5]{l} B \\ +\end{tblr} % 必崩 +``` + +✅ 正确写法 —— 在 tblr 选项里用 `cell{行}{列}={c=n}{对齐}`: + +```latex +\begin{tblr}{ + colspec={...}, + cell{1}{1}={c=2}{c}, + cell{1}{3}={c=5}{l}, +} + A & & B & & & & \\ % 被合并掉的格留空 +\end{tblr} +``` + +被合并掉的格**留空**(写 `& &`),不要写 `{}`。 + +好处:合并关系与内容彻底分离,改内容不会破坏结构。 + +### 2. `\SetCell[r=n]` 与 `\SetCell[c=m]` 不能在同一行 + +纵向合并和横向合并同时出现,报同样那串错。 +本表因此**完全不用纵向合并**——「其他费用」改成 `\rotatebox{90}` 竖排, +第 1 列下面 4 行留空,视觉上等价。 + +### 3. colspec / hline / vline / ht 的参数不能用宏 + +tabularray 用自带的展开器解析这些选项,遇到用户宏直接报 +`! Undefined control sequence.`。全部写字面值。 + +## 页高预算(重要) + +28 行 × 行高 + 标题区 + 说明,必须 ≤ 223.98mm: + +``` +28 × 5.6mm = 156.8mm +标题区(附件1 + 22pt 标题 + 日期行)≈ 30mm +说明 3 条(其中第 2 条两行)≈ 35mm +合计 ≈ 222mm ✅ 刚好放进一页 +``` + +⚠️ 行高 5.6mm 是**下限附近**。若把行高改回 6.0mm,28 行多出 11.2mm, +第 3 条说明就会被挤到第 2 页。改行高前先算这笔账。 + +## 验证 + +``` +1 页 error 0 Overfull 0 Underfull 0 +表格 155.52mm,版心 155.99mm → 在界内 +内容 50 项逐项核对,全部存在 +双端一致:WSL TeX Live 2025 / Windows TeX Live 2022 +``` + +## 说明 + +这是**空表**。金额、卡号、日期、人名一律留空,供下载后手填或转 Word 填写。 +不含任何真实数据。 \ No newline at end of file diff --git a/会议预算表/oucmeeting.sty b/会议预算表/oucmeeting.sty new file mode 100644 index 0000000..e64de74 --- /dev/null +++ b/会议预算表/oucmeeting.sty @@ -0,0 +1,257 @@ +%====================================================================== +% oucmeeting.sty —— 中国海洋大学 会议预算表 版式包 +% +% 由学校下发的 .doc 复刻而来(源文件:会议预算表.doc,OLE2 老格式, +% 先经 LibreOffice 转 docx 再解析 OOXML)。尺寸全部从原文件量出。 +% +% ⚠️ 编译: xelatex 会议预算表.tex +% 单次编译即可,无交叉引用。 +% 依赖 ctex + geometry + fontspec + xeCJK + tabularray +% 与 课程大纲/、课程执行大纲/ 同源同风格。 +%====================================================================== +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{oucmeeting}[2026/10/30 v1.0 OUC meeting budget form] + +\RequirePackage{geometry} +\RequirePackage{fontspec} +\RequirePackage{xeCJK} +\RequirePackage{tabularray} +\RequirePackage{graphicx} % \rotatebox —— 「其他费用」竖排用 + +%====================================================================== +% 1. 页面 +% +% 原 docx sectPr 实测(11906 x 16838 twips): +% 宽 210.01 mm 高 297.00 mm ← 标准 A4 +% top 2155 twips = 38.01 mm +% bottom 1985 twips = 35.01 mm +% left 1588 twips = 28.01 mm +% right 1474 twips = 26.00 mm +% header 0 twips = 0.00 mm (无页眉) +% footer 992 twips = 17.50 mm +% +% 四个边距都不常见(38/35/28/26),是原表为把 28 行表格塞进一页 +% 压出来的。照抄,不"优化"——这是复刻件,不是重新设计。 +% +% ⚠️ 版心宽 = 210 - 28.01 - 26.00 = 155.99 mm +% 而原表宽 169.12 mm,**超宽 13.12 mm**。 +% 原 docx 用 tblLayout=fixed 硬撑,实际会压进右侧页边距。 +% ⇒ 本包把表格等比缩到 155.99 mm(系数 0.9224), +% 列宽按比例重算,见第 3 节。这是唯一一处主动偏离原文件的地方。 +%====================================================================== +\geometry{ + paperwidth = 210mm, + paperheight = 297mm, + left = 28.01mm, + right = 26.00mm, + top = 38.01mm, + bottom = 35.01mm, + headheight = 0pt, + headsep = 0pt, + footskip = 17.50mm, +} +\setlength{\parindent}{0pt} +\setlength{\parskip}{0pt} +\pagestyle{empty} % 原 docx 无页眉页脚页码 + +%====================================================================== +% 2. 字体 +% +% 原 docx 用宋体 / 黑体。仓库规矩(#17):不用商业字体, +% 全部取自公共字体包 ../fonts.tex。 +% +% ⚠️ 原表字号分布实测: +% 22pt ×1 —— 标题「中国海洋大学会议预算表」 +% 9pt ×47 —— 表格内全部文字 + 三条说明 +% 无 12pt 段落,与课程大纲那套不同,别照抄那边的字号命令。 +%====================================================================== +\input{../fonts.tex} + +\newcommand{\oucMeetFont}[2]{\fontsize{#1pt}{#2pt}\selectfont} +\newcommand{\Mtw}{\oucMeetFont{22}{30}} % 标题 22pt +\newcommand{\Mn}{\oucMeetFont{9}{12}} % 表格与说明 9pt + +\AtBeginDocument{\Mn} + +%====================================================================== +% 3. 表格列宽 +% +% 原 docx 网格(tblGrid,单位 twips): +% [424, 2054, 790, 1262, 2056, 209, 2793] 合计 9588 +% 换算 mm(×25.4/1440): +% [7.48, 36.23, 13.93, 22.26, 36.27, 3.69, 49.27] 合计 169.12 +% +% 等比缩到版心 155.99 mm(系数 0.9224): +% [6.9, 33.4, 12.9, 20.5, 33.4, 3.4, 45.4] 合计 155.9 +% +% ⚠️ 第 6 列只有 3.4mm,是原文件里「其他费用」竖排标题那一列的残留 +% (原 209 twips,几乎只是一条分隔线宽)。保留它是因为第 20~24 行 +% 的「其他费用」合并单元格需要它占位,删掉会破坏网格。 +%====================================================================== +% ⚠️ 列定义**不能**放进宏再用 \OucMeetColspec 引用 —— tabularray 的 +% colspec 解析器要求字面量,报 +% Package tabularray Error: Unexpandable command ... inside Column type +% ⇒ 直接写在下方的 colspec={...} 里(实测唯一可行写法)。 + +%---------------------------------------------------------------------- +% 行高(#24 修正) +% +% ⚠️⚠️ 原 docx 的 28 行里**只有 R26 显式设了 trHeight**(567 exact = 10mm), +% 其余 27 行都没设 —— 行高由内容自然撑开,9pt 字约 4.5~5mm。 +% +% 第一版我给所有行硬设 ht=7.4mm(自己拍的数),结果: +% 28 × 7.4 = 207.2mm,加标题区约 30mm + 说明约 25mm = 262mm +% 而版心只有 224mm ⇒ **必然溢出一页**,说明文字被推到第 3 页。 +% +% ⇒ 改为 row{2-Z} 不设 ht,让内容撑开(与原 docx 一致); +% 表头行(R6/R14 分节标题)和签署行(R26/R27)单独给最小高度, +% 保证印章框有空间。 +% +% ⚠️ 但 9pt + 0 上下内边距时行高只有 4.2mm,全表 28×4.2=118mm, +% 偏挤且不像正式表格。折中取 ht=6.0mm(≈ 一点留白), +% 28×6.0=168mm,加标题 30 + 说明 25 = 223mm,正好卡在 224mm 内。 +% ⚠️ 若将来内容变多导致溢出,优先降这个值,不要动页边距。 +% (注:这个 6.0mm 是写在下方 row{1-Z}={ht=6.0mm} 里的字面量, +% 不做成宏 —— 原因见第 4 节开头的说明。) + +%====================================================================== +% 4. 主表环境 +% +% ⚠️⚠️ 合并单元格用**矩阵式语法**,绝对不能写在内容里用 \SetCell +% +% 现状(tabularray 2022A + 本表的 7 列 Q[c,m,wd=…] + colsep=1mm): +% 只要在单元格内容里写 \SetCell[c=n],编译立刻报 +% ! Missing number, treated as zero. +% ! Illegal unit of measure (pt inserted.) +% \__dim_eval_end: +% 且**全部错误都定位到 \end{tblr}**,根本看不出是哪个格。 +% 最小复现(已验证): +% \begin{tblr}{colspec={Q[c,m,wd=21mm] ...7列..., colsep=0.8mm}} +% \SetCell[c=2]{c} A & \SetCell[c=5]{l} B \\ +% \end{tblr} +% 必崩;把同样的合并改写成下面的 cell{} 语法就 0 错。 +% +% ✅ 正确写法:在 tblr 的选项里用 +% cell{行}{列}={c=n}{对齐} +% 被合并掉的格在内容里**留空**(写 `& &`),不要写 {}。 +% +% ⚠️ 另有一个坑(#23):纵向合并 \SetCell[r=n] 与横向 \SetCell[c=m] +% 不能出现在同一行,同样报上面那串错。本表因此完全不用纵向合并, +% 「其他费用」改成竖排文字 + 该列留空(视觉上等价)。 +%====================================================================== +\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] + }, + 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}, + % ---- 合并规则(行号从 1 开始)---- + % R1~R6 基本信息 + cell{1}{1}={c=2}{c}, cell{1}{3}={c=5}{l}, + cell{2}{1}={c=2}{c}, cell{2}{3}={c=2}{l}, cell{2}{5}={c=2}{c}, cell{2}{7}={c=1}{l}, + cell{3}{1}={c=2}{c}, cell{3}{3}={c=5}{l}, + cell{4}{1}={c=2}{c}, cell{4}{3}={c=5}{l}, + cell{5}{1}={c=2}{c}, cell{5}{3}={c=5}{l}, + cell{6}{1}={c=2}{c}, cell{6}{3}={c=5}{l}, + % R7 收入预算标题(跨 7 列) + cell{7}{1}={c=7}{c}, + % R8~R14 收入表 + cell{8}{1}={c=2}{c}, cell{8}{3}={c=2}{c}, cell{8}{5}={c=2}{c}, cell{8}{7}={c=1}{c}, + cell{9}{1}={c=2}{l}, cell{9}{3}={c=2}{l}, cell{9}{5}={c=2}{l}, cell{9}{7}={c=1}{l}, + cell{10}{1}={c=2}{l}, cell{10}{3}={c=2}{l}, cell{10}{5}={c=2}{l}, cell{10}{7}={c=1}{l}, + cell{11}{1}={c=2}{l}, cell{11}{3}={c=2}{l}, cell{11}{5}={c=2}{l}, cell{11}{7}={c=1}{l}, + cell{12}{1}={c=2}{l}, cell{12}{3}={c=2}{l}, cell{12}{5}={c=2}{l}, cell{12}{7}={c=1}{l}, + cell{13}{1}={c=2}{l}, cell{13}{3}={c=2}{l}, cell{13}{5}={c=2}{l}, cell{13}{7}={c=1}{l}, + cell{14}{1}={c=2}{c}, cell{14}{3}={c=2}{l}, cell{14}{5}={c=2}{l}, cell{14}{7}={c=1}{l}, + % R15 支出预算标题(跨 7 列) + cell{15}{1}={c=7}{c}, + % R16~R20 支出表(3+2+2) + cell{16}{1}={c=3}{c}, cell{16}{4}={c=2}{c}, cell{16}{6}={c=2}{c}, + cell{17}{1}={c=3}{l}, cell{17}{4}={c=2}{l}, cell{17}{6}={c=2}{l}, + cell{18}{1}={c=3}{l}, cell{18}{4}={c=2}{l}, cell{18}{6}={c=2}{l}, + cell{19}{1}={c=3}{l}, cell{19}{4}={c=2}{l}, cell{19}{6}={c=2}{l}, + cell{20}{1}={c=3}{l}, cell{20}{4}={c=2}{l}, cell{20}{6}={c=2}{l}, + % R21~R25 其他费用区(1+2+2+2),第 1 列竖排文字、下面 4 行留空 + cell{21}{2}={c=2}{l}, cell{21}{4}={c=2}{l}, cell{21}{6}={c=2}{l}, + cell{22}{2}={c=2}{l}, cell{22}{4}={c=2}{l}, cell{22}{6}={c=2}{l}, + cell{23}{2}={c=2}{l}, cell{23}{4}={c=2}{l}, cell{23}{6}={c=2}{l}, + cell{24}{2}={c=2}{l}, cell{24}{4}={c=2}{l}, cell{24}{6}={c=2}{l}, + 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}, + }% +}{% + \end{tblr}\par\endgroup} + +%====================================================================== +% 5. 标题与页首 +%====================================================================== +% 左上角「附件1」小字(原 docx 无字号设置,随正文 9pt) +\newcommand{\oucmeetattach}[1]{% + \par\noindent{\Mn #1}\par\vspace*{4bp}} + +% 标题:22pt 居中 +\newcommand{\oucmeettitle}[1]{% + \par\begingroup\Mtw\heiti\centering #1\par\endgroup + \vspace*{8bp}} + +% 填表日期 / 金额单位 那一行(左右分列,中间留白) +% 原 docx 用一串空格撑开,这里用 \hfill 更稳 +\newcommand{\oucmeetdateline}[1]{% + \par\noindent{\Mn #1}\par\vspace*{4bp}} + +%====================================================================== +% 6. 表尾说明 +% +% ⚠️ 悬挂缩进不能用 \leftmargin=2em —— 实测报 +% Overfull \hbox (26.71pt too wide) +% 因为「1、」「2、」是**全角字符 + 顿号**,9pt 下实测宽约 2.4em, +% 比 2em 宽,标签凸出到左边界外。⇒ \labelwidth 要给足 2.5em。 +% +% ⚠️⚠️ \itemindent 不能设负值! +% 第一版写 \itemindent=-2.5em 想让「1、」顶格,结果整段被拉到 +% x=65.95,而版心左界是 79.40 —— **说明文字跑到版心外左侧 13.45bp**, +% 且只报一个 5.1pt 的 Overfull(因为 \hbox 宽度的计算没把左溢算进去)。 +% ⇒ 正确做法:\leftmargin 与 \labelwidth 相等,\itemindent=0, +% 标签自然落在左边界,「1、」后面直接接正文。 +% \labelwidth 要 ≥ 标签实际宽度(「1、」9pt 全角约 2.4em),给 2.5em。 +% 见下方 \oucmeetnote 的说明。环境只负责字号与上间距,不再用 list。 +\newenvironment{oucmeetnotes}{% + \par\vspace*{2bp}\begingroup\Mn +}{\par\endgroup} + +%---------------------------------------------------------------------- +% 单条说明 +% +% ⚠️ 为什么不用 list 环境:list 的 \leftmargin / \itemindent 组合极易 +% 把内容推出边界,而且**不报 Overfull**(踩过一次,文字跑到版心 +% 左外 13.45bp,日志里只有个无关的 5.1pt)。 +% +% ⚠️ 也不要用 \hangindent 悬挂缩进。「2、」后面直接接正文,续行不需要 +% 缩进;相反,\hangindent 会让续行可用宽度变窄,第 2 条 +% (50 字,两行)因此溢出 5.1pt。 +% ⇒ 就是普通的 \noindent + 段落,什么都不设。 +% +% ⚠️⚠️ \tolerance / \emergencystretch 必须在**段落开始前**设置。 +% 写成 `\noindent` 之后再改无效(\noindent 已开段落,实测 5.1pt +% 的 Overfull 纹丝不动)。 +% ⇒ 这里用 \sloppy,它在内部改 \tolerance 和 \emergencystretch, +% 且必须在 \par 之前调用 —— 下面 #1#2 之前就调了,有效。 +% +% ⚠️ 为什么会溢出:第 2 条说明正好 50 字,9pt 下版心一行放 49 字, +% 第 50 字「现」挤到第二行后,第一行欠宽极小、第二行只有「金;」 +% 两个字,TeX 判定这比"溢出 5.1pt"更难看。\sloppy 允许更松的断行, +% 两害相权取其轻。这是内容长度与版心宽度的巧合冲突,不是排版错误。 +%---------------------------------------------------------------------- +\newcommand{\oucmeetnote}[2]{% + \par\noindent\sloppy #1#2\par + \vspace*{1bp}} + +\endinput \ No newline at end of file diff --git a/会议预算表/会议预算表.pdf b/会议预算表/会议预算表.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3fd568de7c3e3c0dff24be51a599157c239d27f1 GIT binary patch literal 53299 zcmb5U1CS=&_U_qb+g6wLmTlX%-ZHvutIM`+yQ<5!ZQJb9eE+!j%*=_oF>y|0#EKnH zL`G)**0Xlz+B?Y=MaAiv7&u_b4{xttVVRhT0mSykR$ z_NHcxvSxPX&KAThT+FQe{IE{Wj%G%-uP%7x4C4q z|FG2*Mb7BZF=KF_d@a-<+sbafIC=xTl*F(mZyxzVlQ;Wp6QIVG(4?xM)OLCB<=P9pyE!REuSEg&2@ zTrwY9n>OG7Q0g&3A7;&X-q?mu#P@x&a%6yorn9rq<8{h~Nb%D|rtKpJQlk^n?d{~K zHg%`utHvC!D-*_+RQ7TY>cm_;lS)O7?kYLH1PjO&Ys^j^J#glC_eLJ(-kEAm{bC+d zoQtaD$m%$U z%T7wo^N_7&W?jhalG{@cYO0fyBwf~e-BWLW=-UZzI!=EUE(nMV{56=ExeI7I)!RSG ziF_#C{!Dyc_uBY0e}62$^x4?RdtU;Yqx0c83K(mYH10u%Id+`m~USIt9lZ+c}otQ)h#~|h}hUP{(YW$m4>G0=o?7JmXj*ezi zVLrWaey;|d@|8aZC(oCkC(9~!AN@xowzTim$tQcWis+mtq9RI%S!f7m;`&aWP8psn zH$i7l#>@;qK1J_%!BgenltkjT9?%8p`fjm%>BesHDUQ*n&_&Y&9jbA4M(!RT28Uhw z`Pltz^K%JbP+tboVEVu_OGRVA_Lc%PVUL&OCd+r-GE7*t
oNDB&-#V{75p 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 F{1e?S@KFE& literal 0 HcmV?d00001 diff --git a/会议预算表/会议预算表.tex b/会议预算表/会议预算表.tex new file mode 100644 index 0000000..90f507a --- /dev/null +++ b/会议预算表/会议预算表.tex @@ -0,0 +1,126 @@ +%====================================================================== +% 中国海洋大学会议预算表(空表模板) +% +% 用途:演示 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 基本信息 ---- + 会议名称 & & & & & & \\ + 会议时间 & & 会议地点 & & & & \\ + % ⚠️ 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:「其他费用」竖排,只写在第 1 列的第一行(R21), + % 下面 4 行该列留空。用 \rotatebox 真旋转,不用 \\ 换行 + % (\\ 会被 tabularray 当成行结束,破坏整表)。 + \rotatebox{90}{其他费用} & 交通费 & & & & & \\ + & 会议资料印刷费 & & & & & \\ + & 会议室使用费 & & & & & \\ + & 工作人员补助 & & & & & \\ + & 其他 & & & & & \\ + + 合计 & & & & & & \\ + + % 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)即可,手写签名空间足够。 + 经费(项目)负责人意见: & & & 所在单位负责人意见:\hspace*{4em}校级领导意见: & & & & \\ + \hfill(签字) & & & (签字)\hspace*{3em}(盖章) & & & & \\ +\end{oucmeettable} + +\begin{oucmeetnotes} + \oucmeetnote{1、}{会议借款和报销应按会议预算执行,如突破预算总额,须按原程序审批;} + \oucmeetnote{2、}{收取会务费时按要求给会议代表开具发票,收取的会务费及发票存根和记账联统一交财务处入账,不得坐支现金;} + \oucmeetnote{3、}{会议费开支实行定额控制,标准参照《中国海洋大学会议费管理办法》。} +\end{oucmeetnotes} + +\end{document} \ No newline at end of file