next up previous contents
Next: Ln-Lz Up: Linux Software Encyclopedia Previous: Kn-Kz   Contents

La-Lm

Last checked or modified: Aug. 23, 2000

[home / linux ]


CATEGORIES | NEW
Aa-Am | An-Az | Ba-Bm | Bn-Bz | Ca-Cm | Cn-Cz | Da-Dm | Dn-Dz | Ea-Em | En-Ez | Fa-Fm | Fn-Fz | Ga-Gm | Gn-Gz | Ha-Hm | Hn-Hz | Ia-Im | In-Iz | Ja-Jm | Jn-Jz | Ka-Km | Kn-Kz | La-Lm | Ln-Lz | Ma-Mm | Mn-Mz | Na-Nm | Nn-Nz | Oa-Om | On-Oz | Pa-Pm | Pn-Pz | Qa-Qm | Qn-Qz | Ra-Rm | Rn-Rz | Sa-Sm | Sn-Sz | Ta-Tm | Tn-Tz | Ua-Um | Un-Uz | Va-Vm | Vn-Vz | Wa-Wm | Wn-Wz | Xa-Xm | Xn-Xz | Ya-Ym | Yn-Yz | Za-Zm | Zn-Zz |


laboratory and measurements
The Linux Lab Project is always a good place to browse for this type of software. Software for taking and processing laboratory measurements includes:
  • CAMAC-Linux, a package of CAMAC controller device drivers;
  • can4linux, a Linux driver providing a common API for a full-featured CAN development environment;
  • COMEDI, a collection of hardware drivers, a common kernel interface, and a support library for data acquisition hardware;
  • CompactNET, Open Source Linux drivers for a multiprocessing system for developing and running applications in the communications and automation industries;
  • EMC, which implements real-time control of machine tools, robots and coordinate measuring machines;
  • LDDK, a toolkit for the development of hardware drivers for Linux systems;
  • Linux-GPIB, a driver and user interface package for a wide range of GPIB cards;
  • RCS, an archive of code, scripts, makefiles and documentation for developing software to be used in real-time control systems;
  • Real-Time Linux, a Linux extension that allows the handling of time-critical tasks;
  • SampLin, scientific data acquisition, visualization, and process control software;
  • sjyLX, code to operate the Jorway 411S Highway Driver and 73A Crate Controller CAMAC devices;
  • vmehb, a loadable device driver for accessing VME bus spaces;
  • XMAD, a GUI program for data acquisition that uses Real-Time Linux

Lab-3D
An X11 3-D laboratory developed for testing and comparing various graphics algorithms, especially hidden surfaces/lines removing algorithms, and data structures. The features include the creation of 3-D scenes consisting of basic geometric objects, saving and loading created scenes, rotation of scenes, rudimentary animation, the choice of several hidden lines/surfaces algorithms, many adjustable parameters (e.g. rotation angle, scale size, projection type, etc.), choice of output to screen, pixmap, image or file, extensibility for the implementation of new graphics algorithms, and more. The source code is available and should compile on generic UNIX/X11 platforms, e.g. Linux boxes.

