Files
ouc_latex_template/试卷/README.md
T
laoyang 8984b93ee7 模板内容填充:全库 × 占位换成完整虚构示例,README 表述同步 #11
把 11 个模板里满篇的 × 换成一套连贯的虚构数据,让样张能看出排版效果。

虚构设定(跨模板统一):
- 数字逻辑 / 2025 秋 / 张远航 / 计算机科学与技术学院,教学日历、成绩构成
  说明、试卷归档封面、试卷四份互相对得上
- 简历:张远航,1985.03,教授博导,论文/专利/项目/获奖全套虚构
- 年度考核:同一人的 2025 年度考核表,年度总结四段写满
- 执行大纲:刻意不套用上面那套(原件就是《信号与线性系统分析》的课,
  强行改课程名会让章节体系、学时分配、思政案例全对不上)

假数据都留肉眼可辨标记:DOI 统一 10.9999/、专利号 ZL209999…、
软著 2024SR99999…、手机 138 0000 0000、邮箱 example.net。
签字/日期/评语栏仍然留空——编了就分不清该改哪儿。

修掉一个既有 bug(填充时才暴露):
年度考核登记表「出生年月」的值从来不显示,连字符都不在 PDF 里。
根因是 tabularray 的 cell{r}{c}={c=n} 里那个 c 是数据行的单元序号、
不是视觉列号,表头三处 c=2 要求该行吃 15 个视觉列而表只有 11 列,
超出部分静默丢弃。迷惑点:写 12 格丢值,写 9 格反而正常。
正解是表头不写 cell{},改用行内 \SetCell[c=n]{c},每行照常写满 11 格。
同时 R0 行原件本就装不下(前六字段 115.76mm,剩 42.20mm 要放
19.68mm 标签 + 17.22mm 值,但列宽被切成 15.31/1.38/25.51),
把标签折两行「出生/年月」解决,列宽一个没改。

README 同步:根 README 与 8 个模板 README 里「一律用 × 占位」的说法
已不成立,统一改为「示例内容全部虚构」,并说明哪些位置仍必须留空。

验证:12 个模板零 error,4 处基线警告未新增;干净副本重编页数一致;
PDF 正文 × 清零;真实信息零泄漏。
2026-10-27 12:50:02 +08:00

4.9 KiB
Raw Blame History

试卷 —— 试卷与参考答案 LaTeX 模板

中国海洋大学期末考试试卷与参考答案及评分标准的 XeLaTeX 模板。 两份模板均不含真题,题目与分值都是示意,按教学大纲替换即可。

样张是《数字逻辑》2025 秋的一份完整虚构 A 卷:16 类题型(填空 / 选择 / 判断 / 化简 / 分析 / 设计 / 时序 / 计数器 / 状态机 / 存储器 / ADC-DAC / Verilog / 综合设计 …)+ 对应参考答案与评分标准(8 大题 / 满分 100)。 题目是按数字逻辑课程内容真编的、答案算过是对的,不是「略」或「×××」—— 这样既能看清版式,也能看出各题型的排版难度(比如卡诺图、时序波形图 都是 TikZ 内联画的)。

与 课程教学日历/、成绩构成说明/、 试卷归档封面/ 是同一门课,四份一起看是自洽的。 唯一故意留空的是命题人 / 审核人 / 各题得分栏 —— 那是要签字担责的, 编名字上去容易被误当真实署名。

文件

文件 说明
oucexam.sty 试卷版式包。纸张 195×270mm(学校专用试卷纸),含装订栏、成绩表、页脚
ouckey.sty 答案与评分标准版式包。默认 A4;加 exampaper 选项则与试卷同纸同边距
试卷题型示例.tex 试卷范例,16 类题型,6 页
参考答案与评分标准示例.tex 答案范例,8 大题 / 满分 100,3 页

编译

xelatex 试卷题型示例.tex
xelatex 试卷题型示例.tex       # 跑两遍,第二遍才能取到正确总页数(lastpage)

必须用 XeLaTeX(fontspec + xeCJK),pdflatex 编译不过。 两份 .tex 都在本目录内自包含,不依赖任何图片文件(示例配图是 TikZ 内联画的)。

试卷模板要点

纸张、页边距、行距、装订栏位置、页脚样式都已在 oucexam.sty 里按原卷实测值定好, 一般只改 \examsetup 那一块(下例是样张实际用的虚构值):

\examsetup{
  year      = {2025},        % 学年(会自动印成 2025—2026)
  term      = {秋},           % 秋 / 春
  course    = {数字逻辑},
  college   = {信息科学与工程学院},
  type      = {A},            % 卷头「试卷类型:A 卷」
  foottype  = {},             % 页脚课程名后是否再印类型字母,空=不印
  proposer  = {},             % 命题人
  reviewer  = {},             % 审核人
  mode      = {闭卷},
  allowed   = {无},           % 允许携带的物品
  nsec      = {16},           % 大题数,成绩表自动按 nsec+1 栏等分
}
  • proposer / reviewer 样张里故意留空:命题人、审核人是要签字担责的, 编一个名字上去容易被误当真实署名。留空时模板自动不印该项、不留空横线。
  • type 与 foottype 互不影响:前者只管卷头,后者只管页脚。 原卷 A 卷页脚没印字母、B 卷印了 B,这是出卷人手工差异,不是规则。
  • 大题数变了必须同步改 nsec,否则成绩表格子会错位。

答案模板要点

\keysetup{
  year = {2025}, term = {秋}, course = {数字逻辑}, type = {A},
  dept = {计算机科学与技术学院}, college = {信息科学与工程学院},
  major = {计算机科学与技术专业 \TNR{2023} 级},
  teacher = {张远航}, examiner = {张远航},
  mode = {闭卷、笔试}, total = {100},
}

如实现在试卷同一张纸上印,把 \usepackage{ouckey} 改成 \usepackage[exampaper]{ouckey}。

体例四条(学校没有统一模板,按国内高校通行做法拟定):

  1. 抬头信息齐全,留空的项自动不印、不留空横线
  2. 客观题答案集中列(\objkeys{C,B,A,...},每行 6 个自动换行),附统一给分规则
  3. 主观题内嵌分步分值(\pt{2}),阅卷时批到哪里看到哪里
  4. 每个大题末尾给【评分标准】\scoring{...}

主观题内嵌分值是有意为之:阅卷是流水作业,分值必须和答案文字贴在一起, 集中写在末尾会让批卷人来回翻页。

文末 \keytotal{20,10,12,12,12,16,8,10} 是分值汇总表,用于阅卷前核对 「各大题相加 = 满分」。签名栏 \keysign 只留命题人一处。

书写注意

  • 题干内部换行用 \\*,不要用裸 \\。裸 \\ 语义是"允许在此断页", 题干会被切到上下两页,学生看到半句话。
  • 数字、英文用 \TNR{...} 包起来(内部显式 \normalfont 收尾)。 裸用字体切换命令会让字体状态泄漏到后续段落。
  • \keyitem{题号}{分值}{答案正文} 的参数里不要嵌 tabular / tikzpicture—— 这些环境的 & 与 \\ 会被当成参数分隔符,报 File ended while scanning。 表格和图写在 \keyitem 之后。