考试中的简单算术

考试中的简单算术

如何在 LaTeX 中进行一些简单的计算?

具体来说,我想将\numpoints(部分exam包)除以 1.10。也就是说,我想做这样的事情:

Grade: \underline{\hspace{2cm}} out of \numpoints<DIVIDED BY 1.1> (points available \numpoints).

答案1

使用expl3这真的很简单:

在此处输入图片描述

\documentclass[addpoints]{exam}
\usepackage{expl3}
\ExplSyntaxOn
  \cs_new_eq:NN \calc \fp_eval:n
\ExplSyntaxOff
\makeatletter
\newcommand{\calcnumpoints}{\@ifundefined{exam@numpoints}{0}{\exam@numpoints}}
\makeatother
\begin{document}

\begin{questions}
  \titledquestion{First Question}[5]
  \titledquestion{Second Question}[5]
  \titledquestion{Third Question}[2]
  \titledquestion{Fourth Question}[2]
\end{questions}

\numpoints

\calc{round(\calcnumpoints/1.1,1)}

\end{document}

\calc执行任何浮点计算,在上述情况下四舍五入为小数点后一位。由于\numpoints输出有点像引用 (??如果不存在则返回 true,\exam@numpoints否则返回 false(如果不存在则返回 false),我做了一个替代定义,如果尚未定义则\calcnumpoints默认为 0。这样您就可以按预期在计算中使用它。\exam@numpoints

相关内容