Next: Ln-Lz
Up: Linux Software Encyclopedia
Previous: Kn-Kz
  Contents
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=
Mx
where K is symmetric positive definite and M is positive
semi-definite. It is also capable of solving the problem
Kx=-
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