\def\fileversion{v1.02 ch FMi} \def\filedate{6 Feb 90} % Change history at bottom of file % ***** LTUGBOAT.STY ***** % % % Incorporates ideas and elements from these TUGboat authors: % Adrian Clark % Frank Mittelbach % Rainer Sch\"opf % Stop here if this file has been read already \ifx\tugstyloaded@\relax \endinput\else\let\tugstyloaded@\relax\fi \typeout{Document Style `ltugboat' \fileversion \space\space <\filedate>} % ********************************************************************** % % Macros common to ltugboat.sty and tugboat.sty \input tugboat.com % *********************************************************************** % % Fonts \font\sevbf=cmbx7 \font \svtnsfb=cmssbx10 scaled \magstep3 % for section titles; \font \twlsfb=cmssbx10 scaled \magstep1 % definition of \LaTeX \newfam\sectitlefam % requires a family \textfont\sectitlefam=\svtnsfb \scriptfont\sectitlefam=\twlsfb \font\tenuit=cmu10 % for Editor's Note % specials for new font selection (FMi) \ifx\selectfont\undefined % redo definition of 10pt from latex (lfonts), to install \sevbf as % \*scriptfont of \bffam \toks0=\expandafter{\xpt\scriptfont\bffam\sevbf \scriptscriptfont\bffam\sevbf} \xdef\xpt{\the\toks0} \else \def\tensl{\family{cmr}\series{m}\shape{sl}\size{10}{12pt}\selectfont} \fi % *********************************************************************** % % normal TUGboat dimensions, glue values, penalties \@twosidetrue % for odd/even asymmetry in running heads \sloppy % make those columns justify %\flushbottom % but ensure they line up \columnsep 1.5pc % space between columns \columnwidth 18.75pc % width of each column \parindent \normalparindent % paragraph indent \parskip 0pt % no inter-paragraph space \leftmargini 2em % unchanged \leftmarginv .5em % unchanged \leftmarginvi .5em % unchanged \oddsidemargin 0pt % was 42pt \evensidemargin 0pt % was 84pt \topmargin -2.5pc % was 0pt \headheight 12pt % height of running head, unchanged \headsep 20pt % distance between header and text \marginparwidth 48pt % don't use marginal notes \marginparsep 10pt % in TUGboat \textheight 54pc % height of text on page \textwidth 39pc % total width of a page \twocolumn % two columns %FMi placed after setting of \textwidth \partopsep=\z@ \topsep=3pt plus1pt minus1pt \parsep=3pt plus 1pt minus 1pt \itemsep=\parsep \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip=3pt plus 3pt minus 1pt \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\z@ plus3pt \belowdisplayshortskip=1pt plus3pt minus1pt} \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip=2.5pt plus2.5pt minus1pt\belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\z@ plus2pt \belowdisplayshortskip=1pt plus2pt minus1pt} \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt \abovedisplayskip=3pt plus 3pt minus 1pt \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\z@ plus3pt \belowdisplayshortskip=1pt plus3pt minus1pt} % *********************************************************************** % % Lists \def\@listi{\leftmargin\leftmargini\parsep=1pt plus 1pt minus 1pt \itemsep=\parsep} \def\@listii{\leftmargin\leftmarginii \labelwidth=\leftmarginii \advance\labelwidth-\labelsep \topsep=2pt plus 1pt minus 1pt \parsep=1pt plus 1pt minus 1pt \itemsep=\parsep} \def\@listiii{\leftmargin=\leftmarginiii \labelwidth=\leftmarginiii \advance\labelwidth-\labelsep \topsep=1pt plus 1pt minus 1pt \parsep=\z@ \itemsep=\topsep} % *********************************************************************** % % Titles, authors, addresses, signatures \def\sectitlefont{\fam\sectitlefam\svtnsfb\baselineskip\stbaselineskip} \setbox\T@stBox=\hbox{\sectitlefont O} \newdimen\stfontheight \stfontheight=\ht\T@stBox \def \sectitle#1{\SecTitletrue \def\s@ctitle{#1}} \newcount\authornumber \authornumber=0 \def\author#1{% \global\advance\authornumber\@ne \expandafter\def\csname theauthor\number\authornumber\endcsname {\ignorespaces#1\unskip}% \expandafter\let\csname theaddress\number\authornumber\endcsname\relax \expandafter\let\csname thenetaddress\number\authornumber\endcsname\relax } \def\address#1{% \expandafter\def\csname theaddress\number\authornumber\endcsname {\ignorespaces#1\unskip}} \def\network#1{\def\@network{#1: }} \def\netaddress{% \begingroup \let\@network\relax \@ifnextchar[{\@netaddress}{\@netaddress[]}% } {\makeactive\@ \gdef\netaddrat{\makeactive\@\def@{\char"40\discretionary{}{}{}}} \makeactive\% \gdef\netaddrpercent{\makeactive\%\def%{\char"25\discretionary{}{}{}}} } \def\@netaddress[#1]{#1\@sanitize\makeactive\@\makeactive\%\@@netaddress} \def\@@netaddress#1{% \toks@{#1}% \ifx\@network\relax \def\@@network{}% \else \def\@@network{\@network}\fi \expandafter\xdef\csname thenetaddress\number\authornumber\endcsname {{\noexpand\rm\@@network}% {\noexpand\netaddrat\noexpand\netaddrpercent\noexpand\net \ignorespaces\the\toks@\unskip}}% \endgroup } \def\net{\tt} % Overrides to default author and signature formats \def\authorlist#1{\def\@author{#1}} \def\@author{\@defaultauthorlist} \def\maketitle{\par \ifdim\PreTitleDrop > 0pt \loop \ifdim \PreTitleDrop > \textheight \vbox{}\vfil\eject \advance\PreTitleDrop by -\textheight \repeat \vbox to \PreTitleDrop{} \global\PreTitleDrop=0pt \fi \begingroup \setcounter{footnote}{0} \def\thefootnote{\fnsymbol{footnote}} \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} \@maketitle \@thanks \endgroup \setcounter{footnote}{0} % \let\maketitle\relax % \let\@maketitle\relax \gdef\@thanks{}\gdef\@author{}\gdef\@title{}% %\let\thanks\relax } \def\@maketitle{\ifSecTitle \global\SecTitlefalse \@sectitle{\s@ctitle}% \else \vskip\AboveTitleSkip \kern\topskip \hrule height\z@ depth\z@ width 10pt \kern-\topskip \kern-\strulethickness \hrule height\strulethickness depth\z@ \kern\medskipamount \fi {\nohyphens \interlinepenalty\@M \setbox0= \hbox{\let\thanks\@gobble \let\\=\quad \let\and=\quad \ignorespaces\@author}% {\noindent\bf\raggedright\ignorespaces\@title\endgraf}% \ifdim \wd0 < 5pt % omit if author is null \else \nobreak \vskip 4pt % 4pt + \BelowTitleSkip = \baselineskip {\leftskip=\normalparindent \def\and{\unskip\\}% \noindent\@author\endgraf}% \fi \nobreak \vskip\BelowTitleSkip }} \def\abstract{ \section*{Abstract} } \def\endabstract{} % Redefine style of section headings to look more like TUGboat. % Start with definitions from art10.sty . (Only \section correct so far.) % % \vskip 8pt \vskip\parskip before; \vskip 4pt after % Negative beforeskip suppresses following parindent. \def\section{\@startsection {section}{1}{\z@}{-8pt}{4pt}% {\normalsize\bf\raggedright}} \def\subsection{\@startsection{subsection}{2}{\z@}{-8pt}{4pt}% {\normalsize\bf\raggedright}} \def\subsubsection {\@startsection{subsubsection}{3}{\z@}{-8pt}{4pt}{\normalsize\bf}} \def\paragraph{\@startsection {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} \def\subparagraph{\@startsection {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} % Modify \appendix from art10.sty, to add ``Appendix'' % 1 May 89 Mittelach comments that we need to put ``Appendix'' % somewhere other than \thesection if \tableofcontents is used. %\def\appendix{\par % \setcounter{section}{0} % \setcounter{subsection}{0} % \def\thesection{Appendix \Alph{section}}} \def\l@part#1#2{\addpenalty{\@secpenalty} \addvspace{2.25em plus 1pt} \begingroup \@tempdima 3em \parindent \z@ \rightskip \z@ \parfillskip \z@ {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par \nobreak \endgroup} \def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt} \@tempdima 1.5em \begingroup \parindent \z@ \rightskip \z@ % article style makes \rightskip > 0 \parfillskip \z@ \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup} \def \EdNote{{\tenuit Editor's note:\enspace }} % *********************************************************************** % % Footnotes \long\def\@makefntext#1{\parindent 1em\noindent\hbox to 2em{}% \llap{\@makefnmark}\null$\;$#1} % \llap{$^{\@thefnmark}\,$}#1} % *********************************************************************** % % Figures \def\fnum@figure{{\bf Figure \thefigure}} % *********************************************************************** % % Quotes \def\quote{\list{}{\rightmargin.5\leftmargin}\item[]} % From Dominik Wujastyk's font article. First paragraph of a quotation % will not be indented, and right margin is decreased for narrow columns. \renewcommand{\quotation}{\list{}{\listparindent 1.5em \rightmargin.5\leftmargin\parsep 0pt plus 1pt}\item[]} % *********************************************************************** % % Signature % Moved to TUGboat.com % *********************************************************************** % % Running heads, output routine \def \rtitlex{\def\tubfont{\normalsize\rm}\TUB, \volx } \def\PrelimDraftfooter{% \dlap{\kern\textheight\kern3pc \rlap{\hbox to \pagewd{\midrtitle\hfil\midrtitle}} }} % registration marks; these are temporarily inserted in the running head \def\MakeRegistrationMarks{} \def\UseTrimMarks{% \def\MakeRegistrationMarks{% \ulap{\rlap{% \vbox{\dlap{\vbox to\trimlgt{\vfil\botregister}}% \topregister\vskip \headmargin \vskip 10pt}}}}% } \def\@oddhead{\MakeRegistrationMarks\PrelimDraftfooter \hbox{}\rm\rtitlex\qquad\midrtitle \hfil \thepage} \def\@evenhead{\MakeRegistrationMarks\PrelimDraftfooter \rm \thepage\hfil\midrtitle\qquad\rtitlex} \def\@oddfoot{} \def\@evenfoot{} \def\ps@headings{} \pagestyle{headings} % *********************************************************************** % % Macros for Mittelbach's self-documenting style \def\SelfDocumenting{% \setlength\textwidth{31pc} \onecolumn \parindent 0pt \parskip 2pt plus 1pt minus 1pt \oddsidemargin 8pc \evensidemargin 8pc \toks@\expandafter{\@oddhead}% \xdef\@oddhead{\hss\hbox to \pagewd{\the\toks@}}% \toks@\expandafter{\@evenhead}% \xdef\@evenhead{\hss\hbox to \pagewd{\the\toks@}}% \def\ps@titlepage{}% } % *********************************************************************** % % MISCELLANEOUS defs for compatibility with tugboat.sty \newif\ifFirstPar \FirstParfalse \newdimen\pagewd \pagewd=39pc \newdimen\trimwd \trimwd=\pagewd \newdimen\trimlgt \trimlgt=11in \newdimen\headmargin \headmargin=3.5pc \def\smc{\sc} \def\ninepoint{\small} %************************************************************************* % % Start-up \setcounter{page}{1} %FMi reset to 1 \PrelimDrafttrue \endinput % ********************************************************************** % % Change history % 12 Feb 90 v1.02 modified definition of \@makefntext; now uses \@makefnmark (as one might expect) 6 Feb 90 v1.01 removed "\font\manual=manfnt"; tugboat.com already sets \font\manual=logo10 adjusted definition of \netaddress to remove mis-timed \@sanitize-ation 29 Nov 89 v1.00 changed \titlefont to \sectitlefont added setting of \baselineskip to defintion of \sectitlefont changed \TUBparindent to \normalparindent (already in tugboat.com) removed additions of amcsc* fonts new definitions of \ragged... in tugboat.com include \nohyphens moved most of section title material to tugboat.com moved writing mechanism and multiple document handling to local .drv file redefined \author to be consistent with tugboat.sty added \address, \netaddress moved \signature stuff to tugboat.com made titles raggedright 20 Oct 89 v0.53 Zeroed \@signature for multiple documents 19 Oct 89 v0.52 Moved \rtitlex to tugboat.com 18 Oct 89 v0.51 Disallowed hyphenations in \section and \subsection