如何隐藏代码块

Jca*_*o02 4 latex literate-programming

我正在一个.lhs文件中编写一个程序,其中包含Haskell中的代码(我正在指定这个,因为我希望它清楚地表明它不仅用于渲染pdf,而且还用于使用runhaskell或ghci执行).我正在使用如下的lstlisting呈现代码:

\begin{lstlisting}

> Haskell code here

\end{lstlisting}
Run Code Online (Sandbox Code Playgroud)

无论如何,代码本身需要一些我必须导入的模块,但我不希望导入出现在生成的pdf中.所以,我试图把代码放在没有lstlisting块的地方,如下所示:

> import X
> import Y
...
Run Code Online (Sandbox Code Playgroud)

但它不起作用,生成的PDF只会使这些行不像代码一样lstlisting.如何编写导入代码只是为了执行而不是在PDF本身中显示,我该怎么办?

Tik*_*vis 5

哈斯克尔维基指出定义像一个LaTeX宏:

\long\def\ignore#1{}
Run Code Online (Sandbox Code Playgroud)

您也可以定义这个\newcommand,对我来说,似乎更自然:

\newcommand{\ignore}[1]{}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都使用如下:

\ignore{

> import Foo.Bar (baz)

}
Run Code Online (Sandbox Code Playgroud)

`