我正在建立一个数学谜题数据库,每个 TEX 文件收集一年内的谜题,例如 2017.tex 可能有 10 个谜题,每个谜题及其解决方案都有一个标签。
现在我要进行演讲,并希望不时从这些文件中选择问题和解决方案。我应该使用\input
和\chapter
命令吗?我不会在一个文件中使用所有谜题,也不想将每个谜题写成一个 TEX 文件。最好的方法是什么?
谢谢!!
答案1
我专门为这样的目的制作了一个包。它叫做exercisebank
。
假设您有2017.tex
,并且其中您应该有以下格式的谜题和解决方案。
%% 2017.tex
%% Heads up! \end{solution} and \end{problem} can't have spaces in front of it and needs it's own line
\begin{problem}
Puzzle 1 here
\end{problem}
\begin{solution}
Solution 1 here
\end{solution}
\begin{problem}
Puzzle 2 here
\end{problem}
\begin{solution}
Solution 2 here
\end{solution}
现在你可以做
\documentclass{article}
\usepackage{exercisebank}
% You might want no part problem headers (only Problem 1, Problem 2 etc), in that case: uncomment the line below:
% \exercisebanksetup{part problems=Off}
% To make a setup, you do this; \makeset{setupName}{puzzle-file}
% So to make a setup with all of the exercises from 2017:
\makeset{allof2017}{2017}
% Or you can cherry pick your favorites
\makeset{2017Favorites}{\select{2017}{1,2}}
\begin{document}
% Then choose which to build
\buildset{2017Favorites}
\end{document}
如果你最终使用它,请随时请求功能或报告错误这里
编辑:我现在遇到了一些其他可以做类似事情的软件包。所以我还应该提到例如xsim
也可能满足您的要求,并且目前可能更稳定。此外,您可以查看 exercise
和exam
CTAN 上的主题。