README
SLaTeX Version 2.4
(c) Dorai Sitaram
dorai@cs.rice.edu

Read me first

                            ...

1. A brief description of SLaTeX

SLaTeX is a Scheme program that allows you to write program
code (or code fragments) "as is" in your LaTeX or TeX
source.  SLaTeX is particularly geared to the programming
languages Scheme (R5RS) and other Lisps, e.g., Common Lisp.
The formatting of the code includes assigning appropriate
fonts to the various tokens in the code (keywords,
variables, constants, data), at the same time retaining the
proper indentation when going to the non-monospace
(non-typewriter) fonts provided by TeX.  SLaTeX comes with
two databases that recognize the identifier conventions of
Scheme and CL respectively.

While it is certainly possible to get by with a minimal
knowledge of SLaTeX commands, the package comes with a
variety of features for manipulating output positioning,
modifying/enhancing the database, changing the fonting
defaults, adding special symbols, and selective disabling of
SLaTeX.  For a detailed documentation of SLaTeX, run slatex
on the file slatxdoc.tex in the SLaTeX distribution after
finishing the installation process.

                            ...

2. Obtaining SLaTeX

SLaTeX is available at the URL
http://www.cs.rice.edu/CS/PLT/packages/slatex/slatex.tar.gz.
Ungzipping and untarring produces a directory slatex,
containing the SLaTeX files.  (The file "manifest" lists the
files in the distribution -- make sure nothing is missing.)

                            ...

3. Requisites for installing SLaTeX

SLaTeX is implemented in R5RS-compliant Scheme -- macros are
not needed.  The code uses the non-standard procedures
delete-file, file-exists? and flush-output, but a Scheme
without these procedures can also run SLaTeX.  The
configuration defines the corresponding variables to be
dummy procedures, since they are not crucial.  The
distribution comes with code to allow SLaTeX to run also on
Common Lisp.  The dialects that SLaTeX has run successfully
on are: Bigloo, Chez Scheme, CLISP, Elk, Gnu Common Lisp,
Gambit, Guile, Ibuki Common Lisp, MIT C Scheme, MzScheme,
Scheme-to-C, SCM, UMB Scheme, and VSCM on Unix; MzScheme on
Windows 95; CLISP and SCM on OS/2; Austin Kyoto Common Lisp,
CLISP, MIT C Scheme, and SCM on MSDOS; and Macintosh Common
Lisp on Mac OS.

                            ...

4. Installing SLaTeX

Refer to the file "install" for configuring SLaTeX to your
dialect and ways of invoking it on your (La)TeX files.

                            ...

5. Using SLaTeX

The file slatxdoc.tex is a manual describing "How to Use
SLaTeX".  A version of the corresponding .dvi file,
slatxdoc.dvi, is included in the distribution, but you could
create your own (and thereby check that SLaTeX works on your
system).  Save the provided slatxdoc.dvi file in case your
setup doesn't work, and type

slatex slatxdoc

You may create a file slatxdoc.ind that arranges the index
information from the file slatxdoc.idx generated by LaTeX.
Run LaTeX on slatxdoc another time to sort out the index and
the citations.

If you have run Scheme (or CL) on config.scm (Sec. 1 of
install) but haven't been able to decide how to set up the
paths or the shell/bat script or the most suitable invoking
method (Sec.  2 and 3 of install), perform the following
actions (in the directory where you unpacked the
distribution) to get slatxdoc.dvi:

1) Start up Scheme (or CL).

2) Type (load "slatex.scm").

3) Type (SLaTeX.process-main-tex-file "slatxdoc").

4) Exit Scheme (or CL).

5) Call latex on slatxdoc.tex.  (Use makeindex to generate
slatxdoc.ind, if possible.  Call latex a second time to get
the citations right and to generate an index if available.)

                            ...

6. Bugs, etc.

Bug reports, flames, criticisms and suggestions are
most welcome -- send to

Dorai Sitaram
dorai@cs.rice.edu
