将结果的代码放在生成PDF的代码正下方。哈斯克尔

时间:2013-05-13 02:09:02

标签: haskell literate-programming

有没有办法在.lhs文件中执行代码并将结果放在代码本身的正下方?

例如:

[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]

1 个答案:

答案 0 :(得分:11)

如果您使用的是LaTeX,则可以使用lhs2TeX。这是一个简单的示例文档:

\documentclass{article}

%include polycode.fmt
%options ghci

\begin{document}

< [1,2,3] ++ [4,5,6]

This evaluates to \eval{[1,2,3] ++ [4,5,6]}.

> x = [1 .. 6]

And this evaluates to \eval{x}, too.

\end{document}

这将在背景中将源文件作为输入运行GHCi。 因此,您可以在当前(有文化的Haskell)模块的上下文中使用\eval来计算表达式, 并且他们的结果将被拼接到生成的.tex来源中。