[ftp://dec50.vm.stuba.sk/pub/csgrp/packages/Lab-3D/]

LAM
The Local Area Multicomputer is an MPI programming environment and development system for a message-passing parallel machine constituted with heterogeneous UNIX computers on a network. With LAM, a dedicated cluster or an existing network computing infrastructure can act as one parallel computer solving one compute-intensive problem. LAM runs on each computer as a single UNIX daemon uniquely structured as a nano-kernel and hand-threaded virtual process. The nano-kernel provides simple message passing and rendezvous service to local processes. Some of the processes in the daemon form a network communication subsystem which transfers messages to and from other LAM daemons on other nodes, with the inter-node packet exchange proceeding via a scalable UDP-based protocol. This network subsystem procides features like packetization and buffering to the basic synchronization.

The features of LAM include:

  • a full MPI implementation in which compliant applications are source code portable between LAM and any other MPI implementation;
  • capability of use on heterogeneous networks;
  • extensive process/message debugging;
  • dynamic MPI process spawning in which a group of MPI processes can collectively create a group of new processes;
  • dynamic LAM nodes which can be added or deleted during execution without tragic consequences;
  • a guaranteed envelope resources (GER) property which guarantees that a minimum amount of envelope buffering will be available to each process pair and that the producer of messages which overflows a resource will be throttled or cited with an error as is necessary;
  • fault tolerance in which a removed or crashed node is detected by LAM and handled in a manner to prevent an overall program crash; and
  • fast client-to-client communication.

A source code distribution of LAM is available. The current (5/97) supports compilation on DEC OSF/1, HP-UX, IBM AIX, Linux Intel, SGI IRIX, and Sun SunOS and Solaris platforms. Documentation includes an overview, an installation guide, a primer on using MPI with LAM, and several technical reports, all of which are available in PostScript format. Available ancillary software includes: XMPI, a GUI for running and debugging MPI programs; XMTV, a graphics client/server package which emulates a frame buffer; and XLED, a client/server package which emulates hardware LEDs.

[http://www.mpi.nd.edu/lam/]

LAMARC
A package of programs for computing population parameters such as population size, growth rate and migration rates. The programs use likelihoods for samples of data (e.g. sequences, microsatellites, and electrophoretic polymorphisms) from populations and approximate the summation of likelihood over all possible gene geneaologies that could explain the observed sample. All the methods use coalescence theory to estimate population parameters. Random geneaologies of sequences are sampled using a Metropolis Monte Carlo technique to concentrate the sampling in regions that contribute to the final result.

The programs in the LAMARC package include:

  • Coalesce, which estimates the effective population size of a single constant population using nonrecombining sequences;
  • Fluctuate, which estimates the effective population size and an exponential growth rate of a single growing population using nonrecombining sequences;
  • Migrate, which estimates the effective population sizes and migration rates of n constant population using nonrecombining sequences, microsatellite data, or enzyme electrophoretic data; and
  • Recombine, which estimates the effective population size and per-site recombination rate of a single constant-size population.

Source code distributions of all components are available. All are written in C and can be compiled using standard compilers. Documentation in the form of manuals and/or technical reports is available for each component.

[http://evolution.genetics.washington.edu/lamarc.html]

Lambda Library
A C++ template library providing various aspects of functional programming including:
  • Lambda functions;
  • function argument binding; and
  • tuple types.

[http://lambda.cs.utu.fi/]

lambda Prolog
A logic programming language which is an extension of standard Prolog where terms are simply typed lambda-terms. This language can be used for standard Prolog applications and is especially useful for those in which scoping of variables is important, e.g. for theorem proving, implementation of type systems, formal transformation of structured programs, etc. Language features include polymorphic typing, sound unification, implicational and universal quantified queries, modular programming, abstract data types, higher-order programming, and simply-typed and unification of lambda-terms.

Implementations of lambda Prolog are: the Terzo interpreter (implemented in SML); the Prolog/Mali system which includes a C translator, a linker, libraries, and documentation; and the LP-SML, another implementation in SML. Linux binaries are available for the first two implementations, and the third requires an implementation of SML to work.

[http://www.cse.psu.edu/~dale/lProlog/]

LAME
LAME Ain't an MP3 Encoder is, as the name sort of implies, a patch against the dist10 ISO demonstration source available under the GPL. This patch will not compile without the ISO source, which is also freely available but only for noncommercial use.

[http://www.sulaco.org/mp3/]

dist10
The ISO MP3 encoder demonstration source needed to compile LAME.

[ftp://ftp.tnt.uni-hannover.de/pub/MPEG/audio/mpeg2/software/technical_report/]

GOGO
An MP3 encoder that is basically LAME version 3.29beta optimized for x86 chips.

[http://homepage1.nifty.com/herumi/gogo_e.html]

LameTeX
A package to create and format unusual PostScript effects to embed in TeX documents.

[http://sunsite.unc.edu/pub/Linux/apps/tex/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/tex/]

la_mml
A LaTeX to FrameMaker MIF translator.

[http://www.cs.stir.ac.uk/~kjt/software/framemaker/]

LANCELOT
A Fortran 77 package for solving large-scale nonlinearly constrained optimization problems. The areas covered include unconstrained and constrained optimization problems, the solution of systems of nonlinear equations, and nonlinear least-squares problems. Complete documentation is available in a published manual, although enough information to use the package is available in the distribution package.

[http://www.cse.clrc.ac.uk/Activity/LANCELOT]

LANCZOS
A package of Fortran programs for finding eigenvalues and eigenvectors (as well as singualar values) of real symmetric and Hermitian matrices using Lanczos tridiagonalization with and without reorthogonalization. The main programs in the package include:
  • HLEVAL, for computing distinct eigenvalues of a Hermitian matrix;
  • HLEVEC, for computing the eigenvectors corresponding to the eigenvalues found by HLEVAL;
  • LEVAL, for computing distinct eigenvalues of a real symmetric matrix;
  • LEVAC, for computing the eigenvectors corresponding to the eigenvalues found by LEVAL;
  • LSVAL, for computing distinct singular values of a real, rectangular matrix;
  • LSVEC, for computing the singular vectors corresponding to the singular values found by LSVAL;
and several utility and linear algebra routines used by most of the other routines.

A source code distribution of the LANCZOS codes is available. All codes are written in Fortran 77 and documented in a pair of user's guides available in ASCII format. See Cullum et al. (1983).

[http://www.netlib.org/lanczos/index.html]

LANZ
A software package for solving large, sparse, symmetric generalized eigenvalue problems. LANZ solves the eigenproblem Kx=$\lambda$Mx where K is symmetric positive definite and M is positive semi-definite. It is also capable of solving the problem Kx=-$\lambda$Mx where M can be indefinite. It can find either all the eigenvalues and eigenvectors in a specified range or those closest to some specified value. LANZ was developed to run efficiently on a range of architectures, including vector and parallel computers. It uses a Lanczos algorithm with spectral transformations. It also uses the partial reorthogonalization algorithm to maintain semi-orthogonality among the Lanczos vectors as well as a dynamic shifting algorithm to accelerate convergence to desired eigenvalues and eigenvectors.

A source code version of LANZ is available. It is written mostly in Fortran except for some machine dependent programs which are written in C. It is documented in a user's manual in LaTeX format as well as in several ASCII files scattered throughout the distribution. See Simon (1984).

[http://www.netlib.org/lanz/index.html]

LAPACK
The Linear Algebra PACKage provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems, eigenvalue problems, and singular value problems. Also provided are the associated matrix factorizations (e.g. LU, Cholesky, QR, SVD, Schur, generalized Schur, etc.) and related computations such as Schur factorization reordering and estimating condition numbers. LAPACK can handle dense and banded but not sparse matrices, and provides routines for real and complex matrices as well as for single and double precision calculations. It consists of driver routines for handling standard types of problems, computational routines for performing distinct computational tasks, and auxiliary routines for performing various subtasks or low-level computations. The higher level routines typically call a sequence of the lower level routines, i.e. the driver routines consist of several calls to computational routines.

LAPACK was originally designed to extend the EISPACK and LINPACK libraries to run efficiently on shared-memory vector and parallel processors. This was accomplished by reorganizing the algorithms to use block matrix operations, e.g. matrix multiplication, in the innermost loops. Block operations can then be optimized for each architecture for maximum performance. The routines are written such that a maximal amount of computation is performed via calls to the BLAS subprograms. While LINPACK and EISPACK were based on the Level 1 BLAS, LAPACK exploits the Level 3 BLAS which provides specifications for subprograms that do various types of matrix multiplication and the solution of triangular systems with multiple right-hand sides.

Version 2.0 of LAPACK was released in late 1994 and included several new routines as well as extensions of the functionality of existing routines. The new routines included those for:

  • the generalized nonsymmetric eigenproblem,
  • the generalized definite banded eigenproblem,
  • least squares with linear constraints,
  • the Gauss-Markov linear model problem,
  • the generalized (quotient) singular value decomposition,
  • faster routines for symmetric eigenproblems and bidiagonal SVD, and
  • improved linear system drivers.
Numerous bug fixes were also performed as well as the translation of the original Fortran routines into other languages.

Distributions of LAPACK in Fortran are available for single and double reals as well as single and double precision complex numbers. Other LAPACK versions include: LAPACK90, a Fortran 90 interface; LAPACK++, a C++ version; CLAPACK, a C version; and ScaLAPACK, an implementation of some of the core routines across MPI, PVM, and some massively parallel machines. In addition to the source version indicated there is also a Linux ELF shared library LAPACK binary available for Linux Intel platforms. The library and its development are documented in a series of technical reports available in PostScript format as well as in Anderson et al. (1995).

[http://netlib2.cs.utk.edu/lapack/index.html]
[http://sunsite.unc.edu/pub/Linux/devel/lang/fortran/]
[http://www.fysik.dtu.dk/~schiotz/linux/lapack-linux.html]

LAPACK90
A Fortran 90 interface to the LAPACK software package. All LAPACK driver routines and some computational routines have both LAPACK90 and LAPACK77 interfaces, with the remaining computational routines having only LAPACK77 interfaces. Interface modules are available to use both the LAPACK90 and LAPACK77 routines from Fortran 90, i.e. F90_LAPACK and F77_LAPACK. A technical report containing further details about using LAPACK with Fortran 90 is available in PostScript format.

[http://www.netlib.org/lapack90/lapack90.html]

LAPACK++
The Linear Algebra PACkage in C++ is a software library for numerical linear algebra that solves systems of linear equations and eigenvalue problems on high performance computer architectures. The present version (1.0 as of 3/96) doesn't include all of the the capabilities of the original F77 LAPACK, although it is planned for future versions to do so. The source code is available as is a user's guide in PostScript format. LAPACK++ is currently (6/97) being superseded by the Template Numerical Toolkit which uses new features of the ANSI C++ specification and a new design. See Dongarra et al. (1993).

[http://math.nist.gov/lapack++]
[http://www.netlib.org/c++/lapack++/]

Larch/C++
A format specification language tailored to C++ whose basic use is the formal specification of the behavior of C++ program modules. Larch/C++ specifies how to use such modules from within a C++ program and as such is not designed for specifying the behavior of an entire program. The main use of it is for the precise, unambiguous documentation of the behavior of C++ program modules, e.g. functions, classes, etc. A Larch/C++ specification can be a completely format contract about an interface and its behavior, recording all the C++ details about the interface such as the parameter mechanisms and whether the function is virtual, const, etc. It can be used either before coding or as documentation of the code. The goals of the Larch/C++ project are to have a syntax that is intuitive for C++ programmers, to aid the specification of modules that use common C++ idioms (e.g. subtype polymorphism, virtual functions, mutation, etc.), to promote inheritance of specifications, and to allow the specification of several interfaces for each class, i.e. the public, protected, and private interfaces.

A source code distribution of Larch/C++ is available. It can be installed on generic UNIX flavors using commonly available tools. The documentation available includes a reference manual (over 300 pages long in PostScript format), a tutorial, and several technical papers.

[http://www.cs.iastate.edu/~leavens/larchc++.html]

LARKIN
A package for the simulation of large systems arising in chemical reaction kinetics. LARKIN provides an interactive method for setting up the appropriate equations with rate constants, solving the resulting system of equations, and outputting the results numerically or graphically. The input can be any number of reversible or irreversible elementary chemical equations involving any number of species, with the input being in the form of familiar chemical nomenclature rather than in Fortran code. LARKIN was designed to solve moderate to large problems efficiently, and to this end it employs a number of techniques such as string handling, hash techniques, sparse matrix solution algorithms, specially adapted scaling devices for error tests, and an efficient stiff integrator.

The LARKIN package consists of four major subsystems: an interactive EDITOR which creates and modifies the chemical input file; a COMPILER which reads the chemical input file and creates a file containing information about elements, species, and reaction mechanisms for a simulation; a SIMULATION system which reads the file created by the COMPILER and solves the governing system of stiff ODEs; and an interactive OUTPUT system which writes requested output to a file or a printer.

A source code distribution of LARKIN is available. It is written in Fortran and documented in an ASCII user's guide as well as in comment statements within the source codes. This is part of CodeLib.

[ftp://elib.zib.de/pub/elib/codelib/larkin_3.1/]

LASO
A set of Fortran routines for computing either a few eigenvalues (at either end of the spectrum) of a large sparse symmetric matrix or all eigenvalues outside an excluded interval using a block LAnczos method with Selective Orthogonalization. Single and double precision versions of all routines are available. The use of LASO is documented in an ASCII file.

[http://www.netlib.org/laso/index.html]

LASPACK
A package for solving large sparse systems of linear equations like those which arise from the discretization of PDEs. It contains classical as well as selected state-of-the-art algorithms which are commonly used for large sparse systems such as CG-like methods for non-symmetric systems and multilevel methods such as multigrid and conjugate gradient method preconditioned by multigrid and BPX preconditioners.

The LASPACK library consists of several modules including:

  • VECTOR, MATRIX and QMATRIX, the main components of the library which implement the basic objects of linear algebtra as data types with their definitions consisting of data structures as well as the corresponding management routines;
  • OPERATS, containing the basic operations of linear algebra;
  • FACTOR, procedures for the incomplete factorization of quadratic matrices;
  • ITERSOLVE, containing classical iterative, semi-iterative, conjugate gradient, and non-symmetric solvers;
  • MLSOLV, containing multilevel solvers;
  • PRECOND, containing the most common preconditioners;
  • EIGENVAL, containing procedures for the estimation of extremal eigenvalues;
  • RTC, which controls the convergence of iterative solutions; and
  • ERRHANDL, which supports error handling.
A source code distribution of LASPACK is available. It is written in ANSI C and has been successfully installed on several platforms including Linux Intel.

[http://www.tu-freiberg.de/urz/soft/LASPACK/laspack.html]

LASSPTools
A collection of UNIX utilities for numerical analysis and graphics. It is a set of more than 35 programs for assisting researchers with number crunching and dynamical display of graphics similarly to the way standard UNIX utilities assist with text processing. The functionality of the utilities is broadly grouped into four categories: graphics and animation, analog input devices, numerical analysis, and data filtering. The graphics and animation utilities include:
  • DynamicLattice, an X Window program to represent sites on a 2-D rectangular lattice based on their values;
  • PlotAtoms, an X Window program which plots x-y input in the form of spheres, i.e. atoms;
  • PlotM, a X Window program which plots atoms in 3-D and animates them;
  • SurfPlot, which produces surface plots in 3-D;
  • circledraw, an X Window program which reads circle specifications and draws them in color;
  • matrix2X, which reads a set of matrices and produces a density plot;
  • meter, an analog style output device;
  • polydraw, an X Window program which reads polygon specifications and plots and draws them in color;
  • polydraw3D, an X Window program which reads in one frame polygons in 3-D coordinates and can rotate and do simulated perspectives of that frame;
  • xplot, a simple 2-D plotting utility;
  • lattice2ps, a filter to produce a PostScript file of shaded elements in a 2-D square lattice base on their values;
  • poly2ps, a filter to produce a PostScript file of drawn and shaded polygons;
  • axis, which plots pairs of numbers and connects them with straight lines;
  • movieaxis, which allows multiple, movie-style plots to be generated with axis;
  • branch, a datastream splitter;
  • inter, which replaces the cryptic axis commands with real words; and
  • laser, a filter for converting plot5 commands to PostScript and send them to a printer.

The analog input device utilities in LASSPTools are:

  • rotate, an interactive data entry device which displays a rotation ball with axes and allows a user to pick a rotation matrix;
  • slider, an interactive data entry device which displays a number of slider widgets;
  • items, a data entry window; and
  • XYinput, an interactive data entry device that displays a coordinate plane and an accompanying options window.
The numerical analysis filters include:
  • DI, a linear algebra program for calculating determinants and inverses;
  • Random, a random number generator;
  • Det, a linear algebra program for calculating determinants;
  • Eigen, a program for calculating eigenvalues, eigenvectors, or both;
  • Fourier, a program for calculating Fourier transforms and their inverses;
  • Invert, a linear algebra program for calculating inverses;
  • MMult, a program for multiplying two matrices;
  • MSolve, a program for solving linear equations of the form Ax=B for x; and
  • fit_it, which performs nonlinear least squares parameter fitting.

The data filtering programs in LASSPTools are:

  • 3D-2D, a filter to convert lines with triples to lines with pairs;
  • ConvertFrames, which converts frames of ASCII triples to and from binary;
  • ComplexDoubleMatrices, which converts ASCII double precision complex matrices to and from binary;
  • ComplexFloatMatrices, which converts ASCII floating point complex matrices to and from binary;
  • ConvertMatrices, which uses get_matrix and put_matrix routines to convert ASCII to and from binary;
  • ComplexDoubleVectors, which converts complex double precision vectors to and from binary;
  • ComplexFloatVectors, which converts complex floating point vectors to and from binary;
  • ConvertVectors, which converts integer vectors to and from binary;
  • RotateFile, a filter for rotating data triples from a file;
  • RotateStream, a filter for rotating data triples from a file, pipe, or terminal session;
  • blend, which inserts a smooth curve through data points;
  • histogram, which reads numbers and produces a file suitable for making a histogram;
  • rotate_echo, which helps RotateStream do non-blocking I/O;
  • rotate_aid, which helps RotateStream do non-blocking I/O;
  • slab, a filter for passing slices of data which uses a slider to change the size of the slab;
  • sortit, a filter which sorts data triples in terms of the values in the third column;
  • thin, a filter that reduces the amount of data going down a pipeline; and
  • translate, a filter for translating data sets which takes triples and adds specified amounts to each coordinate.

The source code is available along with binaries for Linux, IBM/AUX, PowerPC, and SUN platforms. Each utility is documented, in the grand UNIX tradition, in a separate man page.

[http://www.lassp.cornell.edu/LASSPTools/LASSPTools.html]

LastWave
A signal processing package with emphasis on wavelet algorithms. It was designed to allow anyone with a basic knowledge of signal processing to experiment with wavelets and wavelet-like techniques. It includes a powerful command-line language which includes a high-level object-oriented graphics language allowing the display of simple and complex objects. Several other packages are contained in the distribution along with the core and the command language including:
  • wtrans1d, a basic wavelet transform package;
  • extrema1d, a wavelet transform extrema package;
  • wtmm1d, an implementation of wavelet transform modulus maxima fractal analysis;
  • mpp, an implementation of matching pursuit; and
  • image, an image creation and display package.
A source code distribution is available. It is written in C and with the basic X11 library. An extensive user's manual is available in PostScript format.

[http://www.cmap.polytechnique.fr/~bacry/LastWave/index.html]

LaTeX
A set of macros for the TeX typesetting system that make it quicker and easier to typeset specific document styles like letters, reports, books, etc. Quite a few scientific journals have created and made available LaTeX document styles for their specific formatting needs, making it reasonably easy for authors to prepare camera-ready copy. More information can be found at

Online LaTeX documentation includes:

The Oct. 1995 issue of the Linux Journal contains an introduction to LaTeX by Kim Johnson. LaTeX is documented in several books including Buerger (1989), Diller (1998), Goossens et al. (1994), Goossens et al. (1997), Goossens and Rahtz (1999), Grätzer (1993), Grätzer (1995), Griffiths and Higham (1997), Gurari (1994a), Hahn (1993), Hoenig (1997), Kopka and Daly (1995), Kopka and Daly (1999), Lamport (1994), Sawyer and Krantz (1995) and Shultis (1994)

There are many ancillary packages available for LaTeX which serve to extend its basic functionality. These are collected into various categories at the CTAN site. The tools bundle contains packages written and supported by members of the LaTeX3 Project Team and includes: afterpage, array, bibtex, bm, dcolumn, delarray, enumerate, fileerr, fontsmpl, ftnright, hhline, indentfirst, layout, longtable, multicol, rawfonts, showkeys, somedefs, tabularx, theorem, varioref, verbatim, xr, and xspace. Other LaTeX packages not written by the Project Team but still supported by their authors include: achemso, acronym, addindex, aiaa, algorithm, amslatex, babel, beton, booktabs, calc, camel, caption, changebar, chemsym, custom-bib, deleq, envlab, euler, float, fncychap, footbib, latexmk, mslapa, natbib, nomenclature, PSfrag, supertabular, typehtml, vector, vrsion, wasysym, and yhmath. Other related software includes rtflatex, texi2html, texi2roff, TeXPerfect, tr2latex, and windex.

achemso
A LaTeX package which formats BibTeX output in accordance with the requirements of most journals of the American Chemical Society as well as providing a LaTeX interface to be used with the BibTeX style files.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/achemso/]

acronym
A LaTeX package which provides an environment for keeping a list of acronyms somewhere in a document, usually at the end. It also ensures that all acronyms used in the text are spelled out in full at least once.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/acronym/]

addindex
A program which inserts LaTeX index commands into a document source file. A list of words and index entries is input to the program and it indexes every word from the list that occurs in a document.

[ftp://ctan.tug.org/tex-archive/support/addindex/]

afterpage
A LaTeX package which implements a afterpage command that causes the commands specified in its argument to be expanded after the current page is output. This is useful for: flushing out all unprocessed floats without making the current page end prematurely as can happen with the clearpage command; using in combination with the optional float argument [H] to cause figures to be printed near rather than strictly ``here''; and providing a floating version of the longtable environment.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

aiaa
A LaTeX package for producing AIAA-conformant conference papers, journal submittals, and page-proof journal articles. It also contains a bibliographic style sheet for use with BibTeX.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/aiaa/]

algorithm
A LaTeX package which provides two environments: algorithmic, for describing algorithms; and algorithm, which provides a float wrapper for algorithms. The former provides a number of commands for typesetting popular algorithmic constructs as was as an option for line numbering. The constructs available include if-then-else, for loops, while loops, repeat-until loops, infinite loops, pre- and post-conditions, and comments. These can be arbitrarily nested to describe complex algorithms. The algorithm environment provides all of the numbering and placement capabilities of the float environment for algorithms rather than figures or tables.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/algorithms/]

amslatex
A collection of various LaTeX extensions for providing sophisticated mathematical typesetting.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/amslatex/]

array
A LaTeX package which is an extended implementation of the array and tabular environments. The major features of this package include further options for formatting columns and that fact that some fragile LaTeX commands no longer have to be protected within the array environment.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

axodraw
A set of drawing primitives for use in LaTeX which can be used for the drawing of Feynman diagrams, flow charts, and simple graphics. It uses PostScript for its drawing commands and thus works only in combination with dvips.

[ftp://ctan.tug.org/tex-archive/graphics/axodraw/]

babel
A LaTeX package which provides a set of option files that allow the selection of different languages in which to typeset a document. The capabilities include: the use of multiple languages simultaneously, the dynamic definition of hyphen patterns via an external file, and translations for the names of document elements and commands for facilitating text input for over twenty different languages.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/babel/]

beton
A LaTeX package for facilitating the use of the Concrete fonts in a document. These fonts are those designed by Donald Knuth for his book ``Concrete Mathematics.'' The mathematics fonts used in the same book are accessible via the related euler package.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/beton/]

bibtopic
A style file that allows for bibliographic references to be taken from several *.bib files and written to separate bibliographies within a LaTeX document.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/bibtopic/]

bm
A LaTeX package which defines commands to access bold math symbols.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

booktabs
A package which is a style guide for authors of scientific papers and books as regards table layout. It allows the author to produce additional space above and below rules and rules of varying thickness. It is also distinguished by a lack of vertical rules and double rules. This enforces some fairly simple rules for laying out tables in LaTeX that are trickier to accomplish in the standard tabular environment.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/booktabs/]

calc
A LaTeX package which provides proper infix notation arithmetic. This allows expressions rather than just numbers to be used in such commands as setcounter, addtocounter, setlength, and addtolength.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

camel
A citation engine for the LaTeX system intended to supersede the BibTeX package. It is intended to provide an intuitively straightforward syntax for entering citations which can be applied to all citation styles, including those unsupported by other citation managers.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/camel/]

caption
A LaTeX package which provides several ways to customize captions in floating environments such as figure and table. The customization options include providing captions with hanging indentations, centering all lines in a caption, centering the last line in a caption, setting the font size and attributes, and supporting ruled floats.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/caption/]

changebar
A LaTeX package which enables the inclusion into documents of vertical bars indicating where changes have been made compared to previous versions.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/changebar/]

chemsym
A LaTeX package which makes it easier to correctly typeset chemical symbols. A command is defined for each element of the periodic table, deuterium, the methyl, ethyl, and butyl groups, and for the OH, COOH, and CH groups.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/chemsym/]

custom-bib
A LaTeX package for generating customized BibTeX bibliography styles from a generic file. A user interactively chooses the desired bibliography characteristics from a series of menus, after which a customized *.bst file is created by the program. Over 50 different *.bst files were used to provide the available range of choices.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/custom-bib/]

dcolumn
A LaTeX package which defines a system for defining columns of entries in an array or tabular environment which are to be aligned on a decimal point.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

delarray
A LaTeX package which provides commands for implicitly specifying large left and right delimiters (or a single left delimiter for case-like environments).

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

deleq
A LaTeX package for the partial numbering of equations in documents, e.g. 2a, 2b, etc. It can produce partial equation numbers intermixed with ordinary equation numbers also in an eqnarray-like environment, with the intermixing occurring within one environment. References to a partially numbered equation can be both the complete number (3b) or only the main number (3). The package also provides commands for putting commentary text in an eqnarray environment.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/deleq/]

enumerate
A LaTeX package which provides the enumerate list environment with an optional argument which determines the style in which the counter is printed. This allows counters to be explicitly specified for each element in a list.

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

EnvLab
A LaTeX package providing a comprehensive and easily customizable system for creating mailing envelopes and labels including barcodes and address formatting according to U.S. Postal Service rules. The features include:
  • typesetting mailing labels or envelopes on a number of pre-defined label sheets or envelopes;
  • configurability for any customized label or envelope size;
  • inclusion of logos in the return address;
  • interaction with mail merging packages; and
  • no special fonts required for printing addresses and barcodes.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/envlab/]

euler
A LaTeX package which facilitates the use of the AMS Euler font family in documents. These fonts were designed by Hermann Zapf to ``capture the flavor of mathematics as it might be written by a mathematician with excellent handwriting'' and used in Donald Knuth's text ``Concrete Mathematics.'' The Concrete text fonts used in the same book are accessible via the beton package.

[ftp://ctan.tug.org/tex-archive/macros/latex/contrib/supported/euler/]

fileerr
A LaTeX package which provides a graceful exit out of TeX if a file is not found and one gets stuck in an error loop. (This is only a problem if the basic TeX package notices the missing file since the LaTeX package provides an exit mechanism.)

[ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/]

float
A LaTeX package for improving the interface for defining floating objects such as figures and tables. It adds the concept of a float style which governs the appearance of floats, and allows new kinds of floats to be defined using a newfloat command analogous to the newtheorem command.

[ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/supported/float/]

fncychap
A LaTeX package which offers six alternative styles for creating chapter headings and contents listing.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/fncychap/]

fontsmpl
A LaTeX package which produces a test of a font family. It prints a sample text, a table of accents, and a sample of various symbol commands.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

footbib
A LaTeX package which makes bibliographic references appear as footnotes. It defines a command footcite similar to cite which causes references to appear at the bottom of pages. This bibliography can exist simultaneously with the the standard bibliography in the same document.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/footbib/]

ftnright
A LaTeX package for placing footnotes at the bottom of pages with multiple text columns. This assembles all of the footnotes on a page and places them together at the bottom of the rightmost column, sets the footnotes in a smaller type, and places the footnotes markers at the basline instead of raising them as superscripts.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

hhline
A LaTeX package which produces a single or double horizontal line via a single command hhline which replaces hline. The new command takes as an argument a list of tokens that specify the type, number, and width of the horizontal line(s) desired.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

latexmk
A specialized make utility written in Perl which completely automates the process of generating a LaTeX document. Given the source files for a document, it issues the appropriate sequence of commands to generate a DVI, PostScript, or hardcopy version of a document.

[http://tug2.cs.umb.edu/ctan/tex-archive/support/latexmk/]

layout
A LaTeX package which reimplements the layout.sty file to provide an overview of the layout of a document.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

longtable
A LaTeX package which allows the typesetting of tables over multiple pages. This package, unlike the similar supertabular, enforces equal widths for the portions of the table on each page.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

mslapa
A LaTeX/BibTeX package containing style files for a close approximation the the American Psychological Association (APA) citation and reference styles.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/mslapa/]

multicol
A LaTeX package which implements a multicols environment which allows switching between single and multicolumn formats on the same page.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

natbib
A LaTeX package for using BibTeX to create bibliographies for natural sciences citations in many variations of the author-year format. It also supports the numerical citation style of standard LaTeX, supplying replacement *.bst files for the standard LaTeX *.bst files. Natbib acts as a single, flexible interface for most of the available bibliographic styles.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/natbib/]

nomenclature
A LaTeX package which uses the makeindex program to automatically create lists of symbols in a document. It can also be used for creating customized glossaries.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/nomencl/]

PSfrag
A LaTeX package which makes it possible to overlay Encapsulated PostScript (EPS) files with arbitrary LaTeX constructions, e.g. equations, comments, etc.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/psfrag/]

rawfonts
A LaTeX package which implements an environment that provides an emulation of low-level LaTeX 2.09 commands such as tenrm which may be required to process older LaTeX documents.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

showkeys
A LaTeX package which modifies the label, ref, pageref, cite, and bibitem commands so that the internal key is printed on the page. The label and bibitem keys are printed in boxes in the margin, and the rest are printed in small type raised just above the current line.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

somedefs
A programmer's toolkit for those writing LaTeX packages. It allows package writers to provide options which switch definitions on and off. This can save memory if a package defines a large number of commands but only a few are desired or needed.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

supertabular
A LaTeX package which defines supertabular and supertabular* environments which make it possible to have a tabular that spans multiple pages. Each page is its own tabular environment so each may have different widths. The longtable package enforces equal widths for multi-page tables.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/supertabular/]

tabularx
A LaTeX package which provides an environment tabularx which modifies the tabular environment such as the widths of certain columns are calculated such that the table is a specified width. It adjusts the widths of any number of chosen columns to achieve a desired width.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

theorem
A LaTeX package which extends the available theorem mechanisms to satisfy the different requirements of various journals. It allows the layout of the theorems in a document to be manipulated by determining a style in a manner similar to BibTeX's style files.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

typehtml
A LaTeX package which can typeset raw HTML source code. It can process either HTML2 or HTML3, allows the choice of a variety of section headings, can automatically include the HTML images in the document, handles Latin-1 characters, and much more.

[ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/supported/carlisle/]

varioref
A LaTeX package which defines two new commands similar to the ref command. The vref command adds an additional page reference, e.g. ``on the facing page'' or ``on page 27'' whenever the corresponding label command is not on the same page. The vpageref command is a variation of pageref with similar functionality.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

vector
A LaTeX package which provides an enhanced set of commands for representing vectors. There are commands for representing vectors as bold characters, sans serif characters, and character underlined with straight or wavy lines, each of which is available with and without an additional carat above the letter. There are also commands for representing a vector as a row or column of elements, either implicitly with first and last elements joined by dots or explicitly by including all the elements.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/vector/]

verbatim
A LaTeX package which reimplements to standard verbatim and verbatim* environments. It implements a solution to the problem of long verbatim listings sometimes overflowing TeX's memory.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

vrsion
A LaTeX package which provides a method for introducing file version numbers into documents. It remembers previous version numbers via information in the dvi files and can be incremented at three different levels: units, tenths, and hundredths.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/vrsion/]

wasysym
A LaTeX package which makes available additional characters and symbols from the Waldis symbol fonts. Some are available in math mode and others in text mode. The math mode symbols include variants of greater and less than, diamonds, boxes, and some integral symbols variants. The text mode symbols include male and female symbols, a phone symbol, up and down solid arrows, smiley and frownie symbols, a sun symbol, a bowtie symbol, a per million symbol, and more. There are also electrical symbols, polygons and stars, music notes, various circles, phonetic signs, astronomy symbols, astrological symbols, and the APL symbols.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/wasysym/]

xr
A LaTeX package which implements a system for external references. If the document source in one.tex refers to something in another document two.tex, this package is loaded into the first file with a special command given in the preamble containing the name of the second file. This allows anything labeled in either document to be referred to in the first document.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

xspace
A LaTeX package which implements a command xspace to be used mainly in text to add appropriate spaces after macros used within the text. For example, if an abbreviation is used for a long noun or phrase which is used often, the spacing after the use of the macro needs to be adjusted. This command does this automatically.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/packages/tools/]

yhmath
A LaTeX package which consists of a font written in Metafont, a style file, and an FD file for the OMX encoding using the new font. This adds several capabilities to typsetting math in LaTeX including: very big parentheses which remain curved at all sizes, very big versions of the left angle and right angle symbols for use with matrices, a new set of root signs for large expressions, a command for antidiagonal dots in a matrix, a command to typset a ring accent like those used in topology for the interior of a space, a set of hats and tildes which are much wider than those currently available, and triangle and parenthesis accents.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/latex/contrib/supported/yhmath/]

LaTeX Journal Style Files
Available sorts of these things include:

achemso
A LaTeX package for typesetting journal entries for the American Chemical Society (ACS). This can be used to prepare manuscripts for:
  • Accounts of Chemical Research
  • Chemical Reviews
  • Inorganic Chemistry
  • Journal of the American Chemical Society
  • Journal of Chemical Information and Computer Sciences
  • Journal of Medicinal Chemistry
  • Journal of Organic Chemistry
  • Journal of Physical Chemistry A & B
  • Langmuir
  • Macromolecules
  • Organometallics
The reference handling in the reference list and text is aimed to be in accordance with the requirements of all these journals.

[ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/achemso/]

AGU
This set of files is for typsetting:
  • Journal of Geophysical Research
  • Geophysical Research Letters
  • Paleoceanography
  • Global Biogeochemical Cycles
  • Tectonics
  • Radio Science
  • Geomagnetism and Aeronomy International
  • Computational Seismology and Geodynamics
The journals Water Resources Research and Reviews of Geophysics are typeset by the AGU and have no LaTeX style files. See the AGU++ package for extensions to this that actually make it usable.

[http://www.agu.org/pubs/agutex.html]

AGU++
Extensions to the AGU journal typesetting package that render it quite a bit more useful. This also adds extra features such as author-year citations with BibTeX, true figures in the preprint version, correcting coding to avoid have to explicitly specify some numbers, sublabelling of equations and figures, and balancing two columns on the last page. The documentation for this is also infinitely more readable and useful than is the official AGU package documentation. This is documented in a 10 page user's manual.

[ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/aguplus/]

aiaa
A LaTeX macro package that produces AIAA-conformant (i.e. American Institute of Aeronautics and Astronautics) conference papers and journal submittals. It can simulate the typesetting of journal articles and notes for the purposes of determining length. Also included is a mostly AIAA-compliant bibliographic style sheet, sample documents, a sample presentation, and other test files. This is documented in an 8 page user's manual.

[ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/aiaa/]

LaTeX2HTML
A Perl program which translates LaTeX source code into HTML source code. It replicates the basic structure of a LaTeX document as a set of interconnected HTML files which can be traversed like any hypertext document. All of the parts of typical documents are translated into their hypertext equivalents, including chapters, sections, abstracts, cross-references, citations, footnotes, tables of contents, figures, tables, lists of figures and tables, and just about anything else that can be put into a printed document. LaTeX2HTML will attempt to translate any document with embedded LaTeX commands into a hypertext document, and will do a reasonable job most of the time. The original version was created by Nikos Drakos although others have done a tremendous amount of work extending and improving his original version.

The features of LaTeX2HTML include:

  • breaking up a document into one or more components via user specification;
  • providing optional, customizable iconic navigation panels on every page which contain links to other parts of the document or other documents;
  • handling inlined equations, equation alignment, right-justified and numbered equations, tables, figures, and just about any arbitrary environment by passing it to LaTeX and converting the processed file into an image;
  • the inclusion of tables and figures as full inlined images, thumbnail images with links to the full images, or within a table using the appropriate table tags of HTML 3.2;
  • support for theorem-like environments and automatic numbering of equations;
  • the capability of producing output for both image- and character-based browsers (e.g. Netscape and Lynx, respectively) including the display of mathematical expressions and formulas in the latter; support for colored text and both colored and image-based backgrounds;
  • handling of definitions of new commands and environments defined in external files which allows the definition of HTML macros in LaTeX;
  • handling of footnotes, tables of contents, lists of figures and tables, bibliographies and indexes;
  • automatic translation of cross-references and citations into hyperlinks both within a document and between documents;
  • translation of LaTeX accent and special character commands into the equivalent ISO-Latin-1 or Unicode character set when equivalents are available;
  • recognition of hypertext links to any multimedia resource, e.g. sound, video, arbitrary program scripts, etc.;
  • conditional text capabilities to allow text to be included in only either the hypertext of hardcopy version;
  • inclusion of raw HTML commands in a LaTeX document to, for example, add interactive forms;
  • the capability of dealing with most of the concepts and commands found in the LaTeX blue book, i.e. Lamport (1994), where a meaningful HTML equivalent exists;
  • the capability of dealing with many of the LaTeX extensions found in Goossens et al. (1994) and Goossens et al. (1997); and
  • translation of equations into either images or HTML 3.0 math mark-up or some combination thereof.

A source code distribution of LaTeX2HTML is available. It is written in Perl and requires version 5.003 or greater to work on most UNIX systems. Ancillary programs needed to realize its full features include LaTeX, Ghostscript, and the Netpbm utility library. A comprehensive user's manual is available in both PostScript and HTML formats, with the processing of the manual the acid test for a LaTeX2HTML installation. See also Hyperlatex, HyperTeX, Ltoh, tex2pdf, Tex2RTF, TeX4ht, and tth as alternatives to this for translating documents from text into hypertext.

[http://saftsack.fs.uni-bayreuth.de/~latex2ht/]
[http://cdc-server.cdc.informatik.th-darmstadt.de/latex2html/]
[ftp://ftp.tex.ac.uk/tex-archive/support/latex2html]

LaTeX2hyp
A program that converts LaTeX source code into formatted ASCII documents. It doesn't just remove the LaTeX markup but also formats the text, performs character set substitutions, and generates cross references. It currently (12/98) supports chapters, parts, sections, appendices and their numbering, enumeration, descriptions, itemizations, accents and symbols, bibliographies, tables of contents, indexes, cross referencing of labels/references and cites/bibitems, and math and tables. A source code distribution of this C program is available upon filling out an online registration form.

[http://tug2.cs.umb.edu/ctan/tex-archive/support/latex2hyp/]

LA2MML
A program that can convert LaTeX files in FrameMaker's MML format. The current (6/98) version supports the original LaTeX macros and the new macros described in the second edition of Leslie Lamport's LaTeX manual. A source code distribution is available. It is written in C and known to compile on generic UNIX platforms.

[http://www.cs.stir.ac.uk/~kjt/software/framemaker/]
[ftp://142.104.100.100/pub/la2mml/]

LATS
The Library of AMIP Data Transmission Standards is a library of routines to output gridded data. Its primary function is to establish and implement a convention or standard for gridded data and thus facilitate data handling and exchange. The LATS API is designed to be simple to understand and use with version available for both Fortran and C. LATS applications output data in either GRIB or NetCDF format and thus can be read by any package which recognizes these formats.

The features of LATS include:

  • the output of rectinlinear, gridded, spatio-temporal data with the fundamental data unit being a horizontal longitude-latitude slice of a variable (although other structures are also supported);
  • output to machine independent formats;
  • the maintenance of an internal parameter table which prescribes variable names, descriptions, units, datatype, basic structure, and compression; and
  • an option to override the internal table with an external parameter file;
  • multiple variables and variables at multiple levels may be written in any order for a given time point.
The current limitations include that all variables written to a given file must share a common frequency, and that all fields must be rectilinear gridded data.

The LATS library is distributed in binary format for several platforms including IBM AIX, DEC Alpha, Cray C90 and J90, HP-UX, SGI IRIX, Linux Intel, and Sun SunOS and Solaris. The library functions are documented in a man page that is also available in PostScript format.

[http://www-pcmdi.llnl.gov/software/lats/index.html]

Latte
The LAnguage for Transforming TExt is a simple and powerful language for including markup in text documents. A document written in Latte can be quickly converted to HTML, allowing documents to be written in the much simpler syntax of Latte to be converted for use on the Web. It also allows the definition of powerful, reusable functions for encapsulating repeated text, layout constructs and style information. A source code distribution is available. It is written in C++ and includes code to build a binary (latte-html) for converting Latte to HTML and a library (liblatte.a) for creating additional applications. A user's manual is available in HTML format.

[http://www.zanshin.com/latte/]

Launcher
A program that centralizes type/handler management across all applications, i.e. those programs that call various other programs to handle various types of files. Launcher is a command-line program (with a separate GUI process) that can be used as a drop-in replacement for every type/handler pairing in most applications. The features include:
  • handling files, directories, URLs and executables;
  • making use of well-known files and formats by parsing the Apache mime.types file and using the UNIX file utility with the Apache magic number definition file;
  • use of MIME types for mapping files to handlers;
  • allowance for multiple handler definitions per type along with GUI-based disambiguation;
  • runs synchronously or asynchronously;
  • launches handlers by file or type; and
  • allows multiple files to be handled by the same handler invocation, e.g. only one copy of xv launched for several image files.
A source code distribution is available. It is written completely in Tcl/Tk 8.0.

[http://www.cs.columbia.edu/~etgold/software/launcher/]

Lava Rocks
A set of Java classes for performing a variety of tasks. The classes include:
  • array, for array manipulation and conversion and with support for large and sparsely populated byte arrays;
  • awt, for use with AWT;
  • clib, ports of functions from the standard C library;
  • code, implementing the Data Encryption Standard (DES);
  • io, for I/O, batch data processing, and console-based user dialogs;
  • math, for numeric formatting and various math operations;
  • string, for string construction, manipulation, conversion and formatting as well as wildcard expressions;
  • swing, for use with Swing and drag-and-drop support;
  • tools, various standalone utilities; and
  • util, for queues, stacks, enumerations and bit-twiddling.
A source code distribution is freely available for noncommercial uses.

[http://www.newbie.net/sharky/lava/]

Lawson-Hanson
A collection of Fortran 77 and 90 routines for solving least squares problems that supplement Lawson and Hanson (1995). The routines include:
  • BNDACC, a sequential algorithm for the accumulation phase of a banded least squares problem;
  • BNDSOL, a sequential algorithm for the solution phase;
  • G1, which computes the orthogonal rotation matrix;
  • G2, which applies the rotation computed by G1;
  • H12, which constructs or applies a single Householder transformation;
  • HFTI, which solves a least squares problem using Householder Forward Triangulation with column Interchanges;
  • LDP, which performs Least Distance Programming;
  • MFEOUT, which created labeled matrix output for use with singular value analysis;
  • NNLS, which performs nonnegative least squares;
  • QRDB, a QR algorithm for singular values of a bidiagonal matrix;
  • SVA, which computes the singular value decomposition (SVD) of the matrix of a least squares problem and produces a printed report;
  • SVDRS, which performs SVD also treating the right hand side vector;
  • PROG1 through PROG7, demonstration programs;
  • BVLS, a Fortran 90 program which solves a least-squares problem;
and several utility programs.

A source code distribution of the Lawson-Hanson program suite is available. It is written mostly in Fortran 77 with a couple of routines in Fortran 90. See the book for full documentation of the algorithms used.

[http://www.netlib.org/lawson-hanson/]

Layout
An Xt widget class which uses a stretch/shrink model similar to that used by TeX to constrain the layout of an application in a manner which allows the geometry of the children to respect the desires of the application designer while adapting to its environment, both in terms of the changing geometry allocated to the widget and to the changing needs of the child widgets.

A source code distribution of Layout is available. It can be compiled and used on most UNIX flavors, and will work with either Xt or Motif. It is documented in a technical report available in PostScript format.

[ftp://ftp.x.org/R5contrib/]

L-BFGS-B
An optimization package for minimizing nonlinear functions which is especially useful for solving large problems in which the Hessian matrix is difficult to compute or dense. LBFGS-B is the only limited memory quasi-Newton algorithm capable of handling bounds on the variables. A source code distribution is available and is written in Fortran 77. This is TOMS algorithm 778 and is documented in Zhu et al. (1997).

[http://www-fp.mcs.anl.gov/otc/Tools/LBFGS-B/]
[http://www.acm.org/calgo/contents/]

lbnamed
The load balancing named is a load balancing name server written in Perl. It was originally designed to be a proof of concept to be added into BIND, but is still (6/97) available in the Perl version. It allows the creation of dynamic groups of hosts that have one name in the DNS name space, with a host capable of being in multiple groups at the same time.

The server side consists of the lbnamed and poller programs which run in parallel and communicate using signals and configuration files. The poller program contacts the client daemon on the hosts being polled, gathers the responses into a configuration file, and sends a signal to lbnamed. The lbnamed program reads the poller-generated configuration file, loads it into a number of different data structures containing the hosts and their weights, and returns the host with the lowest weight as the best host. It looks like a standard DNS server to other name servers except that it doesn't answer recursive queries but rather only requests for the dynamic groups it maintains. The client side hosts need to run a special daemon which responds to poller requests using a simple protocol.

The source code for lbnamed is available. It is written in Perl 5. It is documented in a man page and in some online documentation.

[http://www.stanford.edu/~schemers/docs/lbnamed/lbnamed.html]

LBU
The Linux Backup Utility is a menu-driven backup/restore/compare interface to the tar command. LBU allows the performance of foreground, background and scheduled backups.

[http://sunsite.unc.edu/pub/Linux/system/backup/]

lcc
A retargetable compiler for ANSI C code which generates code for the SPARC, MIPS R300, and Intel x86 and its successors. The lcc compiler is much smaller than gcc, and although the latter has a better global code optimizer (and emits better code with full optimization options), lcc implements a few low-cost and high-yield optimizations that can yield respectable code a bit faster. It should perhaps be thought of as being complementary to gcc, with an good strategy being to use lcc during development and gcc for the final binary. The lcc is compiler also differs from gcc in that it strictly follows the ANSI standard and implements no extensions. This can also be used as a cross-compiler that runs on one machine and compiles code for another, and it can also be used to link code generators for several machines into each executable.

The lcc compiler is available as source code as well as in binary format for Linux platforms. The program is fully documented in ``A Retargetable C Compiler: Design and Implementation'' (Addison-Wesley, 1995, ISBN 0-8053-1670-1) by Chris Fraser and David Hanson. Various ancillary packages are also available in the FTP directory containing the lcc distributions.

[http://www.cs.Princeton.EDU/software/lcc/]

LCLint
A tool for statically checking C programs. It can do even more than standard lint if special annotations are added to programs. LCLint performs many of the traditional lint checks including unused declarations, type inconsistencies, use-before-definition, ignored return values, execution paths with no return, likely infinite loops, and fall-through cases. The addition of annotations, i.e. stylized comments that document certain assumptions about functions, variables, parameters, and types, allows other checks to be performed. These include indicating where the representation of a user-defined type is hidden, limiting where a global variable may be used or modified, constraining what a function implementation may do to its parameters, and expressing checked assumptions about variables, types, structure fields, function parameters, and function results. The annotation also allow some traditional lint checks to be improved. Checking can be customized to select which classes of errors are reported by both stylized comments in the code and by command line flags.

The range of problems detected by LCLint include:

  • violations of information hiding,
  • inconsistent modification of caller-visible state,
  • inconsistent use of global variables,
  • memory management errors,
  • danger data sharing or unexpected aliasing,
  • using possibly undefined storage or returning storage that is not completely defined,
  • dereferencing a possibly null pointer,
  • dangerous macro implementations or invocations,
  • violations of customizable naming conventions,
  • and program behavior that is undefined because it depends on order of evaluation, and
  • likely infinite loops, incomplete logic, statements with no effect, ignored return values, unused declarations, and exceeding certain standard limits.

A source code version of LCLint is available as is a binary for Linux Intel platforms. It is written in ANSI C and should compile on any UNIX flavor with an appropriate compiler. A user's guide is available in several formats.

[http://www.sds.lcs.mit.edu/lclint/]

LCWA
The Last Changes Web Agent is a web agent that determines the last changed times of a set of HTML documents on a Web site. It crawls quickly through Web pages via HTTP, using a variable number of pre-forked crawling clients which work in parallel. They are coordinated by a server which implements a shared URL stack and a common result pool.

A source code distribution of LCWA is available. It is written in Perl and documented in a man page.

[http://www.engelschall.com/sw/lcwa/]

LDAP
The Lightweight Directory Access Protocol is a client-server protocol for accessing a directory service that runs over TCP/IP It was initially used as a front-end to X.500 but can also be used with stand-alone and other kinds of directory servers. LDAP is a simpler protocol that X.500 and doesn't require the upper layers OSI stack. The LDAP directory service model is based on entries which are collections of attributes with a distinguished name (DN). Each of the attributes has a type and one or more values. The directory entries are arranged in a hierarchical tree-like structure reflecting political, geographic, and/or organizational boundaries, with entries representing countries appearing at the top of the tree. The LDAP defines operations for interrogating and updating the directory, with most operations dealing with searching for information. See Wilcox (1999).

Related software includes:

[http://www.umich.edu/~dirsvcs/ldap/index.html]
[http://www.critical-angle.com/ldapworld/ldapv3.html]
[http://www.rage.net/ldap/]

ldb
A retargetable debugger for ANSI C whose targets include MIPS, SPARC, VAX and MC68000 processors. This is a research prototype that can be used, e.g. as a low-level platform on which to build a high-level debugger, for porting the lcc compiler to a new platform, or to build a debugger for another language. The design of ldb assumes that the compiler, i.e. lcc, has and therefore provides most of the machine-dependent information needed by the debugger. The debugging symbol format is designed to support retargeting and multi-language debugging.

A source code distribution of ldb is available. The current (5/99) version requires lcc 3.4b as well as Modula-3 (the DEC version), noweb and Icon. It is documented via the techniques of literate programming.

[http://www.cs.virginia.edu/~nr/ldb/]

LDDK
The Linux Driver Development Kit is a toolkit which helps minimize the development time needed for a hardware driver module. It also provides a standard driver interface which should be compliant to the MPC-API eventually. A description file of a driver written in the supplied Driver Description Language (DDL) is compiled using the ddl2c compiler to automatically generate a complete driver source tree include makefiles, libraries, includes, and all necessary code.

The LDDK project is currently (5/97) in the early alpha stage with many planned features yet to be implemented including:

  • automatic generation of man pages,
  • a more flexible DDL and macroprocessor,
  • code templates for PCI/ISA-dma code and interrupt servicing,
  • a register layout facility which generates flexible register access functions,
  • more documentation and examples,
  • a garbage collector, and
  • intrinsic configuration code.
The source code is available as is some presently sketchy documentation.

[ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/LDDK]

LDL
The Language Development Laboratory is a system supporting language design, the derivation of provably correct prototype interpreters, and test program generation based on formal specification. The goal of the project is to support readable, useful, compact, modular, and extensible language definitions which a language designer can assemble and complete by applying a tool based on a library and a knowledge base, as well as to automatically derive correct prototype interpreters as well as test examples.

LDL language definitions are formal and executable and based on both a kind of attribute grammars called GSFs and recursive function definitions. Building blocks of these are described by operations supporting concepts like refinment and interpretation. In the LDL proposed default model of language definition the attribute grammar is intended to describe static semantics and the construction of annotated abstract syntactical entities, whereas a separate semantics description handles dynamic semantics to ensure that interpreted terms satisfy the context conditions. Definitions with a different structure are also possible, e.g. multi-pass translators or applications generators, with prototype interpreters derivable from the formal definitions exploiting implementational models based on logic programming.

LDL is designed to run on top of Prolog, specifically SWI-Prolog. The Tcl/Tk package is also required to use this. Several technical reports are available in PostScript format.

[http://www.informatik.uni-rostock.de/FB/Praktik/psuet/ldl/]

ldlas
See xldlas.

LDM
The Unidata Local Data Manager is a collection of cooperating programs that select, capture, manage, and distribute meteorological data products. The system is designed for event-driven data distribution and currently used in the Unidata Internet Data Distribution (IDD project and includes network client and server programs and their shared protocols. The LDM software features include: configurability, i.e. the LDM server can be instructed to append a particular product to a file, execute and arbitrary program with the data program as input, store or retrieve products in a simple key-access database, or forward the data along to other running servers; support for distributed processing, i.e. data capture on one machine can be stored on other machines on a network; extensibility, i.e. new decoders can be easily added; event-driven mode, i.e. data is handled as it arrives.

The tools that comprise LDM include:

  • ldmadmin, a high-level interface to the LDM system;
  • ldmfail, a monitor for the local LDM server and its upstream primary and failover sites;
  • rpc.ldmd, the LDM server;
  • feedme, an event driven data sink client that obtains selected data as it becomes available;
  • ldmping, which checks if the LDM server is running;
  • notifyme, which receives notification messages from the LDM system and prints it with timestamps;
  • pqact, which processes products from a local product queue;
  • mailpqstats, which sends statistics collected from an LDM product queue to UPC for further processing;
  • pqbinstats, which accumulates time based statistics from and LDM product queue;
  • pqutil, an interactive interface to the LDM product queue;
  • pqcat, which outputs the data products from a product queue;
  • pqcreate, which creates a product queue;
  • pqexpire, which deletes old products from a product queue;
  • pqing, which performs real time capture of data into a product queue;
  • pqinsert, which inserts data into a product queue;
  • pqsend, which sends products from a local queue to a LDM server;
  • runpg, which runs other programs in a single process queue;
  • pqsurf, which splits surface bulletins and processes the observations;
  • scour, which deletes old data files;
  • ldmsend, which sends data using LDM protocols;
  • ldmprods, which displays statistics for the minute and cumulative statistics for the current hour;
  • netcheck, which monitors network connectivity to selected hosts; and
  • syscheck, which runs various system utilities to monitor workstation performance.
The LDM package also contains four libraries:
  • gdbm, the GNU database library interface;
  • pq, the LDM product queue interface;
  • regexp, the regular expression library interface; and
  • ulog, the LDM logging interface.

The LDM package can be installed on most standard UNIX platforms with a C compiler, Perl, and (optionally) the JDK. It can be obtained in source code form or in binary form for several platforms including Linux.

[http://www.unidata.ucar.edu/packages/ldm/]

LDP
The Label Distribution Protocol is a set of procedures and messages by which Label Switched Routers (LSR) established Label Switched Paths (LSP) through a network by mapping network-layer routing information directly to data-link layer switched paths. The LSPs can have an endpoint at a directly attached neighbor (i.e. compatibility with IP hop-by-hop forwarding), or it can have an endpoint at a network egress node, i.e. enabling swtiching via all intermediate nodes.

[http://community.roxen.com/developers/idocs/drafts/draft-ietf-mpls-ldp-08.html]

CR-LDP
Constraint-based Routing using the LDP provides the signaling mechanism for path setup, teardown, and maintenance in traffic engineering of service provider backbone networks. The CR-LDP signaling system offers scalability, reliability, and simplicity of implementation. A source code distribution of the CR-LDP message processing engine is freely available.

[http://www.nortelnetworks.com/products/announcements/mpls/]

le
A terminal-based editor with a host of features including:
  • use of rectangular and stream blocks for copying, moving, deleting, writing, reading, filtering through external commands, shifting left and right, case conversion, prefix insertion, and yanking buffered blocks;
  • search and replace with full regular expressions;
  • navigation via line number, offset, to place of last edit, and to block begin/end;
  • text formatting, line centering and optional automatic word wrap;
  • pseudo-graphics drawing;
  • text undeletion and uninsertino;
  • viewing and editing hex files;
  • binary clean, i.e. safely loading binary files;
  • viewing/editing of large files or devices using the mmap system call;
  • configurable syntax highlighting and key sequences; and
  • configurable colors.
A source code distribution of this C++ program is available under the GPL.

[ftp://ftp.yars.free.net/pub/software/unix/util/texteditors/]
[http://metalab.unc.edu/pub/Linux/apps/editors/terminal/]

Leafnode
A Usenet software package designed for small sites with less than a few tens of readers and a slow link to the net. Leafnode sites between NNTP clients and the real server, acting like a normal server to the clients and a normal client to the server. The programs comprising the package are:
  • leafnode, the NNTP server which talks to the normal news clients and stores readership data;
  • fetch, the NNTP news gatherer which selects what groups to pull news from; and
  • texpire, a program responsible for deleting old and uninteresting news, i.e. those that haven't been recently read.
Only groups that have been read in the last week are fetched from the upstream server, and when nobody reads a group for a week the articles from that group will no longer be fetched until someone starts reading it again.

[http://www.leafnode.org/]
[http://sunsite.unc.edu/pub/Linux/system/news/readers/]

LEAP
LEAP is a relational database management system written as an educational tool. It supports relations, has an elementary query language, and has a support environment for users. The query language is a full implementation of the relational algebra and, as such, users can enter complex algebraic expressions and see the result. Since it was designed to be a complete tool for educational purposes other goals such as performance, applicability and compatibility (as one will find in commercial RDB programs) were of secondary importance. The original version of LEAP was written in Borland Pascal, although a version in ANSI C that will compile and install on UNIX platforms is currently in alpha test stage. The documentation is included with the source code distribution and is also available at the site as a hypertext document.

[http://leap.sourceforge.net/]

Leda
A multiparadigm programming language which combines imperative, object-oriented, functional, and logic-oriented paradigms. See Budd (1995).

[http://www.cs.orst.edu/~budd/leda.html]

LEDA
The Library of Efficient Datatypes and Algorithms is a C++ class library of the data types and algorithms of combinatorial computing. The categories into which the algorithms are divided include simple data types and basic support operations, number types and linear algebra, basic data types, dictionaries, priority queues, graphs and related data types, graph algorithms, graphs and iterators, basic and advanced data types for 2-D geometry, basic data types for 3-D geometry and graphics.

The main features of LEDA include:

  • a sizable collection of data types and algorithms in a form allowing them to be used by non-experts;
  • a precise and readable specification for each of the data types and algorithms;
  • an item concept enabling data structures to be accessed by position;
  • efficient implementations of each data type (e.g. Fibonacci heaps for priority queues, red-black trees and dynamic perfect hashing for dictionaries, etc.);
  • a comfortable data type graph that allows programs to be written in a form close to that seen in the typical textbook; and
  • implementation via a C++ class library that can be used with almost any compiler.

LEDA is implemented as a C++ class library. A source code distribution is available as are object code files for a wide range of platforms. LEDA is not in the public domain but can be used freely for academic research and teaching, and a commercial license is also available. A user's manual is available in several formats. See Mehlhorn and Naher (1997).

[http://www.mpi-sb.mpg.de/LEDA/index.html]

LEE
Latent Energy Environments is an artificial life model and simulator of controlled complexity using endogenous fitness. It can be used to evolve populations of neural networks adapting to environments of increasing complexity. The chief motivation of this project is the modeling of environmental complexity across different artificial life experiments. A spatially distributed series of atomic elements must be combined to transform their latent potential energy into work necessary for survival. The population must evolve behavioral strategies such as to allow an eff