SYNOPSIS
lhs2TeX [options] file
DESCRIPTION
This tool takes as its input a literate Haskell source file (Bird-style or LaTeX-style or even a combination thereof), and produces output, which, depending on the STYLE selected, can be either a LaTeX document or a stripped version of the code. The output is produced on stdout. Several directives are interpreted by lhs2TeX itself and can be used to customize the output further.
OPTIONS
There are two sorts of options for lhs2TeX. The first selects a STYLE which governs the overal mode of operation for lhs2TeX. Only one style may be selected:
- --poly
-
The poly style is an improvement of the older
math
style. It produces a LaTeX document, with the code blocks
formatted using a proportional font. The output is highly customizable
using formatting directives. Furthermore, the resulting code
respects some of the alignments made in the source file.
- --math
-
The math style is as
poly
style, but has less alignment capabilities. Tokens appearing in the
source file at a special column are all aligned in the
output. Furthermore, indentation is respected.
- --newcode
-
In the new code style, everything but code blocks is stripped from
the file. In addition, certain syntactic transformations can be
performed on the code using formatting directives. For example, if
the source code is annotated in certain positions to produce even
nicer results in
poly
style, one can use
newcode
style to remove these annotations.
- --code
-
In code style, all comments and specification code is stripped from
the file, so that only the code remains. Use this if you want to
produce a smaller version of your source file.
- --tt
-
Typewriter style prints code almost verbatim, using a monospaced font,
but formatting certain symbols (lambda abstraction, arrows ...) using
an extended character set. This style is default if no style is
explicitly selected, but this behaviour should not be relied upon.
The default style may be changed in future versions.
- --verb
-
Verbatim style prints code as-is, using a monospaced font. No
formatting whatsoever is applied to the code. However,
lhs2TeX
does not make use of a LaTeX verbatim environment, but rather
escapes special TeX constructs in the translation. This implies that
it is easier to pass the resulting TeX code to macros or use it
inside certain environments than it would be with a native
verbatim-environment.
The following options are considered are also considered as styles, but return only information about the program:
- -h, -?, --help
-
Returns a short usage message listing all the available options.
- -V, --version
-
Returns version information.
- --copying
-
Displays the complete GNU General Public License.
- --warranty
-
Displays the parts of the GPL than concerns warranty.
The remaining options modify the behaviour of the program.
- -Ppath, --path=path
-
Takes a (colon-separated) list
path
of paths that are used
as search path for files to be included. If the list starts
with a colon, then the list is appended to the current
search path. If the list ends with a colon, then the list
is prepended to the current search path. If there is neither
a colon at the beginning nor at the end of the list, then
the list replaces the current search path.
Environment variables can be used in the list of paths, if enclosed in curly braces, i.e., {VAR} expands to the current value of the environment variable VAR. If a path ends with a double slash //, then all subdirectories of that path are included in the search path. Note that this can significantly slow down lhs2TeX when looking for files.
The built-in default search path of lhs2TeX is
{HOME}/lhs2TeX// {HOME}/.lhs2TeX// {LHS2TEX}// /usr/local/share/lhs2tex// /usr/local/share/lhs2TeX// /usr/local/lib/lhs2tex// /usr/local/lib/lhs2TeX// /usr/share/lhs2tex// /usr/share/lhs2TeX// /usr/lib/lhs2tex// /usr/lib/lhs2TeX//
- -ifile, --include=file
-
Includes
file
before anything else. This option has the same effect
as an
%include file
directive at the beginning of the source file.
- -lequation, --let=equation
-
Assumes
equation
while processing the source file. This option has the
same effect as a
%let equation
directive at the beginning of the source file.
- -sflag, --set=flag
-
Sets
flag
to
True
at the beginning of the source file. This option has
the same effect as a
%let flag=True
at the beginning of the source file.
- -uflag, --unset=flag
-
Sets
flag
to
False
at the beginning of the source file. This option has
the same effect as a
%let flag=False
at the beginning of the source file.
VERSION
1.19
AUTHORS
Andres Loeh <polytable at andres-loeh dot de> wrote poly and newcode styles and is the current maintainer of the package.Ralf Hinze <ralf at informatik dot uni-bonn dot de> wrote the original lhs2TeX.