修改考试类中的 \answerline,以包含问题和部分

修改考试类中的 \answerline,以包含问题和部分

在考试课中,有没有办法修改 \answerline 以包含问题编号部分?我为 50 多位老师设计测试,这是他们要求的一项功能。经过彻底的研究和尝试不同的解决方案,我还没有找到一种方法来做到这一点。

我想要的是:

在此处输入图片描述

我得到的是: 在此处输入图片描述

加分项(但我不太在意这一点,但我想我可以问一下):有些老师希望答案行旁边有“x=”,但这并不适用于所有问题。有没有办法用 \answerline 来实现这一点,或者我应该直接告诉老师“TSB (太臭了)”。下面是一个示例:

在此处输入图片描述

答案1

你必须改变\answerline定义。它只对部分起作用。

\documentclass{exam}

\makeatletter
\renewcommand\answerline[1][{}]{%
  % One optional argument, the default value of which is empty.
  \ifx\@queslevel\ques@ref
    \let\ans@l=\questionlabel
  \else
    \ifx\@queslevel\part@ref
      \def\ans@ll{\thequestion\thepartno.}   % <---
      \let\ans@l\ans@ll                      % <---
    \else
      \ifx\@queslevel\subpart@ref
        \let\ans@l=\subpartlabel
      \else
        \ifx\@queslevel\subsubpart@ref
          \let\ans@l=\subsubpartlabel
        \else
          % Oops; no question level defined.
          % We must be outide of the questions environment.
          % Just leave out the label, I guess:
          \def\ans@l{}%
        \fi
      \fi
    \fi
  \fi
  \par \nobreak \vskip \answerskip
  \hfill 
  \ifprintanswers
    \ans@l~\hbox to 0pt{\hbox to \answerlinelength{\hrulefill}\hss}%
    \raise \answerclearance\hbox to \answerlinelength{%
      % 2016/05/10: Added \color@begingroup and \color@endgroup:
      \color@begingroup
      \CorrectChoice@Emphasis \hfil #1\hss
      \color@endgroup}%
  \else
    \ans@l~\hbox to \answerlinelength{\hrulefill}%
  \fi
  \par
}% answerline

\makeatother

% Longer answer lines
%\setlength\answerlinelength{1.5in}

\begin{document}
\begin{questions}
\question
Subquestions

\begin{parts}
\part[5] $f(x) = x^2+2x+1$. Find $f(2)$. \answerline
\part[5] $g(x) = x^3-2x^2+x+1$. Find $g(3)$. \answerline
\end{parts}
\end{questions}
\end{document}

相关内容