仅当调用 \printanswers 时才显示成绩表

仅当调用 \printanswers 时才显示成绩表

有没有一种简单的方法可以让使用该类创建的文档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}

您也可以考虑这些套餐ifthenxparse

\ifdef您还可以使用或查看条件编译\ifx

相关内容