我正在设计一个学术考试模板,并希望为各个问题分配特定的分值,然后将给定页面上的分值相加以显示在页面底部。我认为这需要以下内容:1) 创建数字变量(我假设在序言中),2) 在文档正文中动态更新这些变量(对于每个页面,每个页面都有不同数量的问题和不同的分值),3) 将这些变量相加以打印出结果。这篇文章定义动态变量让我很好地了解了从哪里开始,但我想知道是否有人有更直接的经验来做这种事情?[使用 TexPad,默认使用 XeLaTeX,如果这很重要的话]。
最后页面看起来会像这样:问题 1 [X 分]....问题 2 [Y 分]....问题 3 [Z 分]....页面总计 = W = X + Y + Z。
其中 X、Y、Z 和 W 是在文档本身内发生变化的数字。
谢谢!
答案1
我根据您的示例对其进行了简化(您可以直接编辑您的帖子...评论不适合 MWE)
\documentclass[12pt,letterpaper]{article}
\newcounter{cquestion}
\newcounter{mypagepoints}
\newcounter{totalpoints}
\newcommand\printpagepoints{%
\themypagepoints\addtocounter{totalpoints}{\value{mypagepoints}}%
\setcounter{mypagepoints}{0}%
}
\newcommand\question[2][10]{%
\addtocounter{mypagepoints}{#1}
\stepcounter{cquestion}%
Question \thecquestion\ [#1 points] #2%may be a \par here
\hfill out of \printpagepoints
}
\begin{document}
\question{Text of question 1}\newpage
\question[5]{Text of question 2}
\thetotalpoints total points
\end{document}
我会选择不同的风格,我不知道每一页是否只有一个问题......所以这是我目前能为你做的
一些解释:\question 命令有两个参数...第一个是可选的,是分数。默认分数(如果没有给出可选的)10。第二个参数是问题的文本。然后,正如您在主代码中看到的,几乎所有您需要的东西都是自动化的...但我真的不知道你的问题的风格...如果同一页中可以有多个问题...您想在哪里打印总分数等。