将任何Literate Haskell渲染为PDF,HTML或类似内容

时间:2012-05-25 05:33:48

标签: haskell latex

如何将Literate Haskell文件转换为更容易的眼睛?这是当我尝试做一件显而易见的事情时会发生的事情:

$ latex Check.lhs
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
entering extended mode
(./Check.lhs
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, loaded.

! LaTeX Error: Environment code undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.7 \begin{code}

我不熟悉处理tex文件的常用命令。我可以使用什么简单,严肃的方式将任何.lhs文件转换为例如{{1}}文件。 PDF或HTML?

2 个答案:

答案 0 :(得分:12)

在这个空间你可以使用lhs2TeX,它有很多选项但可以在格式化方面给出相当不错的结果。它有相当广泛的文档,您可以在homepage上找到它。

使用示例(直接来自手册)将是

\documentclass{article}
%include polycode.fmt
\begin{document}
This is the famous ‘‘Hello world’’ example,
written in Haskell:
\begin{code}
main :: IO ()
main = putStrLn "Hello, world!"
\end{code}
\end{document}

\documentclass{article}\begin{document}\end{document}都是TeX命令,用于指示您想要的文档类型以及开始/结束的位置。

%include polycode.fmt实际上是TeX中的注释,但会向lhs2TeX指示处理.lhs文件时使用的格式。

您可以使用

编译示例
$ lhs2TeX -o HelloWorld.tex HelloWorld.lhs
$ pdflatex HelloWorld.tex

对于HTML,您还可以尝试Pandoc,它可以为您提供各种输出格式(pdf,html,rtf等)。

答案 1 :(得分:2)

您希望使用lhs2tex预处理文字文件。