# Direc­tory tex-archive/macros/latex209/contrib/chbars

% README for changebar macros			28 Jul 92
%------------------------------------------------------------

GENERAL NOTES by Joachim Schrod. (Minor revisions by R. Bernstein)

These are my (Joachim Schrod's) macros for producing change bars with
TeX or LaTeX.  Please note that (1) these macros will not produce an
optimal page breaking (i.e. vertical glue will disappear in many
places) and (2) that there is still a problem with these macros: it is
described in the last section of the chapter Handling the Page
Contents.' By the way, this problem is within the current LaTeX, too.

The macros were written for TeX 2. In the meantime TeX 3 became
available; new features (i.e., \holdinginsert) would now allow a
better implementation.

The macros are written for the usage with Plain TeX. R. Bernstein did
the the LaTeX adaption because I neither use LaTeX in my own documents
nor do I need change bars... For me, it was just a nice play to show
what can be done with the \output routine of TeX. Therefore I will not
put further work in these macros. But I will happily redistribute
enhancements and will make them available on the usual TeX servers.

So: If you enhance the macros, make further adaptations of them for
LaTeX, or if you incorporate the new features of TeX 3, send them to
me so that others can share your work.

NOTES ON THE DISTRIBUTED FILES

The macro file chbars.doc can be LaTeXed (the result is not as
readable as it should be---but this is due to the inflexibility of the
\@startsection macro of LaTeX).  The needed style files are included.

Furthermore four test files for the usage of change bars in vertical
and horizontal mode are included, too. The files test1.tex, test2.tex
and test3.tex should be run through Plain TeX; test4.ltx should be run
through LaTeX. Files test3.tex and test4.tex try out features that
have been added to these macros since they were originally written. In
particular, setting the change bar width, placement on the right or
left margin, redefining the \output routine, and a LaTeX test.

These macros are documented with my MAKEPROG processor.  Perhaps I
should mention why I don't use the doc-option of Frank Mittelbach:
MAKEPROG has been written by me before I have heard of the existence
of doc. But even then I would have written it: doc is a special
documentation tool for TeX macros which heavily depends on LaTeX and
the LaTeX coding conventions.  It is not very easy to use it for the
documentation of other stuff than LaTeX macros.  In contrary, MAKEPROG
is a {\it general documentation facility\/} which I use for all things
where WEB is not available.  (In fact, it was created to document lex
and yacc programs...) Especially the changefile possibility I need
very hardly.  MAKEPROG has the disadvantage that a special care of the
TeX environment (e.g. the indexing of macro names) can not be
implemented. I'm still working on MAKEPROG, the next version 2.0 will
have a code rearrangement ability like TANGLE.

MAKEPROG may be fetched from LISTSERV@DHDURZ1 (for the Bitnet folks)
and per ftp from Washington (where it is in the UNIX distribution).  I
would prefer if you get it from there so that I don't have to mail out
so much stuff.  If you have no access contact me.  If you are working
on an IBM(-compatible) PC you should nevertheless contact me: I have
changefiles for Turbo Pascal available.

I'm not really satisfied that I have not found the time to update the
documentation of MAKEPROG to mention that progltx, the
progdoc-equivalent LaTeX style option, exists.  To get a
documentation you must run LaTeX over progltx.doc and print the
result.  Because I print the whole stuff usually on A4 paper I have
included a style option for A4 page layout, too.  The macro file
a4-9.sty assumes that the driver leaves a margin of 1 in.  Please
note, that this is not just one other'' A4 page layout -- it was
designed by a typographer and I have only done the LaTeX
realization---have a look at a4-9.doc!

Perhaps it is of interest for you how the verbatim typesetting in
progltx is done---the scheme is robuster than the one LaTeX uses, it
works with tabs (are you working on a VAX or a PC?), but it's slower,
too. In the last sections of the files you can have a look at the
great' internal design of the current LaTeX, too.

Well, I hope that you will enjoy the macros

Greetings
Joachim Schrod

current address:
Technical University of Darmstadt
Department of Computer Science
Joachim Schrod
Alexanderstr. 10

D-6100 Darmstadt
FR Germany

Email: xitijsch@ddathd21.bitnet

==============================================================================

The following files are in the distribution:

COPYING		copy conditions, i.e. the GNU General Public License
README		this file you are reading

chbars.doc      The documented macro source (with MAKEPROG!)
progltx.sty     Style files needed to print it.
a4-9.sty

chbars.sty	the macro version of chbars.doc
chbars.tex	the macro version of chbars.doc (identical to chbars.tex)
chbars-orig.tex Joachim Schrod's original macro version of chbars.doc
test1.tex	Test files for chbars.tex
test2.tex
test3.tex       Test file for some of the newer features added
test4.ltx       LaTeX test file for chbars.sty (a.k.a chbars.tex)

a4-9.doc        a non-arbitrary A4 page layout style option
a4-marg.chf     changefile for a4-9.doc, adaption to 1in driver margin

makeprog.perl   Perl version of MAKEPROG
makeprog.lex    Lex  version of MAKEPROG
--


## Files

Name Size Date Notes
COPYING 12488 1993-01-12 01:00
README 5495 1993-01-12 01:00
a4-9.doc 10043 1993-01-12 01:00
a4-9.sty 11719 1993-01-12 01:00
a4-marg.chf 576 1993-01-12 01:00
chbars-orig.tex 27261 1993-01-12 01:00
chbars.aux 2575 1993-01-12 01:00
chbars.doc 36373 1993-01-12 01:00
chbars.ltx 36373 1993-01-12 01:00
chbars.sty 38544 1993-01-12 01:00
chbars.tex 40380 1993-01-12 01:00
make­prog.lex 28 1993-01-12 01:00
make­prog.perl 49 1993-01-12 01:00
progltx.ltx 25689 1993-01-12 01:00
progltx.sty 27909 1993-01-12 01:00
test1.tex 760 1993-01-12 01:00
test2.tex 590 1993-01-12 01:00
test3.tex 1357 1993-01-12 01:00
test4.aux 193 1993-01-12 01:00
test4.ltx 1262 1993-01-12 01:00