问题:有没有办法使用exam
文档类自定义您自己的“等级范围”内的问题编号并保持问题超链接的完整性\partialgradetable
?
编辑:我只是在尝试遵循中概述的方法\renewcommand*{\thequestion}{\the\value{question}}
后添加了这一行\setcounter{question}{0}
这个帖子。但我仍然有同样的问题。
代码
\documentclass[addpoints]{exam}
\usepackage[
colorlinks=true,
linkcolor=blue]{hyperref}
\begin{document}
\begin{questions}
\begingradingrange{range1}
\question A question.
\question Another questions.
\question Yet another question.
\endgradingrange{range1}
\setcounter{question}{0}
\renewcommand*{\thequestion}{\the\value{question}}
\begingradingrange{range2}
\question A second question.
\question Another second question.
\endgradingrange{range2}
\end{questions}
\partialgradetable{range1}
\partialgradetable{range2}
\end{document}
产生以下内容:
可以看出,问题计数器正确重置,但表格中的超链接功能被破坏。尽管表格中range1
显示了第三个问题,但如果您单击,则会转到第三个问题;但是,如果您单击任一表格中的或,则会分别转到中的第一个或第二个问题。??
3
1
2
range2
有没有办法设置计数器以保持部分成绩表中问题超链接的完整性?也就是说,单击1,2,3
第一个表中的应该会带我到那些问题,range1
而单击1,2
第二个表中的应该会带我到那些问题range2
。当然,我还希望能够将计数器设置为不一定0
或的东西,1
并仍使其正常工作。有什么想法吗?
答案1
这将显示所需的数字。我不能保证它能正常工作。
\documentclass[addpoints]{exam}
\usepackage[
colorlinks=true,
linkcolor=blue]{hyperref}
\newcounter{myquestion}
\renewcommand{\thequestion}{\arabic{myquestion}}
\begin{document}
\begin{questions}
\begingradingrange{range1}
\stepcounter{myquestion}%
\question A question.
\stepcounter{myquestion}%
\question Another questions.
\stepcounter{myquestion}%
\question Yet another question.
\endgradingrange{range1}
\setcounter{myquestion}{0}
\begingradingrange{range2}
\stepcounter{myquestion}%
\question A second question.
\stepcounter{myquestion}%
\question Another second question.
\endgradingrange{range2}
\end{questions}
\partialgradetable{range1}
\partialgradetable{range2}
\end{document}
修订后的解决方案已\stepcounter{myquestion}
纳入\question
。注意,\question
是环境的局部questions
。
\documentclass[addpoints]{exam}
\usepackage[
colorlinks=true,
linkcolor=blue]{hyperref}
\newcounter{myquestion}
\renewcommand{\thequestion}{\arabic{myquestion}}
\begin{document}
\begin{questions}
\let\oldquestion=\question
\renewcommand{\question}{\stepcounter{myquestion}\oldquestion}
\begingradingrange{range1}
\question A question.
\question Another questions.
\question Yet another question.
\endgradingrange{range1}
\setcounter{myquestion}{0}
\begingradingrange{range2}
\question A second question.
\question Another second question.
\endgradingrange{range2}
\end{questions}
\partialgradetable{range1}
\partialgradetable{range2}
\end{document}