我有一组问题和解决方案,我希望将它们(其中一部分)包含在几个不同的文档中。我希望能够选择解决方案是最后呈现,还是在问题表述之后立即呈现。
一种可能性是将每个问题和解决方案放在单独的文件中,然后使用一些命令
\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}
给出