5

如何将 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文件转换为例如 PDF 或 HTML 的简单、严肃的方式?

4

2 回答 2

12

在这个空间中,您可以使用 lhs2TeX,它有很多选项,但可以在格式化方面提供非常好的结果。它有相当广泛的文档,您可以在主页上找到。

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

\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}

和都是 TeX 命令,用于指示您想要什么样的文档,以及它在哪里开始/\documentclass{article}结束\begin{document}\end{document}

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

你可以编译这个例子

$ lhs2TeX -o HelloWorld.tex HelloWorld.lhs
$ pdflatex HelloWorld.tex

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

于 2012-05-25T05:44:01.037 回答
2

您想使用lhs2tex预处理您的识字文件。

于 2012-05-25T05:41:45.627 回答