请原谅我的英语不好。
我有一个关于 Latex 中“问答”系统的问题。我想创建一个包含 1000 多个问题/答案的测验,如下所示:
Question_1
Question_2
...
Question_n
Answer_1
Answer_2
...
Answer_n.
将它们全部放在一个文档中对我来说似乎不太实际。它会太长。此外,每个答案都属于一个问题,我想以任何方式将它们连接起来,这样它们就不会“丢失”,而且如果更改问题/答案,我也不必进行大量搜索。现在,我已经通过为每个问题和答案创建一个文本文件(答案可能长达一页)解决了这个问题。然后我只需按照我想要的顺序导入问题:
\include{Question1}
\include{Question22}
\include{Question7}
\include{Answer1}
\include{Answer22}
\include{Answer7}.
但是这样一来,我有太多文件,如果我想更改所有问题中的某项内容,我必须打开每个文件。texmaker 中的搜索功能仅在一个文件中(或 4 个文件,每个文件有 250 个问题)会快得多。另一件事是,我想在一个文档中拥有 Q1-Q400,在另一个文档中拥有 Q200-Q600 - 我想在不同的文档中使用问题,但这并不重要,如果不可能也没关系。每个问题应该只存在一次。
所以,我需要的是:我想要最后定义顺序,问题的答案应该很容易找到,并且位于准备好的文档中的正确位置,就像真正需要的文件一样多。
将文件数量减半的一个想法是在文件中有一个问题+答案,如下所示:
\include{Quiz1}{just question} (begin at "\beginquestion" end at "\endquestion"
...
\include{Quiz1}{just answer} (begin at "\beginanswer" end at "\endanswer")
或者更好的是,一个包含 30 个问题 + 30 个答案的文件,每个问题都有一个唯一的名称,因此可以通过名称进行输入:
文本_文档1
- 问题蓝
- 答案蓝
- 问题黄
- 答案黄色
- 问题绿
- 答案绿色
准备好乳胶文档
- \include{Text_document1}{QuestionGreen}
- \include{Text_document1}{QuestionBlue}
- \include{Text_document1}{AnswerGreen}
- \include{Text_document1}{AnswerBlue}
在准备好的文件中,不应看到唯一的名称,而是应列举 Q/A。
非常感谢你的帮助!
编辑:感谢您的想法!我找到了 exsol 包,因为我已经在使用练习和解决方案,所以这个包是我问题的一个可能的解决方案。有了这个包,我可以在一个文件中有多个 Q+A,先打印所有 Q,然后打印 A。但我无法对它们进行排序,因此我必须为每对 Q+A 创建一个文件。或者有人有解决方案吗?
答案1
这不是一个解决方案,而是一个开始。我对 foreach 部分了解不足。所以也许有人可以帮你/我解决这一部分。
我的想法:为每个问题制作一个 quiz1.tex 文件,如下所示:
\question This is my question
\begin{solution}
This is my answer
\end{solution}
主文件如下:
\documentclass[11pt,a4paper,addpoints]{exam}
\usepackage{pgf,tikz}
\printanswers
\noprintanswers
\begin{document}
\begin{questions}
%%%% \foreach part works only in \tikzpicture environment :-(
\foreach \x in {1,2,...,100} \input{quiz\x}
\end{questions}
\end{document}