在 TeX 中展开两个数字的定义并将其相乘

在 TeX 中展开两个数字的定义并将其相乘

我想自动计算作业的总分(每道题 4 分)。如果我用 标记最后一个问题,我可以使用以下公式\label{last}确定问题数量:\ref*{last}hyperref。我偷了一个宏\mply,用于将两个数字相乘。但是,它似乎\ref*{last}没有完全展开到其值,因此我得到了一个错误。我尝试使用,\edef但无济于事。下面是一个最小示例。

\documentclass[a4paper]{article}

\usepackage{amsthm}
\usepackage{hyperref}

\newtheorem{problem}{Problem}

\newcommand{\mply}[2]{\the\numexpr#1*#2}

\begin{document}

\noindent
Number of problems: \ref*{last} \\
Number of points: \mply{4}{\ref*{last}}

\begin{problem}
Prove this.
\end{problem}

\begin{problem}\label{last}
Prove that.
\end{problem}

\end{document}

相关内容