如何在考试文档类中创建类似“correctchoice”命令的可选参数?

如何在考试文档类中创建类似“correctchoice”命令的可选参数?

我想创建一个替代方案CorrectChoice。使用命令时,[answers]它将突出显示正确答案并与问题一起打印。我已通过此链接看到此命令考试课堂上如何圈出正确答案?。它创建了一个命令,MyCorrectSmartChoice我正在想如果[answers]不包含该命令,那么这个特定命令的功能(将正确答案放在框内)将如何被隐藏??

例子:

\documentclass[answers]{exam}
\begin{document}

\begin{questions}
\question The question is here.

\begin{choices}
\choice one 
\MyCorrectSmartChoice two 
\choice three

\end{choices}
\end{questions}

\end{document}

那么如果[answers]使用该命令,是否会被强调?

需要一些帮助。谢谢!

答案1

exam课程提供了一个条件\ifprintanswers,在exam文档部分8.5 根据是否打印解决方案而变化\MyCorrectSmartChoice。因此,您可以按如下方式更改链接问题中的定义:

\documentclass[answers]{exam}
% \documentclass{exam}

\usepackage{tikz}
\usetikzlibrary{calc,shapes}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}

\newcommand{\DrawSmartBox}[1][red]{%
    \tikz[overlay,remember picture]{
    \draw[#1]
      ($(bl)+(-1.75em,1em)$) rectangle
      ($(br)+(0.2em,-0.4em)$);}
}

% \MyCorrectSmartChoice:
% #1 optional argument: aspect customization
% #2 mandatory argument: the answer
\newcommand{\MyCorrectSmartChoice}[2][black]{%
  \ifprintanswers
    \CorrectChoice \tikzmark{bl}#2\tikzmark{br}\DrawSmartBox[#1]%
  \else
    \CorrectChoice #2%
  \fi
}
\CorrectChoiceEmphasis{}

\begin{document}

\begin{questions}
\question What's the question? 
\begin{choices}
 \choice How should I know?
 \MyCorrectSmartChoice[thick,rounded corners,red]{What's $6\times7$?}
\end{choices}
\end{questions}

\end{document}

answers选项:

在此处输入图片描述

answers选择项:

在此处输入图片描述

相关内容