Man Linux: Main Page and Category List

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.15

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