svn: $Author: predrag $ --- $Date: 2009-12-09 11:49:22 -0500 (Wed, 09 Dec 2009) $

How to install it
Coauthor: Use subversion together with the svn_tunnel script (CNS computers homepage) to check out the repositories dasbuch and ChaosBook from the CNS svn server, Georgia Tech. Linux/unix instructions are
cd  ~/
svn_tunnel -b cnsuser
svn co svn://localhost:22369/dasbuch
cd  ~/dasbuch/
svn co svn://localhost:22369/ChaosBook
mv ChaosBook WWW
The LaTeX files are in dasbuch repository, while the webpages are in ChaosBook repository.
Not linux? Microsoft and Apple are equally easy, read the above CNS homepages
Not crucial, but might be helpful: add the TEXINPUTS path by inserting line
setenv TEXINPUTS ./:..::$HOME/dasbuch/book/:$HOME/dasbuch/book/inputs/
into your .cshrc (or corresponding file for your preferred shell).

main file is                            ~/dasbuch/book/book.tex
source chapters are in      ~/dasbuch/book/chapter/
problem sets are in            ~/dasbuch/book/Problems/
web pages are in                ~/dasbuch/WWW/
public paper printout files are in         ~/dasbuch/WWW/chapters/
editing paper printout files are in       ~/dasbuch/WWW/boyscouts/chapters/
most scripts are in              ~/dasbuch/book/bin/

How to TeX it

cd ~/dasbuch/book
latex book.tex
Thing will run if you have up-to-date CTAN TeX distribution and right paths.

the remainder can be safely ignored, so long PC is in charge of janitorial services

Preparing the public PostScript version
Edit the version number, version date in
~/dasbuch/book/chapter/version.tex .
edit ~/dasbuch/book/book.typ for a public PostScript version, execute
latex book.tex
Edit ~/dasbuch/book/bin/mkbook contents and intro page ranges by hand if necessary, make sure that your unix has psnup (multiple pages per each sheet of paper) PostScript script, then execute (if you do not have ~/tmp/DasBuch directory already)
mkdir ~/tmp/DasBuch
the PostScript version of all chapters marked by \forMkbook in book.tex main file is generated, compressed , and moved to the
~/dasbuch/WWW/chapters/ directory.
Preparing the public web book. pdf
Edit ~/dasbuch/book/book.typ for a public pdef version, then
mkdir ~/tmp/DasBuch
~/dasbuch/book/bin/mkpdf     is ready for transfer to Windows.

Use Adobe destiller to convert to hyperlinked book.pdf.

Adobe Destiller 4.0 configuration:
all fonts embedded
compatibility: Acrobat 3.0
joboption: TexOptimized (PressOptimized if TexOptimized not there)
then drag into Destiller

transfer the result to
to have the byteserver version working

Preparing the coauthors version, raw (full, unedited) text chapter by chapter

Edit the version date in
and edit ~/dasbuch/book/book.typ for a coauthors version
{preliminary}        %% include margin comments, \Preliminary{...} parts
% {public}        %% omit margin comments, \Preliminary{...} parts
{pdf}               %% prepare HyperTeX pdf file
{postscript}        %% prepare PostScript file
latex book.tex
Edit ~/dasbuch/book/bin/mkbookBoyscout contents and intro page ranges by hand  if necessary,
then execute
mkdir ~/tmp/DasBuch
the PostScript version of all chapters marked by \forMkbook in book.tex main file, as well as the 3-volume complete book is generated, compressed , and moved to the
~/dasbuch/WWW/boyscouts/chapters/ directory.
How to back it all up
do not worry, any single past edit can be retrieved from subversion

Gabor counseling by Andreas

the remainder is probably of no interest - mostly old stuff

How to print it

use filter psbook

on 2-page per page printout - US letter format - is generated by

psnup -2 -pletter -m5pt > !

(not sure about the margin -m5pt)

on linux machines, this should work

alias ps2 'mpage -2 -m2 \!* > 2p-\!* ' generate

alias lps2 'mpage -2 -m2 \!* | lpr ' send it to printer

Updating a WWW chapter

mkchap is a shell script that will generate the PostScript for a chapter, compress it, and move it to the ~DasBuch/WWW/chapters directory. Execute

mkchap chap4 97-110

to create a file called with pages 97 through 110 from book.dvi

How to index it

run latex book twice having set


(do not know why otherwise index file is empty?). To update the index, type

makeindex book
latex book.tex
again so the latest version is included in the book.dvi
Short versions
The file short.tex allows you to latex just one input file with all the definitions in place. It is useful for testing out new environments or definitions.
Changing the permissions
There are two useful programs in the bin sub-directory for changing the permissions of a file. The program cmplxg will change the permissions of a file given to it as an argument. This works for any file owned by DasBuch and can be run by anyone in the nbicmplx group. So if
alf> ls -l
---x-wxr-x 1 dasbuch DasBuch 0 Dec 16 11:43*
and one runs
alf> cmplxg
the group permissions will change to 660
alf> ls -l
-rw-rw---- 1 dasbuch DasBuch 0 Dec 16 11:43
The script allgrp, also in the bin sub-directory does it for all the relevant files.
Preparing version for coauthors
In book.tex edit ~/dasbuch/book/inputs/privateType.tex for a coauthor print on paper version, then
mkdir ~/tmp/DasBuch
the full, unedited and (2 page per page version - needs fixing)      are ready for your perusal.
Putting your signiture in the footer
If you want to put your own text into the page footer, create basedirectory.tex in your TEXINPUTS path, and edit the basedirectory lines in book/inputs/def.tex
Create basedirectory.tex in your TEXINPUTS path by inserting line
setenv TEXINPUTS ./:..::$HOME/tex/texinputs/:$HOME/DasBuch/book/:$HOME/dasbuch/book/inputs/
into your .cshrc, or into your .login. In your tex/texinputs/ (or wherever you keep this) there should be a file called basedirectory.tex with the line
The ^^40 is just a way of getting @. This way, when the files are LaTeX'ed the little footnote indicating the name of the file will be dependendent on the machine it was done.

This file should not be in the ~/dasbuch/book subdirectory.

After that, go to the main book directory ~DasBuch/book and type

latex book.tex
and see it fly.
Postscript fonts on
To get Postscript fonts on shell, produce the dvi file as usual, then when you go to produce the postscript with dvips, use the flags -Pcmz and Pamz, as in
dvips book -z -Pamz -Pcmz -o
The -z flag is there to keep all the hyperlinks.