考试问卷生成器?

考试问卷生成器?

我需要一些好的 LaTeX 文档生成器的推荐。

我有两个问题列表 - 我想要生成器 - 进行给定数量的考试调查,其中第一个问题来自第一个列表,第二个问题来自第二个列表。

我使用的是 Kubuntu 11.10,也是 Emacs 的粉丝 - 但解决方案越通用越好。最好 - 解决方案只需要安装 tex/latex。

当然,我可以用 Python 自己编写它 - 但我确信类似功能的东西已经以多种方式实现了 - 问题是 - 做什么更好/更容易 - 学习现有的包(我不知道) - 还是用 Python 从头开始​​编写它。

答案1

假设每个问题都是某种项目,您可以将问题放在输入文件中的一行上,并且它们在输入中有匹配的括号。您可以使用原语\read。它的工作原理是从流中读取行并将它们分配给某个命令。如果您只是想要一个问题列表,您可以使用此命令一次生成一个问题。代码可能看起来像这样:

\documentclass{article}
\begin{document}
  \newread\myread
  \openin\myread=text.dat
  \newcount\questcount
  \makeatletter
  \noindent
  \@whilesw\unless\ifeof\myread\fi{%
    {\endlinechar=-1 \global\readline\myread to \temp}%
    %This is to avoid an additional space at the end of each line
    \if\temp\par\else%
      %An extra line is added to the end of extra stream. 
      %According to TeX by topic it is equivallent with \par, so check for it.
      \advance\questcount by 1%
      \textbf{Question \number\questcount.} \temp\\%
    \fi%
  }
  \closein\myread
  \makeatother
\end{document}

而输入 ( text.dat) 可能看起来像这样:

What is the square root of 144?
Show that any simple graph with smallest degree greater or equal to 2 contains a cycle.

结果如下:

来自文件的问题

当然,您可以对第二个文件做类似的事情。

答案2

你也可以尝试exsheets 包。包括从文件中输入随机问题的可能性。不过,恐怕包含问题的文件需要进行一些格式化……

相关内容