Index of /archives/text/CTAN/support/flatten

Icon  Name                         Last modified      Size  Description
[PARENTDIR] Parent Directory - [TXT] flatten.c 1995-11-13 09:00 55K [TXT] flatten.l 1995-11-13 09:00 28K [TXT] getopt.c 1995-11-13 09:00 2.8K [TXT] getopt.h 1995-11-13 09:00 373 [TXT] srchenv.c 1995-11-13 09:00 11K [TXT] srchenv.h 1995-11-13 09:00 203 [TXT] README 1996-04-19 09:00 2.7K [   ] flatten.ps 1996-04-19 09:00 389K [   ] flatten.tex 1996-04-19 09:00 18K [TXT] makefile 1996-04-19 09:00 2.4K [   ] man 1996-04-19 09:00 3.1K
FUNCTION

    The flatten program will `flatten' LaTeX source files by
including all the source of `inclusion' files into the source
of a LaTeX root file. By default the inclusion files are
those called for by the LaTeX \input and \include commands.
Facilities are available for modifying this set of inclusion
commands.

FILES

    Files in this distribution are:
o README                     (this file)
o flatten.l                  source for flatten to be processed by flex
o flatten.c                  C code resulting from flexing
o srchenv.c and srchenv.h    C code for directory searching
o getopt.c and getpopt.h     C code for command line options
o man                        manpage
o makefile                   makefile for flatten
o flatten.tex                User manual in LaTeX format
o flatten.ps                 User manual in PostScript format
and possibly
o flatten.tar.gz             Tared and Zipped archive of all the above

INSTALLATION

    Flatten is written as a lexer. The main source is in flatten.l
which is intended to be processed by flex into order to generate
C code. This, together with some C code support functions, is
then compiled and linked to form the working program.

    If you do not change flatten.l, then flexing is not required as
the supplied flatten.c has already been flexed.

Via Make
--------

1. Edit the first part of makefile to match your system's configuration
   If you are feeling brave, do `make all' followed by `make clean'. 
   Otherwise:

2. Do `make' (flexes flatten.l and compiles and links the program)

3. (Optional) Set the environment variable FLATINPUTS to the
   directories where LaTeX source files might be located

4. Test the program

5. Do `make install' (moves the binary into its final location)

6. Do `make doc' (copies the user manual to its final location)

7. Do `make manpage' (edits the manpage and copies it to its working location)

8. Do `make clean' (deletes the object code files)

By Hand
-------

0. Read the comments in the makefile for more information.

1. Run flex on flatten.l

2. Compile the flex output file

3. Compile srchenv.c and getopt.c

4. Link the compiled code to form the final program binary

5. (Optional) Set the environment variable FLATINPUTS to the
   directories where LaTeX source files might be located

6. Test the program

7. Move the binary to its final destination

8. Copy the user manual sources to their final location

9. Edit and copy the man file to its working location, renaming it appropriately

10. Remove intermediate object files

AUTHOR

    Comments and suggestions should be sent to Peter Wilson (The Catholic
University of America and NIST) pwilson@cme.nist.gov

29 October 1995