Files
ouc_latex_template/试卷/参考答案与评分标准示例.tex
T
laoyang 93b03c8a78 试卷字体统一为思源宋体 #20
用户要求:「试卷的字体,需要改一下,全部都用思源宋体就可以了。」

pymupdf 提取两份成品 PDF 定位到四类需要统一的字体:

  试卷题型示例(6 页)            参考答案与评分标准示例(3 页)
  OUCSerif-Regular 203 中文        OUCSerif-Regular 333 中文
  TeXGyreTermes-Regular 133 西文   TeXGyreTermes-Regular 197 西文
  TeXGyreTermes-Bold 85 题号分值   OUCSans-Regular 37 黑体小标题
  OUCSerif-Bold 81 中文加粗         CMR10/CMMI10/CMSY10 49 数学公式
  OUCKai-Regular 25 卷头与成绩表    TeXGyreTermes-Bold 21 数字

一、西文与数字:Termes → 思源宋体(oucexam.sty / ouckey.sty)

先在包里用 \newfontfamily 登记 \OUCLatinSerif / \OUCLatinSerifBold
(四个档位全给,斜体指回 Regular —— 思源宋体没有真斜体),再把
\tnr / \tnrb / \sunfont 都 \let 过去。

⚠️ 只做这一步**不够**,这点踩了一轮:模板里大量文字根本没走 \tnr,
而是走 \setmainfont(默认西文族)——\textbf{learning outcome} 的裸西文、
页脚的页码与总页数、任何 \selectfont 之后的裸 ASCII。
第一轮只 \let 时,PDF 里仍残留 22 个 TeXGyreTermes span:
页脚 6 个页码 + 6 个总页数 + 第 4 页的 A./B./C./D. 与 learning outcome 等。
⇒ 必须连 \setmainfont / \setsansfont 一起指到 OUCSerif。

二、卷头与成绩表题号:霞鹜文楷 → 思源宋体(oucexam.sty)

\kh 与 \scoretable 用 \kaiti。包里 \let\kaiti\songti 一次性收口,
不动 ../fonts.tex 的 \def\kaiti —— 别的模板还要用楷体。

三、答案卷黑体小标题:思源黑体 → 思源宋体(ouckey.sty)

\heiti 共 37 处(卷头大标题与各节小标题)。同样 \let\heiti\songti。

四、数学公式:保持不动

$x$ / $\dfrac{1}{45}\sum f_i x_i$ 等 49 处仍走 Computer Modern。
思源宋体没有 MATH 表(实测只有 GSUB/GPOS),不能作数学字体;
强行塞进正文字体会破坏斜体变量、正体数字、运算符间距。用户已确认。

五、装订线虚线:连字符排字 → 用线画(oucexam.sty)

原卷那 6 段竖虚线是 18bp Times 连字符排出来的。换成思源宋体后连字符
每个宽 0.346 em(Termes 0.333),每串会长 4~7bp,破坏"复刻原卷长度"。
⇒ 改为几何画的短横线段,长度锁死。实测原卷(720dpi 逐笔画测量):
  单个连字符笔画 长 4.40bp、粗 1.10bp、x 中心 51.60bp
  相邻笔画步距 6.00bp
新增 \ouc@dashseg{起点y}{笔画数},六段坐标与笔画数逐段照抄原卷
(含原卷被白底遮断成 13+3 两截的那一段)。
⚠️ \newcommand 必须定义在 \ouc@dobindstrip 外面,否则每次 shipout
重新定义,第二页起报 already defined。
⚠️ y 坐标不能写 \dimexpr#1bp+\i*6bp —— TikZ 坐标解析器不认小数 +
\dimexpr 组合,报 Illegal unit of measure。要先 \pgfmathsetmacro。

六、直引号归入 CJK(ouckey.sty)

