%  tdwk.cd
%  Anders G S Svensson

%  Time-stamp: <1996/06/09 14:35:42 PDT agss@klagshamn>

%  $Date: 1996/06/09 21:44:47 $
%  $Revision: 1.3 $

\usecarrot{sfss,index,toc,environ,label}
\usecarrot[toc,number]{section}
\usecarrot[shortrevisions]{rcs}

%  Indicate the revision, date and author in the document.

\let\@@revision\relax
\def\revision{\gdef\@@revision}

\let\@@date\relax
\def\date{\gdef\@@date}

\let\@@author\relax
\def\author{\gdef\@@author}

\let\@@email\relax
\def\email{\gdef\@@email}

\def\title#1{\gdef\@@title{#1}{\FontSize{16}\bf\noindent #1}%
   \identifier\@@author\@@email\@@revision\@@date
   \let\email\emailaddress}
\let\@@title\relax

\headline{\headliner\@@title\@@author\@@revision\@@date}

\def\emailaddress#1{{\tt\lower.8pt\hbox{<}#1\lower.8pt\hbox{>}}}

\def\identifier#1#2#3#4{
   \ifx#1\relax
   \else
      \smallskip
      \noindent{\bf#1}%
      \ifx#2\relax
      \else
         \ \ \emailaddress#2\relax
      \fi
   \fi
   \revisionidentifier#3#4\relax
   \bigskip}

\def\revisionidentifier#1#2{
   \ifx#1\relax
      \ifx#2\relax
      \else
         \bigskip\noindent#2\relax
      \fi
   \else
      \revisionfootnote#1#2\relax
   \fi}

\def\revisionfootnote#1#2{\footnote{}{#1. \ifx#2\relax\else#2.\fi}}

\def\headliner#1#2#3#4{%
   \headlinefont
   \ifnum\pageno=1
      \hfil
   \else
      \ifx#1\relax \else #1\fi
      \hfil \ifx#3\relax\else#3\fi
   \fi}
\def\headlinefont{\fontsize{8}}

%  Sectioning.

\newsection{section}<-\lastskip+\bigskipamount><\medskipamount>
\presectionhook[section]{\goodbreak}
\headinghook[section]{\FontSize{14}\bf}
\def\sectionplug{.\defaultsectionplug}

\def\tableofcontents{\vfill\bgroup
   \parskip=2pt
   \tochead
   \readtocfile
   \egroup\newpage}

\def\tochead{{\FontSize{14}\currentfont Contents}\par
   \leavevmode
   \hbox to .6\hsize{\hfil\squish{\it page}\ }\par}

\def\tocsectionentry#1#2#3{\leavevmode
   \hbox to .6\hsize{%
      \ifnum#2<10 \phantom{1}\fi #2.\quad
         {\bf #1}\ \dotfill\ #3}\par}

\def\sectiontag#1{\S#1}

\def\printindex{
   \begindoublecolumns
   \parskip\z@
   \parindent=7pt
   \fontsize{9}
   \def\item{\par\noindent}
   \def\subitem{\par\indent \hangindent\parindent \indent}
   \let\indexspace\bigskip
   \def\begin##1{}\def\end##1{}
   \readind
   \enddoublecolumns}

%  Double column code modified from Knuth's manmac.tex, with
%  \onpageout a modification of plain.tex's \plainoutput.

\newdimen\pagewidth
\newdimen\pageheight
\newbox\partialpage

\def\begindoublecolumns{%
   \begingroup
   \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}\eject
   \output={\doublecolumnout} \hsize=15pc \vsize=2\pageheight}
\def\enddoublecolumns{\newpage\endgroup \pagegoal=\vsize}

\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
   \dimen@=\pageheight
   \advance\dimen@ by-\ht\partialpage
   \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
   \onepageout\pagesofar
   \unvbox255 \penalty\outputpenalty}

\def\pagesofar{%
   \unvbox\partialpage
   \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}

\def\onepageout#1{%
   \shipout\vbox{{\hsize\pagewidth\makeheadline}\onepagebody{#1}%
                 {\hsize\pagewidth\makefootline}}%
   \advancepageno
   \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}

\def\onepagebody#1{%
   \vbox to\pageheight{\boxmaxdepth\maxdepth \onepagecontents{#1}}}

\def\onepagecontents#1{%
   \ifvoid\topins\else\unvbox\topins\fi
   #1%
   \ifvoid\footins\else % footnote info is present
      \vskip\skip\footins
      \footnoterule
      \unvbox\footins\fi
   \ifr@ggedbottom \kern-\dimen@ \vfil \fi}

%%%%

\def\emph#1{{\it #1}\@ifnextchar@.{}{\@ifnextchar@,{}{\/}}}

\parindent 0pt
\baselineskip=12pt
\parskip=10pt plus 1pt
\raggedbottom

% Local Variables:
% mode:TeX
% agss-tex-jobname:"tdwk"
% End: