我使用这个examdesign
课程编写了一些考试,也使用其他exam
课程编写了考试。每种方法都有其优点。
我非常喜欢的一个功能exam
是宏,它可以计算考试中的\numquestions
问题数量(由 定义)。我希望 也有这个功能。所以我正在尝试自己添加它。但是,我对计数器还不熟悉。\question
examdesign
问题examdesign
由环境定义:
\begin{question}
\end{question}
从我对计数器的初步阅读来看,应该可以定义一个计数器,简单地计算使用该环境的次数。
是否需要重新定义环境才能对其进行计数?或者是否可以定义一个遵循预先存在的环境的计数器?
梅威瑟:
\documentclass[10pt]{examdesign}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\SectionFont{\large\bfseries\ttfamily}
\ContinuousNumbering
\Fullpages
\NoKey
\NumberOfVersions{1}
\let\namedata\relax
\begin{document}
\begin{examtop}
This exam is worth all the marbles. It contains \thequestion\ questions.
\end{examtop}
\begin{multiplechoice}[]
\begin{question}
True?
\choice[!]{True.}
\choice{False.}
\choice{Maybe.}
\choice{Dunno.}
\end{question}
\end{multiplechoice}
\begin{shortanswer}[]
\begin{question}
What is love?
\begin{answer}
Baby don't hurt me.
\end{answer}
\end{question}
\end{shortanswer}
\begin{examclosing}
This exam contained \thequestion\ questions.
\end{examclosing}
\end{document}
答案1
如果问题总数足够,您可以简单地定义一个新的计数器并使用该etoolbox
包为每个问题增加该计数器。
\documentclass[10pt]{examdesign}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\SectionFont{\large\bfseries\ttfamily}
\ContinuousNumbering
\Fullpages
\NoKey
\NumberOfVersions{1}
\let\namedata\relax
\newcounter{qcount}
\setcounter{qcount}{0}
\usepackage{etoolbox}
\AtBeginEnvironment{question}{\addtocounter{qcount}{1}}
\begin{document}
\begin{examtop}
This exam is worth all the marbles. It contains \theqcount\ questions.
\end{examtop}
\begin{multiplechoice}[]
\begin{question}
True?
\choice[!]{True.}
\choice{False.}
\choice{Maybe.}
\choice{Dunno.}
\end{question}
\end{multiplechoice}
\begin{shortanswer}[]
\begin{question}
What is love?
\begin{answer}
Baby don't hurt me.
\end{answer}
\end{question}
\end{shortanswer}
\begin{examclosing}
This exam contained \theqcount\ questions.
\end{examclosing}
\end{document}