提问于:
浏览数:
2051
请问大家,在录制数学试题时,想在大题后面配上答案解析,然后想隐藏答案,而且在不显示答案时,题目后面会保留答案的那个长度。
之前在网上找到了一种方法,就是新定义solution,方法如下:
\newtheorem*{mysolution}{Solution}%无编号
\usepackage{comment}%参看宏包说明
\renewenvironment{mysolution}{{\heiti 参考答案:}}{}
\specialcomment{mysolution}{}{}%%%%不注释就没有答案,注释掉这两行答案就出来了
\excludecomment{mysolution}%%%%不注释就没有答案,注释掉这两行答案就出来了
但是这个,把答案隐藏以后,两个大题之间就没有空间答题了,有点不方便,只能制作两个版本,即学生版和教师版,请问大家,能否实现刚才讲述的功能,谢谢大家
3 回答
1
https://github.com/mathedu4all/bhcexam
BHCexam 的作者一直在做试卷,它做出来的试卷仿佛和你的要求相关,可以看看。
-
非常感谢! – 匿名用户 2020-03-17 21:21 回复
-
好的,感谢啸行大哥 – 匿名用户 2020-03-17 21:21 回复
1
自定义一个条件命令
```tex
\documentclass{ctexart}
\usepackage{xparse}
% make \phantom a long macro
\newtoks\patchtoks % helper token register
\def\longpatch#1% % worker macro
{\let\myoldmac#1%
\long\def#1##1{\patchtoks={##1}\myoldmac{\the\patchtoks}}}
\longpatch\phantom
%% define an answer environment that can be hidden
\NewDocumentEnvironment{answer}{ +b }{%
\par
\ifanswer
\textbf{解}\quad {#1}
\else
\phantom{#1}
\fi
}{\par}
\newif\ifanswer
%\answertrue %% Set \answertrue to show the answer environment
\answerfalse %% Set \answerfalse to hide the answer environment
\begin{document}
这是答案开始:
\begin{answer}
1+2=3
2+2=4
\end{answer}
这是答案结束。
\end{document}
```
设置`\answertrue`就打印答案,设置`\answerfalse`就隐藏答案,保留答案所需的空格。
0
用动画宏包,把答案写进动画环境,可以随意显示,随意隐藏。
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。