检测锻炼包的模式

检测锻炼包的模式

我正在尝试检测锻炼套餐的选项没有答案处于打开状态,目的是不以任何模式显示零件。

以下是我的想法:


\documentclass{minimal}
\usepackage[noaswer]{exercise}

\newif\ifpaper
\newif\ifmemo
\paperfalse
\memofalse

\makeatletter%
\@ifpackagewith{excercise}{noanswer}{%
\papertrue%
}{%
\memotrue%
}%
\makeatother%

\begin{document}
\ifpaper
paper
\fi

\ifmemo
memo
\fi

\end{document}

有了这个,我总是会收到备忘录,无论没有答案是否提供。


  1. 我是否遗漏了什么?
  2. 或者有其他方法可以确保正确检测?

答案1

软件包exercise知道几个禁用答案的选项:noanswerexerciseonly;并且outputnothing还禁用练习输出。软件包内部使用开关:\if@AnswerOutput用于答案和\if@ExerciseOutput用于练习。因此,第一个开关提供了一种使用来检查选项的替代方法\@ifpackagewith

\documentclass{minimal}
\usepackage[noanswer]{exercise}

\newif\ifpaper
\newif\ifmemo
\paperfalse
\memofalse

\makeatletter
\if@AnswerOutput
  \memotrue
\else
  \papertrue
\fi
\makeatother

\begin{document}
\ifpaper
paper
\fi

\ifmemo
memo
\fi

\end{document}

相关内容