在生成的PDF中,将代码结果放置在代码正下方。Haskell。

10

有没有办法在.lhs文件中执行代码,然后将结果放在代码下方的PDF文件中呢?

例如:

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

你是指自动评估那些不是声明的表达式,然后将结果粘贴回源代码中,在转换为PDF之前进行操作,有点类似于Mathematica的功能吗? - AndrewC
是的,就像那样。这是为了展示函数如何工作的示例,并且我希望它在任何人运行代码时都能被执行,并且在任何人查看PDF时也能被显示。 - Jcao02
当然,你需要更多的控制输出内容,或者你不会使用任何不可打印的定义吗?为什么不使用例如HaTeX,也许连同适当的准引用器一起避免代码重复。 - leftaroundabout
1个回答

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 源中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接