重写全部 README,只保留使用说明
17 个 README 统一改成使用说明书,去掉来源、踩坑、需求过程等内容。 只保留: - 怎么编译、跑几遍 - 文件结构 - 要改哪些参数(逐项列出宏名与含义) - 用到的命令(表格) - 版式参数 删除: - 原文件来源、抽取过程 - 踩坑记录、最小复现、实测数据 - 用户需求、工单号、历史沿革 - 改造前后对比 行数 4185 → 2261。 全库 16/16 编译通过。
This commit is contained in:
+82
-96
@@ -1,126 +1,112 @@
|
||||
# 课程大纲
|
||||
|
||||
中国海洋大学本科生课程大纲 LaTeX 模板。
|
||||
|
||||
## 来源
|
||||
|
||||
版式取自学校下发的 `课程大纲模板-数字逻辑-2024版.docx`
|
||||
(2025-01-02 修订,45 段落 + 6 表格),所有尺寸从 OOXML 量出。
|
||||
中国海洋大学本科生课程大纲,A4 多页。
|
||||
|
||||
## 编译
|
||||
|
||||
```bash
|
||||
cd 课程大纲
|
||||
xelatex 课程大纲.tex # 单次即可,无交叉引用
|
||||
xelatex 课程大纲.tex
|
||||
xelatex 课程大纲.tex % 跑两遍,目录与交叉引用才正确
|
||||
```
|
||||
|
||||
或在仓库根:
|
||||
|
||||
```bash
|
||||
bash build.sh 课程大纲
|
||||
```
|
||||
|
||||
## 换课程改哪里
|
||||
|
||||
只有三处:
|
||||
|
||||
1. **文首的课程基本信息**(`\sylnamecn` 等 12 个宏)—— 对应表 0
|
||||
2. **各章节正文** —— 一至八章
|
||||
3. **四个表格的内容**
|
||||
或仓库根:`bash build.sh 课程大纲`(自动跑两遍)
|
||||
|
||||
## 文件
|
||||
|
||||
| 文件 | 作用 |
|
||||
| 文件 | 说明 |
|
||||
|---|---|
|
||||
| `oucSyllabus.sty` | 版式包(页面、字体、表格环境) |
|
||||
| `课程大纲.tex` | 示例,用数字逻辑的真实内容(已脱敏) |
|
||||
| `README.md` | 本文件 |
|
||||
| `课程大纲.tex` | 主文件,课程信息与正文改这里 |
|
||||
| `oucSyllabus.sty` | 版式包,一般不改 |
|
||||
|
||||
## 版式参数(实测)
|
||||
## 换课程要改三处
|
||||
|
||||
```
|
||||
页面 A4 210 × 297 mm
|
||||
边距 上下左右均 25.4 mm(正好 1 英寸)
|
||||
正文字号 12pt
|
||||
大标题 15pt 居中
|
||||
表格 9~10pt
|
||||
```
|
||||
1. 文首的课程基本信息(`\newcommand` 那一段)
|
||||
2. 各章节正文
|
||||
3. 各表格的内容
|
||||
|
||||
## 字体
|
||||
## 课程基本信息
|
||||
|
||||
全部取自仓库 `../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 列表):
|
||||
在 `\begin{document}` 之前定义:
|
||||
|
||||
```latex
|
||||
A & \SetCell[c=2]{c} B & C & \SetCell[c=2]{c} D \\
|
||||
% 渲染只得 A / B / D —— C 消失了
|
||||
\newcommand{\sylnamecn}{数字逻辑} % 课程名称(中文)
|
||||
\newcommand{\sylnameen}{Digital Logic} % 课程名称(英文)
|
||||
\newcommand{\sylcode}{080502101231} % 课程代码
|
||||
\newcommand{\sylteacher}{张远航} % 责任教师
|
||||
\newcommand{\sylattr}{专业知识} % 课程属性
|
||||
\newcommand{\sylnature}{必修} % 必修/选修
|
||||
\newcommand{\sylcredit}{2.5} % 学分
|
||||
\newcommand{\sylhours}{48} % 总学时
|
||||
\newcommand{\syltheory}{32} % 理论学时
|
||||
\newcommand{\sylpractice}{16} % 实践学时
|
||||
\newcommand{\sylextra}{32} % 课外学时
|
||||
```
|
||||
|
||||
正确写法:跨 n 列后用 n-1 个 `{}` 占位
|
||||
| 参数 | 说明 |
|
||||
|---|---|
|
||||
| `\sylnamecn` | 课程名称(中文) |
|
||||
| `\sylnameen` | 课程名称(英文) |
|
||||
| `\sylcode` | 课程代码 |
|
||||
| `\sylteacher` | 责任教师 |
|
||||
| `\sylattr` | 课程属性(专业知识 / 通识教育 …) |
|
||||
| `\sylnature` | 必修 / 选修 |
|
||||
| `\sylcredit` | 学分 |
|
||||
| `\sylhours` | 总学时 |
|
||||
| `\syltheory` | 理论学时 |
|
||||
| `\sylpractice` | 实践学时 |
|
||||
| `\sylextra` | 课外学时 |
|
||||
|
||||
## 正文写法
|
||||
|
||||
```latex
|
||||
A & \SetCell[c=2]{c} B & {} & C & \SetCell[c=2]{c} D & {} \\
|
||||
% 渲染得 A / B / C / D,位置正确
|
||||
\oucsylmaintitle{中国海洋大学本科生课程大纲}
|
||||
|
||||
\oucsylsection{一、课程介绍}
|
||||
\oucsylsubsection{1.课程描述(中英文):}
|
||||
\oucsylp{数字逻辑是数字电路逻辑设计的简称……}
|
||||
\oucsylp{Digital logic, short for digital logic circuit design, ...}
|
||||
|
||||
\oucsylsubsection{2.设计思路:}
|
||||
\oucsylp{本课程主要讲授……}
|
||||
|
||||
\oucsylsection{二、课程目标}
|
||||
\oucsylp{通过对该课程的学习,学生将达到如下课程目标:}
|
||||
```
|
||||
|
||||
**规律:`&` 总数固定为「列数 - 1」,与是否跨列无关。**
|
||||
跨列只是把内容摊到多格上,被摊掉的格要用 `{}` 顶住。
|
||||
| 命令 | 用途 |
|
||||
|---|---|
|
||||
| `\oucsylmaintitle{标题}` | 主标题 |
|
||||
| `\oucsylsection{标题}` | 一级节(一、二、三…) |
|
||||
| `\oucsylsubsection{标题}` | 二级节(1.2.3.…) |
|
||||
| `\oucsylsubsub{标题}` | 三级节 |
|
||||
| `\oucsylp{正文}` | 正文段落,首行缩进 |
|
||||
| `\oucsylpz{正文}` | 正文段落,不缩进 |
|
||||
| `\oucsylsignature` | 签字栏 |
|
||||
|
||||
例外:`c=n` 放在行末(直接 `\\`,后面不接 `&`)也能正确渲染,
|
||||
这种写法更易读,本模板 R0/R1 用的就是它。
|
||||
编号(一、二 / 1.2.)手写在参数里,模板不自动生成。
|
||||
|
||||
## 已知偏离
|
||||
## 表格
|
||||
|
||||
| 位置 | 原 docx | 本模板 | 原因 |
|
||||
|---|---|---|---|
|
||||
| 「六、成绩评定」字号 | 10.5pt | 12pt | 原文件此处与其余七章不一致,是复制粘贴漏改 |
|
||||
| 行距 | 由 Word 自动 | 12pt/19pt | 与原文件观感一致,未逐行卡死 |
|
||||
| 表 0 的竖线 | 逐行不同 | 统一 6 等分 | tabularray 限制,见上 |
|
||||
课程大纲有四个表:课程基本信息、课程目标与毕业要求对应关系、
|
||||
教学内容与学时分配、考核方式与成绩构成。
|
||||
|
||||
## 脱敏
|
||||
表格用 `tblr`(tabularray)环境,合并格用 `\SetCell`。改内容时
|
||||
注意**每行的段数要与列数一致**,被合并掉的格子留空。
|
||||
|
||||
责任教师等姓名一律为虚构(`张远航`),与仓库其他模板一致。
|
||||
真实内容不进仓库。
|
||||
```latex
|
||||
\SetCell[c=1]{c} 课程名称 & \SetCell[c=5]{l} (中文)\sylnamecn \\
|
||||
```
|
||||
|
||||
## 版式
|
||||
|
||||
```
|
||||
A4,多页
|
||||
正文宋体,标题黑体,表格内 9pt
|
||||
表格带边框,合并单元格较多
|
||||
页眉页脚含课程名称
|
||||
```
|
||||
|
||||
## 注意
|
||||
|
||||
示例内容为虚构数据,使用时全部替换。
|
||||
Reference in New Issue
Block a user