从文件中提取问题和解决方案并创建问题集合

从文件中提取问题和解决方案并创建问题集合

我有一组问题和解决方案,我希望将它们(其中一部分)包含在几个不同的文档中。我希望能够选择解决方案是最后呈现,还是在问题表述之后立即呈现。

一种可能性是将每个问题和解决方案放在单独的文件中,然后使用一些命令

\includepart{filename.tex}{problem}

\includepart{filename.tex}{solution}

其中\includepart{file}{env}包括表示 \begin{env}和之间的所有内容\end{env}

有没有简单的方法可以做到这一点?有没有更好的解决方案?这似乎是一个常见问题,但我还没有找到可以做到这一点的方法。

答案1

exsheets提供从外部文件中选择性地包含问题及其各自的解决方案的方法。

假设我们有一个exercises.tex包含以下内容的外部文件:

% question `test1'
\begin{question}[ID=test1]
  First sample question
\end{question}
\begin{solution}
  First sample solution
\end{solution}

% question `test2'
\begin{question}[ID=test2]
  Second sample question
\end{question}
\begin{solution}
  Second sample solution
\end{solution}

% question `test3'
\begin{question}[ID=test3]
  Third sample question
\end{question}
\begin{solution}
  Third sample solution
\end{solution}

然后是主文件

\documentclass{article}
\usepackage{exsheets}
\begin{document}
\includequestions[IDs={test1,test3}]{exercises.tex}
\end{document}

给出

在此处输入图片描述

默认行为是不是打印解决方案。这可以通过设置选项来更改。以下文件

\documentclass{article}
\usepackage{exsheets}
\SetupExSheets{solution/print=true}
\begin{document}
\includequestions[exclude={test2}]{exercises.tex}
\end{document}

给出

在此处输入图片描述

这也表明你可以选择性地排除问题被印刷出来。

如果您想要分离练习和解决方案,也可以通过在\printsolutions您想要的地方调用它们来实现:

\documentclass{article}
\usepackage{exsheets}
\begin{document}
\section*{Exercises}
\includequestions[IDs={test2,test3}]{exercises.tex}
\section*{Solutions}
\printsolutions
\end{document}

给出

在此处输入图片描述

相关内容