
¿Cómo puedo hacer algunos cálculos simples en LaTeX?
Específicamente, quiero dividir \numpoints
(parte del exam
paquete) por 1,10. Es decir, quiero hacer algo como esto:
Grade: \underline{\hspace{2cm}} out of \numpoints<DIVIDED BY 1.1> (points available \numpoints).
Respuesta1
Usandoexpl3
es realmente simple:
\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
realiza cualquier cálculo en coma flotante, que en el caso anterior se redondea a un decimal. Dado que \numpoints
los resultados son algo así como una referencia (??si no existe y \exam@numpoints
en caso contrario), hice una definición alternativa \calcnumpoints
cuyo valor predeterminado es 0 si \exam@numpoints
aún no está definido. De esta manera podrá utilizarlo en los cálculos como se esperaba.