有没有一种简单的方法可以让使用该类创建的文档exam
仅在\printanswers
被调用时显示成绩表?将成绩表包装在solution
环境中是可行的,但迫使我将其放在环境中questions
。我也尝试过使用\fillin[\gradetable[h][questions]][0em]
(这可以隐藏问题点),但这会触发错误“缺少数字,视为零。”和其他一些让我感到困惑的错误。
答案1
我不知道你为什么要隐藏成绩表,但有一种方法就是显示在这里
\documentclass[answers]{exam}
\usepackage{etoolbox,expl3}
\newtoggle{gradation}
\ExplSyntaxOn
\makeatletter
\clist_set:NV \l_tmpe_clist{ \@classoptionslist }
\clist_if_in:NnT
{ \l_tmpe_clist } { answers }
{ \toggletrue{gradation} }
\makeatother
\ExplSyntaxOff
\begin{document}
\iftoggle{gradation}{%
\printanswers
}
morestufs
\iftoggle{gradation}{%
\gradetable[h][questions]
}
foobar
\end{document}
您也可以考虑这些套餐ifthen
或xparse
。
\ifdef
您还可以使用或查看条件编译\ifx