
Wie kann ich einige einfache Berechnungen in LaTeX durchführen?
Genauer gesagt möchte ich \numpoints
(einen Teil des exam
Pakets) durch 1,10 teilen. Das heißt, ich möchte so etwas tun:
Grade: \underline{\hspace{2cm}} out of \numpoints<DIVIDED BY 1.1> (points available \numpoints).
Antwort1
Verwenden vonexpl3
es ist ganz einfach:
\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
führt eine beliebige Gleitkommaberechnung aus, die im obigen Fall auf eine Dezimalstelle gerundet wird. Da \numpoints
die Ausgaben in etwa wie eine Referenz aussehen (??wenn es nicht existiert und \exam@numpoints
andernfalls), habe ich eine alternative Definition erstellt \calcnumpoints
, die standardmäßig 0 ist, wenn \exam@numpoints
es noch nicht definiert ist. Auf diese Weise können Sie es wie erwartet in Berechnungen verwenden.