![在 TeX 中展开两个数字的定义并将其相乘](https://linux22.com/image/426017/%E5%9C%A8%20TeX%20%E4%B8%AD%E5%B1%95%E5%BC%80%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%AD%97%E7%9A%84%E5%AE%9A%E4%B9%89%E5%B9%B6%E5%B0%86%E5%85%B6%E7%9B%B8%E4%B9%98.png)
我想自动计算作业的总分(每道题 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}