diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tugboat/tugboat.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tugboat/tugboat.dtx | 540 |
1 files changed, 241 insertions, 299 deletions
diff --git a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx index a0d6f5540ba..e5fa41ababe 100644 --- a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx +++ b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx @@ -1,11 +1,31 @@ %^^A This (the production version of the macros) started life as xpt3 %^^A and no need has arisen to perform other experiments... -% +% tugboat.dtx - main source for LaTeX TUGboat classes. +% % \iffalse (this is a meta-comment (so they say)) -% Copyright (C) 1995,1996,1997,1998,2000,2004 TeX Users Group. -% Copying of this file is authorized only if either: -% (1) you make absolutely no changes to your copy, OR -% (2) if you do make changes, you first rename it to some other name. +%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% +%% This file is part of the tugboat package. +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is the TeX Users Group +%% (http://tug.org/TUGboat). +%% +%% The list of all files belonging to the distribution is +%% given in the file `manifest.txt'. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. % \fi % % \section{Document preambles} @@ -20,7 +40,7 @@ %<ltugboatsty>\ProvidesPackage{ltugboat} %<ltugprocsty>\ProvidesPackage{ltugproc} %<ltugcomn> \ProvidesPackage{ltugcomn} - [2004/07/06 v1.6 + [2006/05/05 v2.0 %<ltugboatcls> TUGboat journal class% %<ltugproccls> TUG conference proceedings class% %<ltugboatsty|ltugprocsty> TUG compatibility package% @@ -42,7 +62,7 @@ % % RCS identification of this file (lest I fail to update the above ;-) % -% $Id: tugboat.dtx,v 1.42 2004/05/30 13:21:40 rf Exp rf $ +% $Id: tugboat.dtx,v 1.46 2006/03/22 11:27:54 rf10 Exp rf10 $ % % Note that the RCS version relates to the number of times the file % has been checked-in, which relates to a development process taking @@ -107,12 +127,13 @@ % \end{macrocode} % % \fi -% \CheckSum{4637} +% \CheckSum{4458} % % \section{Introduction} % % This file contains all the macros for typesetting \TUB{} with -% both plain \TeX\ and \LaTeXe. +% \LaTeXe. +% % \subsection{Summary of control sequences} % % Abbreviations. Just a listing with indications of expansion where @@ -130,6 +151,7 @@ % |\ConTeXt|& \ConTeXt\\ % |\Cplusplus|& C++\\ % |\DTD|&\\ +% |\DVIPDFMx|& \DVIPDFMx\\ % |\DVItoVDU|& DVItoVDU\\ % |\eTeX|& \eTeX\\ % |\Ghostscript|&\\ @@ -184,6 +206,7 @@ % |\VAX|&\\ % |\VorTeX|&\\ % |\XeT|&\\ +% |\XeTeX|& reflected and lowered first `E'\\ % |\XML|&\\ % |\WEB|&\\ % |\WEAVE|&\\ @@ -310,12 +333,10 @@ % \LaTeXe{} we can use the \cs{Class*} commands: % % \begin{macrocode} -%<*latex2e> \def\TBInfo{\ClassInfo{\@tugclass}} \def\TBError{\ClassError{\@tugclass}} \def\TBWarning{\ClassWarning{\@tugclass}} \def\TBWarningNL{\ClassWarningNoLine{\@tugclass}} -%</latex2e> % \end{macrocode} % % Some trivial options, just flicking switches, etc. @@ -541,18 +562,9 @@ \def\makespace #1{\catcode`#1=10 } \def\makeletter#1{\catcode`#1=11 } \chardef\other=12 -%<*!latex> -\def\makeother #1{\catcode`#1=\other} -%</!latex> -%<*latex> \let\makeother\@makeother -%</latex> \def\makeactive#1{\catcode`#1=13 } \def\makecomment#1{\catcode`#1=14 } -%<*!latex> -\def\makeatletter{\makeletter\@} -\def\makeatother {\makeother\@} -%</!latex> % \end{macrocode} % |\savecat#1| and |\restorecat#1| will save and restore the category % of a given character. These are useful in cases where one doesn't @@ -588,13 +600,10 @@ % necessary: % % \begin{macrocode} -%<*latex2e> \providecommand\hb@xt@{\hbox to} \providecommand\textsuperscript[1]{\ensuremath{\m@th ^{\mbox{\fontsize\sf@size\z@ \selectfont #1}}}} -%</latex2e> -%<!latex2e>\def\hb@xt@{\hbox to} % \end{macrocode} % (Note that that definition of \cs{textsuperscript} isn't robust, but % probably doesn't need to be\dots What's more, it doesn't appear in @@ -605,61 +614,53 @@ % % Font used for the METAFONT logo, etc. % \begin{macrocode} -%<!latex2e>\font\manual=logo10 \def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX} \def\AMS{American Mathematical Society} -%<!latex2e>\def\AmS{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox -%<!latex2e> {\the\textfont2 M}\kern-.125em{\the\textfont2 S}} -%<latex2e>\def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox -%<latex2e> {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} +\def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox + {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} \def\AmSLaTeX{\AmS-\LaTeX} \def\AmSTeX{\AmS-\TeX} +\def\ANSI{\acro{ANSI}} +\def\ASCII{\acro{ASCII}} \def\aw{A\kern.1em-W} \def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley} -%<!latex2e>\def\BibTeX{{\rm B\kern-.05em{\smc i\kern-.025emb}\kern-.08em\TeX}} -%<latex2e>\def\BibTeX{\textsc{Bib}\kern-.08em\TeX} -%<!latex2e>\def\CandT{{\sl Computers \& Typesetting}} -%<latex2e>\def\CandT{\textsl{Computers \& Typesetting}} +\def\BibTeX{\textsc{Bib}\kern-.08em\TeX} +\def\CandT{\textsl{Computers \& Typesetting}} % \end{macrocode} % We place our \cs{kern} after \cs{-} so that it disappears if the % hyphenation is taken: % \begin{macrocode} \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \newcommand\Cplusplus{C\raisebox{.7ex}{$_{++}$}} +\def\CSS{\acro{CSS}} \def\CTAN{\acro{CTAN}} \def\DTD{\acro{DTD}} +\def\DVD{\acro{DVD}} +\def\DVIPDFMx{\acro{DVIPDFM}$x$} \def\DVItoVDU{DVIto\kern-.12em VDU} -%<latex2e>\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} -%<!latex2e>\def\eTeX{{$\varepsilon$}-\kern-.125em\TeX} +\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} +\def\FAQ{\acro{FAQ}} +\def\FTP{\acro{FTP}} \def\Ghostscript{Ghost\-script} +\def\GNU{\acro{GNU}} +\def\GUI{\acro{GUI}} \def\Hawaii{Hawai`i} \def\HTML{\acro{HTML}} +\def\HTTP{\acro{HTTP}} \def\ISBN{\acro{ISBN}} \def\ISSN{\acro{ISSN}} +\def\JPEG{\acro{JPEG}} \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} -%<!latex2e>\def\JoT{{\sl The Joy of \TeX}} -%<latex2e>\def\JoT{\textsl{The Joy of \TeX}} -%<*!latex2e> -\def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em\the\scriptfont2 A}% - \kern-.2em\lower.376ex\hbox{\the\textfont2 M}\kern-.125em - {\the\textfont2 S}-\TeX} -%</!latex2e> -%<*latex2e> +\def\JoT{\textsl{The Joy of \TeX}} \def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em $\m@th$\fontsize\sf@size\z@\selectfont $\m@th\mathcal{A}$}% \kern-.2em\lower.376ex\hbox{$\m@th\mathcal{M}$}\kern-.125em {$\m@th\mathcal{S}$}-\TeX} -%</latex2e> -%<!latex2e>\def\La{\TestCount=\the\fam \leavevmode L\raise.42ex -%<!latex2e> \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}} -% \end{macrocode} -% -% With the facilities of \LaTeXe, we can do rather better. This code +% This code % is hacked from its definition of \cs{LaTeX}; it allows slants (for % example) to propagate into the raised (small) `A': % \begin{macrocode} -%<*latex2e> \newcommand{\La}% {L\kern-.36em {\setbox0\hbox{T}% @@ -670,7 +671,6 @@ A}% \vss}% }} -%</latex2e> % \end{macrocode} % % We started with the intention that we wouldn't redefine \cs{LaTeX} @@ -682,8 +682,8 @@ % % \begin{macrocode} %<!latex>\def\LaTeX{\La\kern-.15em\TeX} -\def\MathML{Math\acro{ML}} \def\MacOSX{Mac\,\acro{OS\,X}} +\def\MathML{Math\acro{ML}} \def\Mc{\setbox\TestBox=\hbox{M}M\vbox to\ht\TestBox{\hbox{c}\vfil}} % for Robert McGaffey % \end{macrocode} @@ -693,17 +693,10 @@ % short extract of Vieth's stuff. Either way, we don't need to % specify \cs{MF} or \cs{MP} % \begin{macrocode} -%<!latex2e>\def\MF{{\manual META}\-{\manual FONT}\@} -%<!latex2e>\def\mf{{\smc Metafont}} -%<latex2e>\def\mf{\textsc{Metafont}} -%<!latex2e>\def\MFB{{\sl The \slMF book}} -%<latex2e>\def\MFB{\textsl{The \MF book}} -%<!latex2e>\def\MP{{\manual META}\-{\manual POST}\@} -%<*latex2e> +\def\mf{\textsc{Metafont}} +\def\MFB{\textsl{The \MF book}} \let\TB@@mp\mp \DeclareRobustCommand\mp{\ifmmode\TB@@mp\else MetaPost\fi} -%</latex2e> -% \end{macrocode} % % In order that the \cs{OMEGA} command will switch to using the TS1 % variant of the capital Omega character if \texttt{textcomp.sty} is @@ -712,64 +705,51 @@ % than to use \cs{let}\dots % % \begin{macrocode} -%<*latex2e> \DeclareTextSymbol{\textohm}{OT1}{'012} \DeclareTextSymbolDefault{\textohm}{OT1} \newcommand\OMEGA{\textohm} \DeclareRobustCommand{\OCP}{\OMEGA\acro{CP}} \DeclareRobustCommand{\OTP}{\OMEGA\acro{TP}} -%</latex2e> \def\mtex{T\kern-.1667em\lower.424ex\hbox{\^E}\kern-.125emX\@} % \end{macrocode} % Revised definition of \cs{NTS} based on that used by Phil Taylor. % \begin{macrocode} \DeclareRobustCommand\NTS{\ensuremath{\mathcal{N}\mkern-4mu \raisebox{-0.5ex}{$\mathcal{T}$}\mkern-2mu \mathcal{S}}} +\def\Pas{Pascal} \def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}MF\@} \def\PCTeX{PC\thinspace\TeX} \def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}\TeX} -\def\Pas{Pascal} +\def\PDF{\acro{PDF}} \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\@} \def\PiCTeX{\PiC\kern-.11em\TeX} -%<!latex2e>\def\plain{{\tt plain}} -%<latex2e>\def\plain{\texttt{plain}} +\def\plain{\texttt{plain}} +\def\PNG{\acro{PNG}} \def\POBox{P.\thinspace O.~Box } \def\PS{{Post\-Script}} +\def\RTF{\acro{RTF}} \def\SC{Steering Committee} \def\SGML{\acro{SGML}} -%<!latex2e>\def\SliTeX{{\rm S\kern-.06em{\smc l\kern-.035emi}\kern-.06em\TeX}} -%<latex2e>\def\SliTeX{\textrm{S\kern-.06em\textsc{l\kern-.035emi}% -%<latex2e> \kern-.06em\TeX}} -%<!latex2e>\def\slMF{\MF} -%<latex2e> \def\slMF{\textsl{\MF}} % should never be used -%<!latex2e>\def\stTeX{{\smc st\rm\kern-0.13em\TeX}} -%<latex2e> \def\stTeX{\textsc{st}\kern-0.13em\TeX} -%<!latex2e>\def\TANGLE{{\tt TANGLE}\@} -%<latex2e>\def\TANGLE{\texttt{TANGLE}\@} -%<!latex2e>\def\TB{{\sl The \TeX book}} -%<latex2e>\def\TB{\textsl{The \TeX book}} -%<!latex2e>\def\TP{{\sl \TeX\/}: {\sl The Program\/}} -%<latex2e>\def\TP{\textsl{\TeX}: \textsl{The Program}} -%<!latex2e>\def\TeX{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@} -%<*latex2e> +\def\SliTeX{\textrm{S\kern-.06em\textsc{l\kern-.035emi}% + \kern-.06em\TeX}} +\def\slMF{\textsl{\MF}} % should never be used +\def\stTeX{\textsc{st}\kern-0.13em\TeX} +\def\TANGLE{\texttt{TANGLE}\@} +\def\TB{\textsl{The \TeX book}} +\def\TIFF{\acro{TIFF}} +\def\TP{\textsl{\TeX}: \textsl{The Program}} \DeclareRobustCommand\TeX{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@} -%</latex2e> \def\TeXhax{\TeX hax} \def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}% \kern-.2267emG\@} -%<!latex2e>\def\TeXtures{{\it Textures}} -%<latex2e>\def\TeXtures{\textit{Textures}} +\def\TeXtures{\textit{Textures}} \let\Textures=\TeXtures \def\TeXXeT{\TeX-{}-\XeT} \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} -%<!latex2e>\def\ttn{{\sl TTN}\@} -%<latex2e>\def\ttn{\textsl{TTN}\@} -%<!latex2e>\def\TTN{{\sl \TeX{} and TUG News}} -%<latex2e>\def\TTN{\textsl{\TeX{} and TUG News}} -%<!latex2e>\def\tubfont{\sl} % redefined in other situations -%<!latex2e>\def\TUB{{\tubfont TUGboat\/}} -%<latex2e>\let\texttub\textsl % redefined in other situations -%<latex2e>\def\TUB{\texttub{TUGboat}} +\def\ttn{\textsl{TTN}\@} +\def\TTN{\textsl{\TeX{} and TUG News}} +\let\texttub\textsl % redefined in other situations +\def\TUB{\texttub{TUGboat}} \def\TUG{\TeX\ \UG} \def\tug{\acro{TUG}} \def\UG{Users Group} @@ -778,10 +758,37 @@ \def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX} \def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\@} \def\XML{\acro{XML}} -%<!latex2e>\def\WEB{{\tt WEB}\@} -%<latex2e>\def\WEB{\texttt{WEB}\@} -%<!latex2e>\def\WEAVE{{\tt WEAVE}\@} -%<latex2e>\def\WEAVE{\texttt{WEAVE}\@} +\def\WEB{\texttt{WEB}\@} +\def\WEAVE{\texttt{WEAVE}\@} +% \end{macrocode} +% +% Xe\TeX{} requires reflecting the first E, hence we complain if the +% graphics package is not present. (For plain documents, this can be +% loaded via Eplain.) Also, at Barbara's suggestion, if the current +% font is slanted, we rotate by 180 instead of reflecting so there is at +% least a chance to look ok. (The magic values here seem more or less +% ok for \texttt{cmsl} and \texttt{cmti}.) +% +% \begin{macrocode} +\def\tubreflect#1{% + \@ifundefined{reflectbox}{% + \TBerror{A graphics package must be loaded for \string\XeTeX}% + }{% + \ifdim \fontdimen1\font>0pt + \raise 1.75ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em + \else + \reflectbox{#1}% + \fi + }% +} +\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 } +\def\XeTeX{\leavevmode + \tubhideheight{\hbox{X% + \lower.5ex \hbox{\kern-.125em\tubreflect{E}}% + \kern-.1667em \TeX}}} +% +\def\XHTML{\acro{XHTML}} +\def\XSLT{\acro{XSLT}} % \end{macrocode} % % \subsection{General typesetting rules} @@ -925,8 +932,7 @@ \def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes} \def\Now{\today\ \now} \newif\ifPrelimDraft -%<!latex2e>\def\midrtitle{\ifPrelimDraft {{\tensl preliminary draft, \Now}}\fi} -%<latex2e>\def\midrtitle{\ifPrelimDraft {\textsl{preliminary draft, \Now}}\fi} +\def\midrtitle{\ifPrelimDraft {\textsl{preliminary draft, \Now}}\fi} % \end{macrocode} % % \subsection{Ragged right and friends} @@ -988,14 +994,8 @@ % AMS-\TeX~--- the \LaTeXe{} version has \cs{leavevmode} and doesn't % care about surrounding space). % \begin{macrocode} -%<*!latex2e> -\def\,{\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi} -\def~{\unskip\nobreak\ \ignorespaces} -%</!latex2e> -%<*latex2e> \DeclareRobustCommand{\nobreakspace}{% \unskip\nobreak\ \ignorespaces} -%</latex2e> % \end{macrocode} % % Plain \TeX{} defines \cs{newbox} as \cs{outer}. We solemnly @@ -1009,12 +1009,10 @@ % perhaps not the place to conduct a serious debate\dots) % % \begin{macrocode} -%<!latex>\def\newbox{\alloc@4\box\chardef\insc@unt} \def\boxcs#1{\box\csname#1\endcsname} \def\setboxcs#1{\setbox\csname#1\endcsname} \def\newboxcs#1{\expandafter\newbox\csname#1\endcsname} -%<!latex>\def\gobble#1{} -%<latex>\let\gobble\@gobble +\let\gobble\@gobble \def\vellipsis{% \leavevmode\kern0.5em \raise\p@\vbox{\baselineskip6\p@\vskip7\p@\hbox{.}\hbox{.}\hbox{.}} @@ -1024,12 +1022,6 @@ \def\Dag{\raise .6ex\hbox{$\scriptstyle\dagger$}} \def\careof{\leavevmode\hbox{\raise.75ex\hbox{c}\kern-.15em /\kern-.125em\smash{\lower.3ex\hbox{o}}} \ignorespaces} -%<*!latex2e> -\def\sfrac#1/#2{\leavevmode\kern.1em - \raise.5ex\hbox{\the\scriptfont\z@ #1}\kern-.1em - /\kern-.15em\lower.25ex\hbox{\the\scriptfont\z@ #2}} -%</!latex2e> -%<*latex2e> \DeclareRobustCommand\sfrac[1]{\@ifnextchar/{\@sfrac{#1}}% {\@sfrac{#1}/}} \def\@sfrac#1/#2{\leavevmode\kern.1em\raise.5ex @@ -1043,7 +1035,6 @@ \ensuremath{\langle}\emph{#1}\ensuremath{\rangle}} \DeclareRobustCommand\env[1]{% \cs{begin}\texttt{\char`\{#1\char`\}}} -%</latex2e> \def\thinskip{\hskip 0.16667em\relax} % \end{macrocode} % @@ -1078,9 +1069,9 @@ \def\nth#1{% \def\reserved@a##1##2\@nil{\ifcat##1n% 0% -%<latex2e> \let\reserved@b\ensuremath + \let\reserved@b\ensuremath \else##1##2% -%<latex2e> \let\reserved@b\relax + \let\reserved@b\relax \fi}% \TestCount=\reserved@a#1\@nil\relax \ifnum\TestCount <0 \multiply\TestCount by\m@ne \fi % subdue negatives @@ -1091,18 +1082,6 @@ \divide\T@stCount by 10 \multiply\T@stCount by 10 \advance\TestCount by-\T@stCount % n mod 10 \fi -%<*!latex2e> - \T@stCount=\the\fam\relax - $\fam\T@stCount#1^{\fam\T@stCount - \ifcase\TestCount th% 0th - \or st% 1st - \or nd% 2nd - \or rd% 3rd - \else th% nth - \fi - }$% -%</!latex2e> -%<*latex2e> \reserved@b{#1}% \textsuperscript{\ifcase\TestCount th% 0th \or st% 1st @@ -1110,49 +1089,32 @@ \or rd% 3rd \else th% nth \fi}% -%</latex2e> - } +} % \end{macrocode} % % \subsection{Reviews} % % Format information on reviewed items for book review articles. -% \begin{macrocode} -%<*!latex2e> -\def\Review:#1{\ifx[#1\@Rev[% - \else Book review:\enspace\sl #1% - \fi - } -\def\@Rev[#1]{\ignorespaces#1\unskip:\enspace\ignorespaces\sl} -%</!latex2e> -% \end{macrocode} -% % For the \LaTeXe{} version, we follow Fairbairns' maxim, and define % something that can even look like a \LaTeX{} macro\dots % % \begin{macrocode} -%<*latex2e> \def\Review{\@ifnextchar:{\@Review}{\@Review:}} \def\@Review:{\@ifnextchar[%] {\@Rev}% {\@Rev[Book review]}} \def\@Rev[#1]#2{{\ignorespaces#1\unskip:\enspace\ignorespaces \slshape\mdseries#2}} -%</latex2e> -%<!latex2e>\def\reviewitem{% -%<latex2e>\def\reviewitem{\addvspace{\BelowTitleSkip}% +\def\reviewitem{\addvspace{\BelowTitleSkip}% \def\revauth##1{\def\therevauth{##1, }\ignorespaces}% -%<!latex2e> \def\revtitle##1{\def\therevtitle{{\sl##1}. }\ignorespaces}% -%<latex2e> \def\revtitle##1{\def\therevtitle{{\slshape##1}. }\ignorespaces}% + \def\revtitle##1{\def\therevtitle{{\slshape##1}. }\ignorespaces}% \def\revpubinfo##1{\def\therevpubinfo{##1.}\ignorespaces}% - } +} \def\endreviewitem{{\noindent\interlinepenalty=10000 \therevauth\therevtitle\therevpubinfo\endgraf}% \vskip\medskipamount -%<!latex>\DeleteOptionalSpacesandPars{\noindent\ignorespaces}% - } -%<!latex2e>\def\booktitle#1{{\sl #1\/}} -%<latex2e>\def\booktitle#1{{\slshape#1\/}} +} +\def\booktitle#1{{\slshape#1\/}} % \end{macrocode} % % \subsection{Dates, volume and issue numbers, etc.} @@ -1288,7 +1250,6 @@ % % \begin{macrocode} \def\TUBfilename#1#2{\expandafter\def\csname file@@#1\endcsname{#2}} -%<*!latex2e> \newread\@altfilenames \def\@readFLN{\immediate\openin\@altfilenames=\jobname.fln \ifeof\@altfilenames\let\@result\relax\else @@ -1297,9 +1258,8 @@ \@result} \@readFLN \everyjob=\expandafter{\the\everyjob\@readFLN} -%</!latex2e> -%<latex2e>\InputIfFileExists{\jobname.fln}% -%<latex2e> {\TBInfo{Reading alternative file file \jobname.fln}}{} +\InputIfFileExists{\jobname.fln}% + {\TBInfo{Reading alternative file file \jobname.fln}}{} % \end{macrocode} % % The following needs to work entirely in \TeX's mouth @@ -1365,21 +1325,31 @@ % Some hyphenation exceptions: % % \begin{macrocode} -\hyphenation{Dijk-stra Eijk-hout Hara-lam-bous - Doc-Book Flor-i-da Ghost-script Ghost-view Open-Type Pfa-Edit - Post-Script True-Type - ap-pen-dix - bit-map bit-mapped bit-maps bool-ean - col-umns +\hyphenation{Del-a-ware Dijk-stra Duane Eijk-hout + Flor-i-da Free-BSD Ghost-script Ghost-view + Hara-lam-bous Jac-kow-ski Karls-ruhe + Mac-OS Math-Sci-Net + Net-BSD Open-BSD Open-Office + Pfa-Edit Post-Script Rich-ard Skoup South-all + VM-ware Win-Edt + acro-nym ap-pen-dix asyn-chro-nous + bit-map bit-mapped bit-maps buf-fer buf-fers bool-ean + col-umns cus-tom-iz-able data-base data-bases + de-riv-a-tive de-riv-a-tives de-riv-a-ble der-i-va-tion fall-ing half-way + key-note long-est ma-gyar man-u-script man-u-scripts - over-view - par-a-digm par-a-digm-atic par-a-digms + off-line over-view + pal-ettes par-a-digm par-a-dig-mat-ic par-a-digms + pipe-line pipe-lines + plug-in plug-ins pro-gram-mable se-vere-ly spell-ing spell-ings stand-alone strong-est + sub-ex-pres-sion syn-chro-ni-city syn-chro-nous time-stamp time-stamped + vis-ual vis-ual-ly which-ever white-space white-spaces wide-spread wrap-around } %<!latex>\restorecat\@ @@ -1416,13 +1386,9 @@ \newdimen\headmargin \headmargin=3.5pc % \end{macrocode} % -% If we're in \LaTeXe, |twoside| option is forced on when +% In \LaTeXe, |twoside| option is forced on when % |article.cls| is loaded. % -% \begin{macrocode} -%<!latex2e>\@twosidetrue -% \end{macrocode} -% % \subsection{Messing about with the \LaTeX{} logo} % \label{sec:latex-logo} % @@ -1445,13 +1411,16 @@ \def\@LaTeX@default{{.36}{.15}} % \end{macrocode} % -% Three more defined in the initial version, for bold CM sans (which is -% used as \cs{SecTitleFont}), and CM italic medium and bold: +% More are defined in the initial version, for bold CM sans (which is +% used as \cs{SecTitleFont}), and CM italic medium and bold, and +% Bitstream Charter (which Nelson Beebe likes to use): % % \begin{macrocode} \DeclareLaTeXLogo{cmss}{bx}n{.3}{.15} \DeclareLaTeXLogo{cmr}m{it}{.3}{.27} \DeclareLaTeXLogo{cmr}{bx}{it}{.3}{.27} +\DeclareLaTeXLogo{bch}{m}{n}{.2}{.08} +\DeclareLaTeXLogo{bch}{m}{it}{.2}{.08} % \end{macrocode} % % Redefine \cs{LaTeX} to choose the parameters for the current font, @@ -1755,19 +1724,9 @@ % otherwise we write it out in all its horribleness. % % \begin{macrocode} -%<*latex2e> \newcommand\netaddress[1][\relax]{% \begingroup \def\@network{}% -%</latex2e> -%<*!latex2e> -\def\netaddress{% - \begingroup - \def\@network{}% - \@ifnextchar[{\@netaddress}{\@netaddress[]}%] - } -\def\@netaddress[#1]{%} -%</!latex2e> % \end{macrocode} % % Unfortunately, because of the catcode hackery, we have still to do @@ -1788,19 +1747,11 @@ % \begin{macrocode} \def\@relay@netaddress#1{% \ProtectNetChars -%<*!latex2e> - \expandafter\xdef\csname thenetaddress\number\authornumber\endcsname - {\leavevmode{\noexpand\rm\@network}% - {\noexpand\NetAddrChars\noexpand\net - \ignorespaces#1\unskip}}% -%</!latex2e> -%<*latex2e> \expandafter\protected@xdef \csname thenetaddress\number\authornumber\endcsname {\protect\leavevmode\textrm{\@network}% {\protect\NetAddrChars\net \ignorespaces#1\unskip}}% -%</latex2e> \endgroup } % \end{macrocode} @@ -1820,12 +1771,6 @@ \makeactive\.\makeactive\%\makeactive\/\@personalURL}% \def\@personalURL#1{% \ProtectNetChars -%<*!latex2e> - \expandafter\xdef\csname thePersonalURL\number\authornumber\endcsname - {\noexpand\URLchars\noexpand\net - \ignorespaces#1\unskip}}% -%</!latex2e> -%<*latex2e> \expandafter\protected@xdef \csname thePersonalURL\number\authornumber\endcsname{% \protect\leavevmode @@ -1834,7 +1779,6 @@ \ignorespaces#1\unskip }% }% -%</latex2e> \endgroup } % \end{macrocode} @@ -1879,43 +1823,26 @@ % % \begin{macrocode} \gdef\ProtectNetChars{* -%<*!latex2e> - \def@{\noexpand@}* - \def%{\noexpand%}* - \def.{\noexpand.}* - \def/{\noexpand/}* -%</!latex2e> -%<*latex2e> \def@{\protect@}* \def%{\protect%}* \def.{\protect.}* \def/{\protect/}* -%</latex2e> } } % \end{macrocode} % -% In \LaTeX2.09, there's no inhibition against simply saying the -% following: -% -% \begin{macrocode} -%<!latex2e>\def\net{\tt} -% \end{macrocode} -% -% \LaTeXe{}, on the other hand (in its wisdom), suppresses +% \LaTeXe{} (in its wisdom) suppresses % \cs{DeclareOldFontCommand} when in compatibility mode, so that in % that circumstance we need to use a declaration copied from % |latex209.def| rather than the way we would normally do the thing % (using the command \LaTeXe{} defines for the job). % % \begin{macrocode} -%<*latex2e> \if@compatibility \DeclareRobustCommand\net{\normalfont\ttfamily\mathgroup\symtypewriter} \else \DeclareOldFontCommand{\net}{\ttfamily\upshape\mdseries}{\mathtt} \fi -%</latex2e> \def\authorlist#1{\def\@author{#1}} \def\@author{\@defaultauthorlist} % \end{macrocode} @@ -1982,11 +1909,7 @@ % \begin{macrocode} \newdimen\stbaselineskip \stbaselineskip=18\p@ \newdimen\stfontheight -%<*!latex2e> -\setbox\T@stBox=\hbox{\sectitlefont O} -\stfontheight=\ht\T@stBox -%</!latex2e> -%<latex2e> \settoheight{\stfontheight}{\sectitlefont O} +\settoheight{\stfontheight}{\sectitlefont O} % \end{macrocode} % % Declaring section titles; the conditional \cs{ifSecTitle} records @@ -2152,16 +2075,9 @@ % Dedications are ragged right, in italics. % % \begin{macrocode} -%<*!latex2e> -\def\dedication{\bgroup\raggedright\let\MF=\slMF - \noindent\it\ignorespaces} -\def\enddedication{\endgraf\egroup\medskip} -%</!latex2e> -%<*latex2e> \newenvironment{dedication}% {\raggedright\noindent\itshape\ignorespaces}% {\endgraf\medskip} -%</latex2e> % \end{macrocode} % % The |abstract| and |longabstract| environments both use @@ -2171,27 +2087,12 @@ % ^^A \cs{@startsection}, to avoid a confusing warning. % % \begin{macrocode} -%<*!latex2e> -\def\abstract{ -\section*{Abstract} -} -\def\endabstract{} -%</!latex2e> -%<*latex2e> \renewenvironment{abstract}% {% \begin{SafeSection}% \section*{Abstract}% }% {\end{SafeSection}} -%</latex2e> -%<*!latex2e> -\def\longabstract{ - \section*{Abstract} - \bgroup\small} -\def\endlongabstract{\endgraf\egroup -%</!latex2e> -%<*latex2e> \newenvironment{longabstract}% {% \begin{SafeSection}% @@ -2201,7 +2102,6 @@ {% \endgraf\egroup \end{SafeSection}% -%</latex2e> \vspace{.25\baselineskip} \begin{center} {$--*--$} @@ -2210,10 +2110,11 @@ % \end{macrocode} % % \subsection{Headings} -% -% Redefine style of section headings to match \TUB{}'s defined styles. -% |\vskip 8pt| \penalty0|\vskip\parskip| before; |\vskip 4pt| after. -% Negative beforeskip suppresses following parindent. +% +% Redefine style of section headings for \TUB: |\vskip 8pt| |plus2pt| +% |minus2pt| \penalty0|\vskip\parskip| before; |\vskip 4pt plus.5pt| +% after. Negative beforeskip suppresses following parindent. (So +% negate the stretch and shrinktoo). % % These macros are called \cs{*head} in the plain styles. % @@ -2230,20 +2131,20 @@ \def\section{\TB@startsection{{section}% 1% \z@ - {-8\p@}% - {4\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% + {4\p@\@plus.5\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@startsection{{subsection}% 2% \z@ - {-8\p@}% - {4\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% + {4\p@\@plus.5\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@startsection{{subsubsection}% 3% \z@ - {-8\p@}% - {4\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% + {4\p@\@plus.5\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\paragraph{\TB@startsection{{paragraph}% 4% @@ -2263,36 +2164,44 @@ \TB@startsection{{section}% 1% \z@ - {-8\p@}% - {4\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% + {4\p@\@plus.5\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@nolimelabel \TB@startsection{{subsection}% 2% \z@ - {-8\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@nolimelabel \TB@startsection{{subsubsection}% 3% \parindent - {-8\p@}% + {-8\p@\@plus-2\p@\@minus-2\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \fi % \end{macrocode} % % \cs{TB@startsection} traps \verb"*" versions of sectioning -% commands. Its argument is the complete set of \cs{@startsection} -% arguments. +% commands, if numbering isn't in effect. Its argument is the +% complete set of \cs{@startsection} arguments. % % \begin{macrocode} -\def\TB@startsection#1{\@ifstar - {\TBWarning{*-form of \expandafter\string\csname\@firstofsix#1% - \endcsname\space inappropriate}% - \@startsection#1}% - {\@startsection#1}} +\if@numbersec + \def\TB@startsection#1{\@startsection#1}% +\else + \def\TB@startsection#1{% + \@ifstar + {\TBWarning{*-form of \expandafter\string\csname\@firstofsix#1% + \endcsname\space + \MessageBreak + conflicts with nonumber class option}% + \@startsection#1}% + {\@startsection#1}% + } +\fi \def\@firstofsix#1#2#3#4#5#6{#1} % \end{macrocode} % @@ -2513,15 +2422,17 @@ % \subsection{Float captions} % % By analogy with what we've just done to section titles and the like, -% we now do our best to discourage hyphenation within captions. +% we now do our best to discourage hyphenation within captions. We also +% typeset them in \cs{small}. % % \begin{macrocode} -\long\def\@makecaption#1#2{% +\def\@makecaption#1#2{% \vskip\abovecaptionskip - \sbox\@tempboxa{#1: #2}% + \def\@makecaptiontext{\small \parindent=1em\noindent #1: #2}% + \setbox\@tempboxa=\vbox{\@makecaptiontext\par}% \ifdim \wd\@tempboxa >\hsize \raggedright\hyphenpenalty=\@M - #1: #2\par + \@makecaptiontext \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% @@ -2681,7 +2592,7 @@ % \end{macrocode} % % To end the environment, we do everything in reverse order: relay via -% the copy we made of \cs{endveratim}, and then finish off the option +% the copy we made of \cs{endverbatim}, and then finish off the option % changes (again \cs{ruled} only, so far). % % \begin{macrocode} @@ -2966,9 +2877,7 @@ % \subsection{Running heads} % % \begin{macrocode} -%<!latex2e>\def \rtitlex{\def\tubfont{\normalsize\rm}\TUB, \volx } -%<latex2e>\def \rtitlex{\def\texttub##1{{\normalsize\textrm{##1}}}\TUB, \volx } - +\def \rtitlex{\def\texttub##1{{\normalsize\textrm{##1}}}\TUB, \volx } \def\PrelimDraftfooter{% \dlap{\kern\textheight\kern3pc \rlap{\hb@xt@\pagewd{\midrtitle\hfil\midrtitle}} @@ -3025,6 +2934,7 @@ \newif\ifFirstPar \FirstParfalse \def\smc{\sc} \def\ninepoint{\small} +%</classtail> % \end{macrocode} % % \cs{SMC} \emph{isn't} small caps~--- Barbara Beeton says she thinks @@ -3049,14 +2959,12 @@ % We define this in terms of the memory of the size currently selected % that's maintained in \cs{@currsize}: if the user does something % silly re.~selecting fonts, we'll get the wrong results. The -% following code is adapted from |relsize.sty| by Donald Arseneau and -% Matt Swift, from a 2.09 original by Bernie Cosell. (Note that the +% following code is adapted from an old version of |relsize.sty| by +% Donald Arseneau and Matt Swift. (Note that the % order of examination of \cs{@currsize} is to get the commonest cases % out of the way first.) % \begin{macrocode} -%<!latex2e>\def\SMC{\small} -%<*latex> -%<*latex2e> +%<*common> \DeclareRobustCommand\SMC{% \ifx\@currsize\normalsize\small\else \ifx\@currsize\small\footnotesize\else @@ -3071,7 +2979,7 @@ \small\SMC@unknown@warning \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi } -\newcommand\SMC@unknown@warning{\TBWarning{\string\SMC: unrecognised +\newcommand\SMC@unknown@warning{\TBWarning{\string\SMC: nonstandard text font size command -- using \string\small}} \newcommand\textSMC[1]{{\SMC #1}} % \end{macrocode} @@ -3082,10 +2990,7 @@ % % \begin{macrocode} \newcommand\acro[1]{\textSMC{#1}\@} -%</latex2e> -%<!latex2e>\def\acro#1{{\SMC #1}\@} -%</latex> -%<!latex>\def\acro#1{{\SMC #1}\spacefactor\@m} +%</common> % \end{macrocode} % % \subsection{Miscellaneous definitions} @@ -3096,6 +3001,7 @@ % (Yes, it really is!) % % \begin{macrocode} +%<*classtail> \def\xEdNote{{\EdNoteFont Editor's note:\enspace }} \def \EdNote{\@ifnextchar[%] {% @@ -3145,7 +3051,7 @@ %% } -\def\fnum@figure{{\bf Figure \thefigure}} +\def\fnum@figure{{\small\bf Figure \thefigure}} % \end{macrocode} % % \subsection{Initialization} @@ -3303,20 +3209,20 @@ % \end{macrocode} % % Check that this is a ``sensible year'' (one for which we have a -% class option defined). If not, make it the `most recent year we -% know about'. +% class option defined). If not, make it a `suitable' year, in +% particular, one that allows numbering sections. % \begin{macrocode} \expandafter\ifx\csname ds@tug\tugProcYear\endcsname\relax \def\tugProcYear{2002}\fi % \end{macrocode} % \end{macro} -% -% Now execute the default `year' option, and the default -% \textsf{nonumber} option and get on with processing. Note that this -% command gets ignored if the configuration file specifies a silly year. +% +% Now execute the default `year' option and get on with processing. +% Note that this command gets ignored if the configuration file +% specifies a silly year. % % \begin{macrocode} -\ExecuteOptions{nonumber,tug\tugProcYear,title\TUGprocExtraOptions} +\ExecuteOptions{tug\tugProcYear,title\TUGprocExtraOptions} \ProcessOptions \if@proc@numbersec \if@proc@numerable @@ -3339,7 +3245,7 @@ % \begin{macro}{\ifTB@madetitle} % There's no provision for `section titles' in proceedings issues, as % there are in \TUB{} proper. Note the tedious \LaTeX{} bug-avoidance -% in the \cs{@TB@test@document} macro +% in the \cs{@TB@test@document} macro. % % \begin{macrocode} \def\maketitle{% @@ -3390,7 +3296,6 @@ % \cs{@TB@test@document} checks to see, at entry to \cs{maketitle}, if % we've had \verb:\begin{document}:. See \LaTeX{} bug report latex/2212, % submitted by Robin Fairbairns, for details. -% % \begin{macrocode} \def\@TB@test@document{% \edef\@tempa{\the\everypar} @@ -3407,7 +3312,6 @@ % \begin{macro}{\addressfont} % \begin{macro}{\netaddrfont} % Define the fonts for titles and things -% % \begin{macrocode} \def\AUTHORfont {\large\rmfamily\mdseries\upshape} \def\TITLEfont {\Large\rmfamily\mdseries\upshape} @@ -3419,9 +3323,21 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\aboveauthorskip} +% \begin{macro}{\belowauthorskip} +% \begin{macro}{\belowabstractskip} +% Some stretchable stuff to permit variability in page layout. +% \begin{macrocode} +\newskip\aboveauthorskip \aboveauthorskip=18\p@ \@plus4\p@ +\newskip\belowauthorskip \belowauthorskip=\aboveauthorskip +\newskip\belowabstractskip \belowabstractskip=14\p@ \@plus3\p@ \@minus2\p@ +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macro}{\@maketitle} % The body of \cs{maketitle} -% % \begin{macrocode} \def\@maketitle{% {\parskip\z@ @@ -3429,19 +3345,20 @@ \count@=0 \loop \ifnum\count@<\authornumber - \vskip20\p@ + \vskip\aboveauthorskip \advance\count@\@ne {\AUTHORfont\theauthor{\number\count@}\endgraf}% \addressfont\theaddress{\number\count@}\endgraf {% \allowhyphens \hangindent1.5pc + \frenchspacing \netaddrfont\thenetaddress{\number\count@}\endgraf \hangindent1.5pc \thePersonalURL{\number\count@}\endgraf }% \repeat - \vskip20\p@}% + \vskip\belowauthorskip}% \if@abstract \centerline{\bfseries Abstract}% \vskip.5\baselineskip\rmfamily @@ -3451,7 +3368,7 @@ \the\abstract@toks \endlist\global\@ignoretrue \fi - \vskip1pc + \vskip\belowabstractskip \global\@afterindentfalse\aftergroup\@afterheading } % \end{macrocode} @@ -3566,6 +3483,30 @@ % \end{macro} % \end{environment} % +% \begin{macro}{\creditfootnote} +% \begin{macro}{\supportfootnote} +% Sometimes we want the label ``Editor's Note:'', sometimes not. +% +% \begin{macrocode} +\def\creditfootnote{\nomarkfootnote\xEdNote} +\def\supportfootnote{\nomarkfootnote\relax} +% \end{macrocode} +% +% General macro \cs{nomarkfootnote} to make a footnote without a +% reference mark, etc. |#1| is an extra command to insert, |#2| the +% user's text. +% \begin{macrocode} +\gdef\nomarkfootnote#1#2{\begingroup + \def\thefootnote{}% + % no period, please, also no fnmark. + \def\@makefntext##1{##1}% + \footnotetext{\noindent #1#2}% + \endgroup +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\makesignature} % \cs{makesignature} is improper in proceedings, so we replace it with a % warning (and a no-op otherwise) @@ -3669,11 +3610,12 @@ % \end{macro} % % \subsection{Section divisions} -% -% Neither sections nor subsections are numbered in the proceedings -% style: note that this puts a degree of stress on authors' natural -% tendency to reference sections, which is a matter that needs -% attention. +% +% Neither sections nor subsections are numbered by default in the +% proceedings style: note that this puts a degree of stress on authors' +% natural tendency to reference sections, which is a matter that needs +% attention. The class option \textsc{numbersec} once again numbers the +% sections (and noticeably changes the layout). % % \begin{macrocode} \if@proc@numbersec |