我想创建一个可以包含三件事的文档:
幻灯片演示,
一份包含问题的演示文稿,后面留有足够的空间,以便学生可以写下自己的答案,以及
一份带有打印解决方案的讲义,而不是手写解决方案的空间。
beamer 类实现了第一个,exam 类实现了后两个,但是由于它们都是类,我无法在两者之间来回切换,否则会由于未定义的命令而产生大量错误。我探索了许多其他与 exam 类类似的软件包,但它们都没有满足我的要求。有人知道我如何才能同时获得这两个类的功能吗?
编辑:为了澄清起见,我想在框架内嵌入问题。
\begin{frame}
\begin{questions}
\question Is this a test?
\begin{solution}[3cm]
Yes, this is a test.
\end{solution}
\end{questions}
\end{frame}
答案1
您可以使用以下包来组合投影仪和考试课程beamerarticle
:
% For the presentation
\documentclass[ignorenonframetext]{beamer}
% for the questions and answers
%\documentclass{exam}
%\usepackage[notheorems]{beamerarticle}
\begin{document}
\begin{questions}
\question[10]
Why is there air?
\question[15]
How much wood would a woodchuck chuck if a woodchuck could chuck
wood?
\question[10] Compute $\displaystyle\int_0^1 x^2 \, dx$.
\end{questions}
\begin{frame}
content...
\end{frame}
\end{document}
另一种方法:在 Beamer 中重新创建所需的环境
\documentclass[notheorems]{beamer}
\newenvironment{questions}{}{}
\newcommand{\question}{}
% For the solution file
%\newenvironment{solution}{}{}
%For printing the student version
\newenvironment{solution}{\color{white}}{}
\begin{document}
\begin{frame}
\begin{questions}
\question Is this a test?
\begin{solution}
Yes, this is a test.
\end{solution}
\end{questions}
\end{frame}
\end{document}
答案2
根据 SamCarter 的回答。您可以创建一个 \newcommand 来轻松地从 beamer 转换为 exam 或反之亦然。
\documentclass[addpoints]{exam}
\usepackage[notheorems]{beamerarticle}
%\documentclass{beamer}
%\newcounter{points}
%\newenvironment{choices}{\begin{enumerate}}{\end{enumerate}}
%\newenvironment{questions}{\setcounter{points}{0}}{}
%\newcommand{\question}[1][1]{\addtocounter{points}{#1}}
\newcommand{\hackQuestion}[5]{
\mode<article>{
\question #1
\begin{parts}
\part #2
\part #3
\part #4
\part #5
\end{parts}
}
\mode<beamer>{
\begin{frame}{#1}
\begin{choices}
\item {#2}
\item {#3}
\item {#4}
\item {#5}
\end{choices}
\end{frame}
}
}
\begin{document}
\begin{questions}
\hackQuestion
{This is my question}
{answer 1}
{answer 2}
{answer 3}
{answer 4}
\end{questions}
\end{document}