我用考试用于排版考试脚本的软件包。作为整合基于成果的教育 (OBE) 的一部分,我们需要在每个问题的分数下显示课程成果 (CO) 和项目成果 (PO)。一个最小示例如下:
如图所示,这些 CO 和 PO 可以针对问题/部分/子部分进行设置。每个问题最多有 1 个 CO 和 1 个 PO 与之关联。即使问题适合 1 或 2 行,也会在要点部分添加 3 行单独的行,说明要点、CO 和 PO,在问题之间留出空白。要点、CO 和 PO 以粗体右对齐。
为了在考试课中适应这一点,我已经完成了软件包文档找到有关如何修改分数部分的任何想法。它包含有关如何修改\pointformat{}
和\pointpoints{}{}
添加静态文本(如“分数”或“标记”)的说明,但我不知道如何针对每个问题进行更改。
为了尝试绕过该问题,我使用了\atright
来自这里将 CO 和 PO 放在问题行的末尾,但不要将它们放在要点下方。示例:
我如何修改要点部分以显示每个问题/部分/子部分可改变的附加信息?
答案1
在采用此解决方案之前,请阅读下面的提示。
在以下评论的帮助下约翰·科米洛和菲利普·S·赫希霍恩之后我就能拼凑出一个“黑客”解决方案。
该\pointformat
命令要求输入一行。因此,我们可以诱使它使用以下方式打印多行:`\parbox' 命令. 有多种调用方式,我们具体使用以下格式
\parbox[position][height]{width}{contents}
编写一个名为的自定义命令\obe{}{}{}
:
\newcommand{\obe}[3]{
\parbox[t][0pt]{0.8cm}{
#1\\
(CO#2)\\
(PO#3)
}
}
它需要 3 个参数:分别是点值、CO 值和 PO 值。它可以从方括号(给出点的位置)调用\question
,\part
例如\subpart
,
\question[\obe{5}{1}{2}] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
将显示如下内容:
该命令的其他参数\parbox
如下:
t
- 用于设置对齐方式。框的顶部将与问题的顶部对齐。备选方案:b
和c
。0pt
- 框的高度。忽略此项将为框指定高度,这会导致在同一问题的行之间添加空格。0.8cm
- 框的宽度。它可以根据您使用的点边距的大小而变化。
然而,还有一个问题。每当问题适合一行或两行时,我们就必须手动在问题之间添加间距。如果我们不这样做,例如:
\question[\obe{5}{1}{2}] The quick brown fox jumps over the lazy dog.
\question[\obe{2}{2}{4}] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
\question[\obe{4}{3}{2}] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
这将导致:
为了避免这种情况,我们可以使用\vspace{2\baselineskip}
单行问题和\vspace{\baselineskip}
多行问题。为了方便起见,我定义了另一个自定义命令:
\newcommand{\qspace}[1]{
\vspace{#1\baselineskip}
}
可以通过以下方式使用:
\question[\obe{5}{1}{2}] The quick brown fox jumps over the lazy dog.
\qspace{2}
\question[\obe{2}{2}{4}] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
\qspace{1}
\question[\obe{4}{3}{2}] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
生成: