我需要一些好的 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 包。包括从文件中输入随机问题的可能性。不过,恐怕包含问题的文件需要进行一些格式化……