NAME¶
lhs2TeX - a literate Haskell to (La)TeX code translator
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.17
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.
SEE ALSO¶
http://www.cs.uu.nl/~andres/lhs2tex, the
lhs2TeX homepage
Guide2.pdf, the manual