
Como posso fazer alguns cálculos simples em LaTeX?
Especificamente, quero dividir \numpoints
(parte do exam
pacote) por 1,10. Ou seja, quero fazer algo assim:
Grade: \underline{\hspace{2cm}} out of \numpoints<DIVIDED BY 1.1> (points available \numpoints).
Responder1
Usandoexpl3
é muito simples:
\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
executa qualquer cálculo de ponto flutuante, que no caso acima é arredondado para uma casa decimal. Como \numpoints
as saídas são parecidas com uma referência (??se não existir e \exam@numpoints
caso contrário), fiz uma definição alternativa \calcnumpoints
cujo padrão é 0 se \exam@numpoints
ainda não estiver definido. Dessa forma, você pode usá-lo nos cálculos conforme o esperado.