我正在尝试检测锻炼套餐的选项没有答案处于打开状态,目的是不以任何模式显示零件。
以下是我的想法:
\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
软件包exercise
知道几个禁用答案的选项:noanswer
,exerciseonly
;并且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}