基本上我想要的正是“单独”显示问题的解决方案,只不过我使用的是amsbook
。因此,我想写一系列问题,通过写类似
\begin{question}
\question 1+1=?
\begin{answer}
1+1=2
\end{answer}
\question What is 1+2=?
\begin{answer}
1+2=3
\end{answer}
\end{question}
上面的代码应该只显示问题:
问题1:1+1=?
问题2:1+2=?
然后命令
\showanswers
显示答案:
答案 1:1+1=2
答案 2:1+2=3
我还希望枚举样式“问题 1、问题 2、...”可以自定义。
答案1
这是一个使用的解决方案answers
包裹。
您可以使用以下方式切换是否显示答案
\usepackage{answers}
将答案写入文件(answers.tex
在下面的代码中)或
\usepackage[nosolutionfiles]{answers}
在文档中显示答案。
我用过enumitem
包创建一个名为的列表类型环境questions
,并将\question
命令定义为\item
(虽然它不接受可选参数 - 但不确定这在这里是否重要)。
\documentclass{amsbook}
\usepackage{enumitem} % for custom lists
\usepackage{answers} % for separating solutions
%\usepackage[nosolutionfiles]{answers}
\newlist{questions}{enumerate}{5}
\setlist[questions]{label*=Question \arabic*.}
\newcommand{\question}{\item}
% open the answer file
\Opensolutionfile{answers}
\Newassociation{answer}{ansWER}{answers}
\begin{document}
\begin{questions}
\question $1+1=?$
\begin{answer}
$1+1=2$
\end{answer}
\question What is $1+2=?$
\begin{answer}
$1+2=3$
\end{answer}
\end{questions}
% close the answer file
\Closesolutionfile{answers}
% use this line if you'd like to include the answers separately
\clearpage
\IfFileExists{answers.tex}{\input{answers.tex}}{no file!}
\end{document}
你可以用这个包做很多事情answers
,特别是如果你把它与 结合起来hyperref
,正如这个网站上的一些答案所示,例如添加另一个与问题本身超链接的答案