在考试文件类中使用带圆圈的数字来选择答案

在考试文件类中使用带圆圈的数字来选择答案

我正在使用exam文档类进行包含多项选择部分的考试。为了匹配 scantron 表单的外观,我想在choicesoneparchoices环境中使用带圆圈的数字。我让它在choices环境中工作,但它在环境中不起作用oneparchoices。下面是一个最小的工作示例。有什么建议吗?

\documentclass{exam}
\usepackage{pifont}
\renewcommand\choicelabel{\thechoice}
\renewcommand\choiceshook{
  \addtocounter{choice}{191} 
}
\renewcommand\thechoice{\ding{\arabic{choice}}}
\begin{document}
\begin{questions}

\question With the choices environment this
\begin{choices}
    \choice  does
    \CorrectChoice  work
    \choice nicely 
\end{choices}

\question With the oneparchoices environment this
    \begin{oneparchoices}
    \choice does 
    \CorrectChoice not      
    \choice work 
\end{oneparchoices}
\end{questions}
\end{document}

答案1

使用略微修改的圆圈编号版本制作 \textcircled 数字的好方法?,这里使用另一种方法tikz圈出数字,而不是pifont。宏\circled用分隔符将其参数括起来1pt

在此处输入图片描述

\documentclass{exam}% http://ctan.org/pkg/exam
\usepackage{tikz}% http://ctan.org/pkg/pgf
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{%
            \node[shape=circle,draw,inner sep=1pt] (char) {#1};}}
\renewcommand\choicelabel{\circled{\thechoice}}
\renewcommand\thechoice{\arabic{choice}}%
\begin{document}
\begin{questions}

\question With the \texttt{choices} environment this
\begin{choices}
    \choice  does
    \CorrectChoice  work
    \choice nicely 
\end{choices}

\question With the \texttt{oneparchoices} environment this
    \begin{oneparchoices}
    \choice does 
    \CorrectChoice work      
    \choice nicely
\end{oneparchoices}
\end{questions}
\end{document}

这样做的好处是允许选择超过 9 个选项。但是,我不确定扫描仪是否仅限于 9 个选择(1 到 9)。

答案2

环境将计数器oneparchoices重置choice为 0。快速修补:

\usepackage{pifont,etoolbox}
\renewcommand\choicelabel{\thechoice}
\renewcommand\choiceshook{
  \addtocounter{choice}{191} 
}
\renewcommand\thechoice{\ding{\arabic{choice}}}
\patchcmd{\oneparchoices}{0}{191}{}{}

因此,oneparchoices环境也将从 191 开始,就像choices。不幸的是,没有\oneparchoiceshook,因此必须遵循不同的路径。

相关内容