答案卷正文用 ASCII 直引号 "" 表示中文引号(32 处)。U+0022 在
Basic Latin,xeCJK 判为西文 ⇒ 引号走 \setmainfont,与两侧汉字不同字体,
并挤压出 Overfull(第 88 行 +8.07pt)。
\xeCJKDeclareCharClass{CJK}{"0022} 归位后解决。
⚠️ 不在 fonts.tex 里改:那里全库共用,会让正文真正的英文引号(代码
   片段 "hello world")也变全角。

七、Overfull 的修法:改源码断行,不调参数(ouckey.sty 留有完整记录)

换字体后 \keyitem{3}{4} 那段 Overfull 2.61pt,实际压出版心
(最右 527.01bp,版心止于 524.41)。试过并确认**全部无效**的五种:
  · \emergencystretch 1.5em —— 本行没有弹性胶可拉,无从施展
  · \tolerance 3000 —— 不是不满意断点,是没有更早的合法断点
  · PunctStyle=kaiming —— 能消 Overfull,但标点悬挂探出版心 6.5bp
  · PunctStyle=quanjiao —— 同样探出 8bp
    (xeCJK 这几个 PunctStyle 做的是"标点悬挂"不是"标点压缩",
      指望它消 Overfull 必翻车)
  · \rightskip 0pt plus 6bp(含 \AtBeginDocument 版)—— 6bp 远小于
    需要的 150bp,TeX 仍选"撑破"这个解
正解:第 124 行句号「。」后加 \\。分项给分的答案本来就该一句一行,
读者靠句号扫分点 —— 既解决排版,又让内容结构更清楚。

验证(两套环境各跑,逐项同数)

  WSL / TeX Live 2025    试卷 rc=0 err=0 over=0 6页
                         答案卷 rc=0 err=0 over=0 3页
  Windows / TeX Live 2022 试卷 rc=0 err=0 over=0 6页
                         答案卷 rc=0 err=0 over=0 3页

pymupdf 提取字体分布:

  试卷题型示例      OUCSerif-Regular 291 + OUCSerif-Bold 70
                    → 非宋体文字字体:无
  参考答案示例      OUCSerif-Regular 235 + OUCSerif-Bold 53
                    + CMR10/CMMI10/CMSY10/CMMI7/CMEX10(数学,保留)
                    → 非宋体文字字体:无

几何核对(逐 span 比对,均与基线一致或更优):
  · 成绩表 17 栏逐字符坐标与基线**完全相同**(硬编码坐标,不受字体影响)
  · 装订线 96 笔全部绘出:x 49.40~53.60(宽 4.40bp)、步距 6.00bp,
    六段位置与原卷实测一致
  · 三页最右墨迹均为 524.41bp,与版心严丝合缝,无越界
  · 试卷 6 页最右最大 523.33bp(第 4 页 \mtpair 的 44% 栏宽设计,
    基线同位置同样数值,非本次引入)

涉及文件:
  试卷/oucexam.sty                 默认族、西文字族、\kaiti、装订线虚线
  试卷/ouckey.sty                  默认族、西文字族、\heiti、直引号、踩坑记录
  试卷/参考答案与评分标准示例.tex  第 124 行句号后加断行
2026-10-29 21:29:15 +08:00

254 lines
11 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
%======================================================================
% 参考答案及评分标准(示例)
%
% 用途:演示 ouckey.sty 的用法。题目与答案均为示意,不含任何真题。
% 编译: xelatex 参考答案与评分标准示例.tex (跑两遍,第二遍取总页数)
%
% 学校没有统一模板,本文件按国内高校通行体例组织,四条规矩:
% ① 抬头信息齐全(学年学期 / 课程 / 类型 / 学院 / 专业 / 教师 / 方式 / 满分)
% ② 客观题答案集中列,附统一给分规则(答错怎么算、多选漏选怎么算)
% ③ 主观题答案里**内嵌**分步分值:写到哪个得分点,就标(X 分)
% ④ 每个大题末尾给【评分标准】,写清扣分规则与"其他正确解法同等给分"
%
% 为什么主观题要内嵌分值而不是只在末尾写总分:
% 阅卷是流水作业,批卷人手上只有这份文件。分值必须和答案文字
% 贴在一起,批到哪里看到哪里;集中写在末尾,批卷人要来回翻。
%
% 纸张选择:
% 默认 A4(阅卷现场用,字大好认)
% 要与试卷同纸一起装订归档,把下一行换成
% \usepackage[exampaper]{ouckey}
% 即 195mm×270mm,页边距与试卷完全对齐。
%
% 本示例为 8 个大题、满分 100 分,分值分布见文末 \keytotal 汇总表。
%======================================================================
\documentclass[UTF8]{ctexart}
\usepackage{ouckey}
\usepackage{amsmath}
\usepackage{amssymb} % \square(证明题结尾的证毕号)
%----------------------------------------------------------------------
% 抬头参数:留空的项自动不印,不会留空横线
%----------------------------------------------------------------------
\keysetup{
year = {2025},
term = {秋},
course = {数字逻辑},
type = {A},
dept = {计算机科学与技术学院},
college = {信息科学与工程学院},
major = {计算机科学与技术专业 \TNR{2023} 级},
teacher = {张远航},
examiner = {张远航},
mode = {闭卷、笔试},
total = {100},
}
\begin{document}
\makekeyhead
%======================================================================
% 一、单项选择(20 分)
%======================================================================
\keysection{一}{单项选择题}{10}{2}
\objkeys{C,B,A,B,C,A,C,A,C,A}
\scoring{每小题 \TNR{2} 分,共 \TNR{20} 分。选对得满分;多选、错选、
未选均不得分,不设部分分。}
%======================================================================
% 二、填空题(10 分)
% 多空答案用「;」分隔。顺序不可调换的,要在评分标准里写明。
%======================================================================
\keysection{二}{填空题}{5}{2}
\keyitemstar{1}{结构;组织;控制}
\keyitemstar{2}{输入;处理;输出}
\keyitemstar{3}{准确性;完整性;及时性}
\keyitemstar{4}{分组;抽样}
\keyitemstar{5}{实验报告}
\scoring{每小题 \TNR{2} 分,共 \TNR{10} 分。多空的题按空平分
(两空各 \TNR{1} 分,三空各约 \TNR{0.7} 分,四舍五入到 \TNR{0.5} 分)。
答案须与所填空格一一对应,顺序错位不得分;
同义表述(如"及时性"写作"时效性")同等给分;
出现错别字但字义可辨,不扣分。}
%======================================================================
% 三、判断改错(12 分)
% 判断与改正分开给分——这是最容易和学生对分的地方,必须写死。
%======================================================================
\keysection{三}{判断改错题}{4}{3}
\keyitem{1}{3}{%
判断:\textbf{×}\pt{1}。\\
改正:"只由期末卷面成绩决定"错误,应为"由平时成绩与期末成绩
按比例综合评定"\pt{2}。}
\keyitem{2}{3}{%
判断:\textbf{√}\pt{1}。\\
改正:无需改正。}
\keyitem{3}{3}{%
判断:\textbf{×}\pt{1}。\\
改正:实验数据记录应做到"准确、完整、及时"三项,
缺"客观性"表述不完整\pt{2}。}
\keyitem{4}{3}{%
判断:\textbf{×}\pt{1}。\\
改正:缺勤达总学时三分之一者,取消期末考试资格\pt{2}。}
\scoring{每小题 \TNR{3} 分,共 \TNR{12} 分。判断正确得 \TNR{1} 分,
改正正确得 \TNR{2} 分。只判断不改错的,最多得 \TNR{1} 分;
判断错误但改正部分指出正确说法的,给 \TNR{1} 分。}
%======================================================================
% 四、名词解释(12 分)
% 关键是"一个得分点 = 一个可核对的短句",不要写成一大段。
%======================================================================
\keysection{四}{名词解释}{3}{4}
\keyitem{1}{4}{%
\textbf{学习效果评价}:指依据一定标准,对学习活动及其结果
作出价值判断的过程\pt{2}。其核心是"标准 + 证据 + 判断"三要素\pt{1},
目的是改进教与学,而非仅给出等级\pt{1}。}
\keyitem{2}{4}{%
\textbf{形成性评价}:指在教学过程中进行、以改进教学为目的的评价\pt{2}。
与终结性评价相对,强调及时反馈\pt{1},常用课堂提问、随堂练习、
作业批改等方式实施\pt{1}。}
\keyitem{3}{4}{%
\textbf{学习迁移}:指一种学习对另一种学习的影响\pt{2}。\\
按方向分正迁移与负迁移\pt{1},其发生依赖于共同要素与概括水平\pt{1}。}
\scoring{每小题 \TNR{4} 分,共 \TNR{12} 分。按上述得分点累加给分,
不倒扣。答出同义表述即给分;只写出术语名称、未作任何解释的,
得 \TNR{0} 分。}
%======================================================================
% 五、简答题(12 分)
%======================================================================
\keysection{五}{简答题}{2}{6}
\keyitem{1}{6}{%
影响学习效果的主要因素有:\\
(\TNR{1})学习者自身因素,包括原有知识基础、学习动机与
元认知水平\pt{2};\\
(\TNR{2})教学因素,包括内容组织、方法选择与反馈质量\pt{2};\\
(\TNR{3})环境因素,包括学习时间、资源条件与同伴影响\pt{2}。}
\keyitem{2}{6}{%
课堂学习与自主学习的区别:\\
(\TNR{1})组织方式不同:课堂学习由教师组织、时间固定;
自主学习由学习者自行安排\pt{2};\\
(\TNR{2})内容来源不同:课堂学习以教材与讲授为主;
自主学习可跨出教材\pt{2};\\
(\TNR{3})二者互补,缺一不可\pt{2}。}
\scoring{每小题 \TNR{6} 分,共 \TNR{12} 分。按得分点给分,
每点说法基本正确即给满分,不必与参考答案逐字一致。
答题要点齐全但表述混乱的,扣 \TNR{1} 分;
只答对一两个要点的,按点累加,不倒扣。}
%======================================================================
% 六、计算题(16 分)
% ★ 步骤分是重点,必须写清"哪一步值几分"。
% ★ 数学公式用 $...$,不要用 unicode 上下标。
%======================================================================
\keysection{六}{计算题}{2}{8}
\keyitem{1}{8}{%
解:设平时成绩为 $x$,期末成绩为 $y$,总评 $S$。\\
(\TNR{1})写出计算式\pt{2}:
\[ S = 0.3x + 0.7y \]
(\TNR{2})代入数据\pt{3}:
\[ S = 0.3\times 85 + 0.7\times 78 = 25.5 + 54.6 \]
(\TNR{3})计算结果并作答\pt{3}:
\[ S = 80.1 \]
该生总评成绩为 \TNR{80.1} 分。}
\keyitem{2}{8}{%
解:(\TNR{1})列频数分布表并求组中值\pt{3};\\
(\TNR{2})计算平均分
$\bar{x}=\dfrac{1}{45}\sum f_i x_i = 75.7$\pt{3};\\
(\TNR{3})及格率 $=\dfrac{40}{45}=88.9\%$\pt{2}。}
\scoring{每小题 \TNR{8} 分,共 \TNR{16} 分。\textbf{按步骤给分}:
只写结果不写过程的,即使结果正确也只给结果分(\TNR{1} 分);
过程中间步算错但后续方法正确的,不重复扣分,
只在算错那一步扣该步分值。结果未按要求保留小数位的,扣 \TNR{1} 分。}
%======================================================================
% 七、分析题(8 分)
% 配图的参考答案:图放在 \keyitem 之后,不要塞进参数里。
% (塞进去的话,tabular/tikz 的 & 与 \\ 会被当成参数分隔符)
%======================================================================
\keysection{七}{分析题}{2}{4}
\keyitem{1}{4}{%
(\TNR{1})四个环节依次为输入、处理、输出、反馈\pt{1};\\
(\TNR{2})各环节作用:输入提供原始信息\pt{1},处理完成转换\pt{1},
输出呈现结果、反馈用于修正\pt{1}。}
\vspace*{4bp}
\begin{center}
\begin{tikzpicture}[
box/.style={draw,semithick,minimum width=62bp,minimum height=22bp,
inner sep=1bp,font=\Fivhao},
arr/.style={->,>=stealth,semithick}]
\node[box] (a) {输入};
\node[box,right=14bp of a] (b) {处理};
\node[box,right=14bp of b] (c) {输出};
\node[box,below=16bp of b] (d) {反馈};
\draw[arr] (a) -- (b);
\draw[arr] (b) -- (c);
\draw[arr] (c.south) |- (d.east);
\draw[arr] (d.west) -| (a.south);
\end{tikzpicture}
\end{center}
\vspace*{4bp}
\keyitem{2}{4}{%
(\TNR{1})缺失"反馈"环节的直接影响:错误无法被及时发现和纠正\pt{2};\\
(\TNR{2})进一步说明:系统失去自校正能力,偏差会逐级累积\pt{2}。}
\scoring{每小题 \TNR{4} 分,共 \TNR{8} 分。分析能结合材料具体内容、
不是照抄定义的,按点给满分;只复述概念未结合材料的,最多给 \TNR{2} 分。
用其他合理框架分析的,只要逻辑自洽、覆盖上述要点,同样给分。}
%======================================================================
% 八、论述题(10 分)
% 论述题给"分数段"而不是"精确点",这是通行做法。
%======================================================================
\keysection{八}{论述题}{1}{10}
\keyitem{1}{10}{%
(\TNR{1})\textbf{明确观点}\pt{3}:课堂学习与自主练习是相互支撑
而非相互替代的关系。\\
(\TNR{2})\textbf{论证课堂学习的作用}\pt{3}:提供系统框架、
及时纠偏、形成学习节奏。\\
(\TNR{3})\textbf{论证自主练习的作用}\pt{2}:把"听懂"转化为
"会做",形成个人化的理解与技能。\\
(\TNR{4})\textbf{举例并结合自身体会}\pt{2}:须为具体事例,
不能只作笼统表态。}
\scoring{共 \TNR{10} 分。观点明确、论证有层次、举例贴切者给
\TNR{9}~\TNR{10} 分;观点正确、论证较完整但举例笼统者给
\TNR{7}~\TNR{8} 分;仅罗列要点、缺乏论证者给 \TNR{4}~\TNR{6} 分;
观点错误或严重偏离题意者给 \TNR{0}~\TNR{3} 分。
\textbf{字数不足题目要求 \TNR{2/3} 的,在所得分数基础上扣 \TNR{2} 分。}}
%======================================================================
% 分值汇总表:阅卷前核对"各大题相加 = 满分"
%======================================================================
\keytotal{20,10,12,12,12,16,8,10}
\keynote{本表用于阅卷前核对分值。若相加不等于卷面满分(\TNR{100} 分),
说明某一大题的分值统计有误,须回到原卷核对,不要在此处直接改动数字。}
\keysign
\end{document}