考试类别评分标准

考试类别评分标准

如何根据先前定义的百分比为考试创建自动评分标准?如果总分发生变化,我不想更改整个评分标准,而是让 TeX 自动执行。我目前的解决方案有点复杂。有没有更简单的版本?

(我所说的评分标准是指一个表格,其中给出了特定分数的范围,如图所示。)

\documentclass[addpoints,12pt]{exam}

\usepackage[nomessages]{fp}

\begin{document}


\begin{center}
    \gradetable[h][questions]
\end{center}

Grading key:


\begin{center}
    \begin{tabular}{lclll}
        \FPeval{\result}{round(0.8*\numpoints,0)}\result&-&\numpoints&&5\\
        \FPeval{\result}{round(0.6*\numpoints,0)}\result&-&\FPeval{\result}{round(0.8*\numpoints-1,0)}\result&&4\\
        \FPeval{\result}{round(0.4*\numpoints,0)}\result&-&\FPeval{\result}{round(0.6*\numpoints-1,0)}\result&&3\\
        \FPeval{\result}{round(0.2*\numpoints,0)}\result&-&\FPeval{\result}{round(0.4*\numpoints-1,0)}\result&&2\\
        0&-&\FPeval{\result}{round(0.2*\numpoints-1,0)}\result&&1\\
    \end{tabular}
\end{center}

\begin{questions}
    \question[10] Question 1.
    \question[5] Question 2.
    \question[10] Question 3.
    \question[10] Question 4.
    \question[5] Question 5.
    \question[5] Question 6.
    \question[5] Question 7.
\end{questions}
\end{document}

在此处输入图片描述

答案1

最后,我决定实现自己的分级键命令。我开发了一个通用命令和一个特殊命令。它们如下:

\newcommand{\gradekey}[4]{\begin{tabular}{rcrl>\bfseries l}
        \FPeval{\result}{round(#4*\numpoints,0)}\result&-&\numpoints&&5\\
        \FPeval{\result}{round(#3*\numpoints,0)}\result&-&\FPeval{\result}{round(#4*\numpoints-1,0)}\result&&4\\
        \FPeval{\result}{round(#2*\numpoints,0)}\result&-&\FPeval{\result}{round(#3*\numpoints-1,0)}\result&&3\\
        \FPeval{\result}{round(#1*\numpoints,0)}\result&-&\FPeval{\result}{round(#2*\numpoints-1,0)}\result&&2\\
        0&-&\FPeval{\result}{round(#1*\numpoints-1,0)}\result&&1\\
    \end{tabular}
}
\newcommand{\defaultgradekey}{%
    \begin{center}\gradekey{0.35}{0.5}{0.75}{0.9}\end{center}
}

相关内容