# 课程大纲 中国海洋大学本科生课程大纲 LaTeX 模板。 ## 来源 版式取自学校下发的 `课程大纲模板-数字逻辑-2024版.docx` (2025-01-02 修订,45 段落 + 6 表格),所有尺寸从 OOXML 量出。 ## 编译 ```bash cd 课程大纲 xelatex 课程大纲.tex # 单次即可,无交叉引用 ``` 或在仓库根: ```bash bash build.sh 课程大纲 ``` ## 换课程改哪里 只有三处: 1. **文首的课程基本信息**(`\sylnamecn` 等 12 个宏)—— 对应表 0 2. **各章节正文** —— 一至八章 3. **四个表格的内容** ## 文件 | 文件 | 作用 | |---|---| | `oucSyllabus.sty` | 版式包(页面、字体、表格环境) | | `课程大纲.tex` | 示例,用数字逻辑的真实内容(已脱敏) | | `README.md` | 本文件 | ## 版式参数(实测) ``` 页面 A4 210 × 297 mm 边距 上下左右均 25.4 mm(正好 1 英寸) 正文字号 12pt 大标题 15pt 居中 表格 9~10pt ``` ## 字体 全部取自仓库 `../fonts.tex`,**无系统字体依赖**: | 用途 | 字体 | |---|---| | 中文正文 | OUC Serif(思源宋体子集) | | 章节标题 | OUC Sans(思源黑体子集) | | 西文数字 | 默认西文族(`\TNR{}` 可局部切换) | ⚠️ 原 docx 用了「仿宋_GB2312」和「微软雅黑」,都是商业字体, 不能随仓库分发,且换机器编不出来。这是 #17 脱敏时定下的规矩。 ## 结构说明 一章一节对照: | 章节 | 内容 | 表格 | |---|---|---| | 表 0 | 课程基本信息 | 6 行,不规则(见下) | | 一 | 课程介绍 | — | | 二 | 课程目标 | 表 1(打勾矩阵)、表 2(目标×内容) | | 三 | 学习要求 | — | | 四 | 教学进度 | 表 3(8×5) | | 五 | 参考教材 | — | | 六 | 成绩评定 | 表 4(成绩对应)、表 5(评分体系) | | 七 | 学术诚信 | — | | 八 | 大纲审核 | — | ### 表 0 是不规则表 四行的列跨度不同: ``` R0 课程名称 | (中文)xxx ← 值跨 5 列 R1 课程名称 | (英文)xxx ← 值跨 5 列 R2 课程代码 | 值 | 责任教师 | 值 ← 4 格 R3 课程属性 | 值 | 课程性质 | 值 ← 4 格 R4 学分 | 值 | 总课时 | 值 ← 4 格 R5 理论课时 | 值 | 实践课时 | 值 | 课外学时 | 值 ← 6 格 ``` ### ⚠️ tabularray 的 `\SetCell` 陷阱(重要) **`\SetCell[c=n]{c} 内容 & 下一格` 会吞掉下一格,内容消失,且不报错。** 最小复现(6 列表): ```latex A & \SetCell[c=2]{c} B & C & \SetCell[c=2]{c} D \\ % 渲染只得 A / B / D —— C 消失了 ``` 正确写法:跨 n 列后用 n-1 个 `{}` 占位 ```latex A & \SetCell[c=2]{c} B & {} & C & \SetCell[c=2]{c} D & {} \\ % 渲染得 A / B / C / D,位置正确 ``` **规律:`&` 总数固定为「列数 - 1」,与是否跨列无关。** 跨列只是把内容摊到多格上,被摊掉的格要用 `{}` 顶住。 例外:`c=n` 放在行末(直接 `\\`,后面不接 `&`)也能正确渲染, 这种写法更易读,本模板 R0/R1 用的就是它。 ## 已知偏离 | 位置 | 原 docx | 本模板 | 原因 | |---|---|---|---| | 「六、成绩评定」字号 | 10.5pt | 12pt | 原文件此处与其余七章不一致,是复制粘贴漏改 | | 行距 | 由 Word 自动 | 12pt/19pt | 与原文件观感一致,未逐行卡死 | | 表 0 的竖线 | 逐行不同 | 统一 6 等分 | tabularray 限制,见上 | ## 脱敏 责任教师等姓名一律为虚构(`张远航`),与仓库其他模板一致。 真实内容不进仓库。