diff options
author | Karl Berry <karl@freefriends.org> | 2007-04-02 23:49:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-04-02 23:49:12 +0000 |
commit | 016c58740bb7f1ffc794ca97c492fdab010f913d (patch) | |
tree | f301a76011f877b0d9289c64243082238df513e8 | |
parent | e0f182fd8b27038d7b911a1e9a6cdb180ebced8e (diff) |
(latex) tugboat update (30mar07), no more tugboat special case
git-svn-id: svn://tug.org/texlive/trunk@4102 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Build/tools/ctan2tl | 13 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/plain/tugboat/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/plain/tugboat/tubguide.pdf | bin | 117297 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/plain/tugboat/tubguide.tex | 869 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/tugboat/tugboat.dtx | 138 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugboat.cls | 60 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugboat.sty | 5 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty | 18 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugproc.cls | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugproc.sty | 5 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/tugboat/tugboat.cmn | 1060 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/tugboat/tugboat.sty | 2245 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/tugboat/tugproc.sty | 366 | ||||
-rw-r--r-- | Master/texmf-dist/tpm/tugboat.tpm | 14 | ||||
-rw-r--r-- | Master/texmf/lists/tugboat | 6 |
16 files changed, 152 insertions, 4669 deletions
diff --git a/Build/tools/ctan2tl b/Build/tools/ctan2tl index 0e01ef482f0..622656c691f 100755 --- a/Build/tools/ctan2tl +++ b/Build/tools/ctan2tl @@ -96,19 +96,6 @@ else cp -pr $ctan_dir1/. $pkg fi -# Another special case: annoyingly, tugboat plain and tugboat latex are -# stored in two different places on ctan. we'll assume we're invoked -# with the latex dir, and now arrange to also copy in the plain stuff to -# a `plain' subdirectory, which ctan2tds.pl has a further special case -# to handle. Maybe we'll come across other cases like this, in which -# case we can generalize this. -# -if test "$pkg" = tugboat; then - ctan_dir2=`echo $ctan_dir1 | sed s/latex/plain/` - destdir2=$pkg/plain - cp -r $ctan_dir2 $destdir2 -fi - fi # end of copying from CTAN. diff --git a/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst b/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst index 7c62871ae2f..181f94c0875 100644 --- a/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst +++ b/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst @@ -2,7 +2,7 @@ %% to the ltug* LaTeX classes. %% %% \iffalse (this is a meta-comment (so they say)) -%% Copyright (C) 1995,1996,1997,1998,2000,2004,2006 TeX Users Group. +%% Copyright (C) 1995,1996,1997,1998,2000,2004,2006,2007 TeX Users Group. %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -222,7 +222,7 @@ FUNCTION {format.names} namesleft #1 > { ", " * t * } { - numnames #2 > + numnames #1 > { "," * } 'skip$ if$ diff --git a/Master/texmf-dist/doc/plain/tugboat/README b/Master/texmf-dist/doc/plain/tugboat/README deleted file mode 100644 index 996049fd4fe..00000000000 --- a/Master/texmf-dist/doc/plain/tugboat/README +++ /dev/null @@ -1,4 +0,0 @@ -(This file in the public domain.) - -The plain style files for TUGboat, the journal of the TeX Users Group. -See http://tug.org/TUGboat for back issues, author information, and more. diff --git a/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf b/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf Binary files differdeleted file mode 100644 index 5e00b9eea76..00000000000 --- a/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/plain/tugboat/tubguide.tex b/Master/texmf-dist/doc/plain/tugboat/tubguide.tex deleted file mode 100644 index 56a18c8602b..00000000000 --- a/Master/texmf-dist/doc/plain/tugboat/tubguide.tex +++ /dev/null @@ -1,869 +0,0 @@ -%% @texfile{ -%% filename = "tubguide.tex", -%% version = "1.03", -%% date = "2006/05/24", -%% time = "09:48:56 EDT", -%% checksum = "12752 869 4993 34296", -%% filetype = "TUGboat Authors' Guide", -%% copyright = "Copyright 1989, 1992, 2006 TeX Users Group. -%% Unlimited copying and redistribution of this file -%% are permitted as long as this file is not -%% modified. Modifications (and redistribution of -%% modified versions) are also permitted, but only if -%% the resulting file is renamed." -%% author = "TeX Users Group", -%% address = "TeX Users Group, -%% P.O.Box 2311, -%% Portland, OR 97208-2311, -%% USA", -%% telephone = "+1 503 223-9994", -%% FAX = "+1 206 203-3960", -%% email = "TUGboat@tug.org", -%% codetable = "ISO/ASCII", -%% keywords = "tex users group, tugboat, authors' guide", -%% supported = "yes", -%% abstract = "This file is an updated version of the file -%% that produced the original Authors' Guide in -%% TUGboat 10, no. 3, November 1989.", -%% docstring = "The checksum field above contains a CRC-16 -%% checksum as the first value, followed by the -%% equivalent of the standard UNIX wc (word -%% count) utility output of lines, words, and -%% characters. This is produced by Robert -%% Solovay's checksum utility.", -%% } -%% ********************************************************* -%% -%% TeXing this file requires the following files: -%% TUGBOAT.STY (version 1.09+) -%% TUGBOAT.CMN (version 1.08+) (loaded by TUGBOAT.STY) -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\input tugboat.sty - -\enablemetacode -\everyverbatim{\enablemetacode} -\def\halfline{\vskip 0.5\baselineskip \ignoreendline} - -% **************************************************************** - -\pageno=1 -\def\rtitlex{\def\tubfont{\tenpoint\rm}\TUB{} Authors' Guide, May 2006} -\def\midrtitle{} - -\title *\TUB\/ Authors' Guide* - -\author * Ron Whitney * -\address * \TUG\\ - \POBox 9506\\ - Providence, RI 02940-9506 * -%\netaddress * TUGboat@Math.AMS.com * - -\author * Barbara Beeton * -\address * American Mathematical Society\\ - 201 Charles Street\\ - Providence, RI 02904-2294 * -\netaddress * TUGboat@tug.org * - - -\vfootnote{}{Revised March 1992, May 2006; the original appeared in -\tubissue 10(3), November 1989.} - -\article - -With this article we hope to fill a lacuna (some might say ``void'') -whose existence we have been attributing to the usual factors: tight -schedules, alternative priorities and warty \TeX\ code. We now feel -the macros in use for \TUB\/ have stabilized to the extent that -documentation and suggestions for authors will remain fairly constant, -and we hope this article can serve as a reasonable guide to -preparation of manuscripts for \TUB. Authors who have used the \TUB\/ -macros before will note several changes (including more modern names -for the style files). Suggestions and comments are quite welcome at -the addresses listed below. - -\TUB\/ was originally typeset with a package based only on \plain. -Later, as demand for style files follows wherever -\LaTeX-devotees wander, a \TUB\/ variant of the \LaTeX\ {\tt article} -style was also created. The two macro sets yield -much the same output, differing in certain ways for input. Below we -make comment on various aspects of the \TUB\/ package, first for the -\plain-based macros, then for \LaTeX. The macro sets share -the file |tugboat.cmn|,\footnote{$^1$}{This file used to be named -{\tt tugboat.com}, but that notation was in conflict with conventions -of \acro{MS-DOS} and other operating systems; no conflicts are known to -exist for the new name.} and users of either style should read the -section entitled ``Common Abbreviations and Utilities''. We conclude -with some general suggestions to help make the lives of those on the -receiving end of (any kind of) electronic copy a little easier. - - -\head * The \plain-based macros: {\tt tugboat.sty} * - -The macros are contained in two files, |tugboat.sty| and |tugboat.cmn|.$^1$ - -\subhead * General description of tags * -We attempt wherever possible to tag the various elements of \TUB\/ -articles in a ``generic'' way, modified in some respects by -convenience. Authors and editors, of course, need tools to shape -their articles to the form they desire, but we also wish to encourage -a tagging style which is appropriate for electronic interchange. It -seems unfair to expect much thought from authors concerning the -markup of their information if we only provide a bag of widgets and -do-hickies to hack and pound an article together. The tags whose use -we encourage are the higher-level tags that mark the logical -document structure. Below these are formatting macros that we -recognize may be essential for certain applications. Both sorts of -tags are described in the following article. - -Generally, to ``mark up'' the data <foo>, a tag |\xxx| will precede -<foo> and |\endxxx| will follow (thus: |\xxx <foo>\endxxx|). We use -the |{...}| form to delimit arguments of lower-level formatting -macros. Optional commands follow tags and are enclosed in -|[\lastoption][...]|, \`a la \LaTeX. Several options may be enclosed -within one set of square brackets, or each -option may be enclosed in its own set of brackets. These ``options'' -are actually just \TeX{} commands, and it is always possible to -insert raw \TeX{} code as an option. Such practice violates truly -generic markup, but it is {\it helpful\/} and at least confines -The Raw and Dirty to a smaller area. -\subtext -Perhaps a little more detail is of use to some readers here. -Upon encountering a tag, the general operational scheme of the -macros is as follows: -\verbatim[\makecomment\%]% -[\def\lquote{`}\def\rquote{'}\makeescape\|\makebgroup\`\makeegroup\']% -[\displaystyle{\everypar{\hangindent2\parindent}\advance\baselineskip by 1pt}] -<read tag> -\begingroup -<set defaults> -\the\every... -<read options> -<branch to appropriate action,|hfil|break|ignoreendline -using `|rm|lquote|lquote'argument|/`|rm|rquote|rquote' as necessary> -<cleanup> -\endgroup -\endverbatim -The scheme shows that code inserted as an option is localized and that -it may be used to override certain defaults and to guide branching. -Things are not always simple, however. Sometimes parameters are set -after a branch is taken (e.g.\ the macros might only call |\raggedright| -after determining whether the mode is ``|\inline|'' or -``|\display|''), and, despite localization, parameter setting might -affect the current paragraph if a branch has yet to be taken. -This is {\it not\/} to say the macros don't work, but rather that -those authors who venture beyond the documented regions of the -macros should do so with their eyes open. -\endtext - -For convenience, we also allow the |*| as a delimiter for the -higher-level tags; thus we could use either -||\title \TUB\/ Authors' Guide \endtitle|| -or -||\title * \TUB\/ Authors' Guide *|| -to indicate the title of this paper. To typeset a \ast{} within text -delimited by |*|, the \plain\ control sequence |\ast| has been extended -to give -\ast{} in text and the usual $\ast$ in math. -\subtext -This markup scheme may suffer at the hands of \TeX's parsing mechanism -when tagged data is nested. In these cases, one may group (|{...}|) -embedded data so that \TeX{} knows to proceed to the next |\end...| -or |*|. -\endtext - -In the cases where we show extra spaces and carriage returns around -arguments in this article, those (discretionary) spaces are -accommodated in the macros. Thus, for example, when the argument to -|\title| above is typeset, |\ignorespaces| and |\unskip| surround it -and the extra spaces have no untoward effect. Spaces are also -gobbled between options. - - -\subhead * Outer form * -At the outermost level, a source file will have the form (using the -|*...*| delimiters): -\verbatim[\makeescape\|] -\input tugboat.sty -|halfline -<perhaps additional macros for article> -|halfline -\title * <title> * -\author * <author> * -\address * <address> * -\netaddress * <network address> * -|halfline -\article -|vellipsis -<body of article> -|vellipsis -\makesignature -\endarticle -\endverbatim - -Data preceding |\article| is saved and typeset when |\article| -is encountered. Each author should have his/her own -|| -\author ... -\address ... -\netaddress ... -|| -block, and the macros will do their best to combine the information -properly in the appropriate places. Explicit linebreaks can be -achieved within any of these items via |\\|. Title and authors are, -of course, set at the beginning of an article; the address -information is listed separately in a ``signature'' near the end of -an article, and is present for the convenience of those who might -photocopy excerpts from an issue of \TUB. |\makesignature| does the -typesetting work. Generally authors are listed separately in the -signature. In cases where authors and addresses are to be combined, -one may use |\signature{...}| and |\signaturemark| with some or all -of -|| -\theauthor {<author number>} -\theaddress {<author number>} -\thenetaddress {<author number>} -|| -to get the desired result. For example, for an article with% -\footnote{$^2$}{\xEdNote The \TUB{} address shown in examples -was current when this article first appeared, but is now obsolete; -it has been left intact to avoid other problems. The correct address -is now {\tt TUGboat@tug.org}.} -\verbatim[\outputtofile{ray.vbm}] -\author * Ray Goucher * -\address * \TUG * -\netaddress *TUG@Math.AMS.com* - -\author * Karen Butler * -\address * \TUG * -\netaddress *TUG@Math.AMS.com* -\endverbatim -we could say -\verbatim[\outputtofile{sig.vbm}] -\signature { - \signaturemark - \theauthor1 and \theauthor2\\ - \theaddress1\\ - \thenetaddress1} -\endverbatim -to obtain the signature -\begingroup -\authornumber=0 -\input ray.vbm -\input sig.vbm -\makesignature -\medskip -\endgroup - -\noindent -Use of at least |\thenetaddress| is recommended for this just so that -the network address gets formatted properly. The optional command -|[\lastoption][\network{...}]| will introduce the network address -with a network name, so -||[\outputtofile{code.vbm}] -\netaddress[\network{Internet}] - * TUGboat@Math.AMS.com * -|| -produces -{\authornumber=1 - \input code.vbm - \figure[\mid\nofloat] \leftline{\kern\parindent\thenetaddress1} \endfigure -} - -\leavevmode|\endarticle| marks the end of input and is defined as -|\vfil\end| for most uses. We redefine it as |\endinput| to -assemble streams of articles in \TUB. - - -\subhead * Section Heads * -Heads of sections, subsections, etc.\ are introduced with |\head|, -|\subhead|, etc., respectively. The underlying macros all use -|\head|, so |\endhead| is the long-form ending for all these tags. -For example, the first two heads of this article could have been -keyed as -|| -\head The \plain-based macros: - {\tt tugboat.sty} \endhead -|| -and -|| -\subhead General description of - tags \endhead -|| - -In \TUB\/ style, the paragraph following a first-level head is not -indented. This is achieved by a look-ahead mechanism which gobbles -|\par|s and calls |\noindent|. Actually all of the |\...head| tags -gobble pars and spaces after their occurrence. This allows one to -enter a blank line in the source file between head and text, such -practice being a visual aid to your friendly \TUB\/ editors (if not to -you). Be careful of that |\noindent| after a first-level head: -you will be in horizontal mode after the |\head *...*|, so spaces -which {\it appear\/} innocuous, may not be so. - - -\subhead * Lists * -Lists are everywhere, of course, and a simple list hierarchy can -transform a one-dimensional typesetting problem into something -nasty. All of which is to say, we are certainly not done with -this area of tagging, but here are the available macros. - -Not surprisingly, |\list| marks the beginning of a list. A list -can be itemized, wherein each item is tagged with |\item|, or -unitemized wherein items are delimited by |^^M| (the end of your -input line). The itemized -style is the default and |[\lastoption][\unitemized]| will get -the other. Tags for the items default to the |\bullet| -($=\bullet$), but can be changed by feeding an argument to -|\tag{...}|. The |[\lastoption][\tag{...}]| option -used with |\list| assigns the tag for each item of the entire -list, while |[\lastoption][\tag{...}]| used with |\item| changes -only the tag for that item. The obvious dynamical tags are available -with options -\verbatim[\makeescape\|\makebgroup\`\makeegroup\'] -\numbered -\romannumeraled -\lettered `|rm(lowercase)' -\Lettered `|rm(uppercase)' -\endverbatim - -Lists can be set in several columns by setting |\cols=...|. The -columns are aligned on their top baselines and the user must -break the columns with |\colsep|. Thus, -\verbatim[\outputtofile{code.vbm}] -\list[\unitemized\numbered][\cols=2] -Fourscore -and seven -years ago -our fathers -\colsep -brought forth -on this -continent -\endlist -\endverbatim -yields -\input code.vbm - -|\everylist| is a token register which is scanned at the beginning -of each list -after the default parameters are set and before -options are read. If you want all your lists numbered, for example, -you might insert ||\everylist{\numbered}|| at the top of your file -rather than giving an option to each list. - -Implementation of sublists is under construction. - -\subhead * Verbatim Modes * - -There are several variations on this theme. In each case, text is -printed in a typewriter font and (almost) all input characters -produce the glyph in the font position of their character-code (i.e.\ -you get what you type, no escaping it). In addition to the long form -||\verbatim...\endverbatim|| the \verbinline|\endverbatim\ character -can be used to enter and leave verbatim mode, acting as a toggle much -as the |$| does with math. \verbinline|...|\endverbatim\space -produces inline verbatim text, while \verbinline||...||\endverbatim -displays its output. |\verbatim| itself defaults to display form, -but |\verbatim[\inline]| and its contraction |\verbinline| (both -terminated by |\endverbatim|) produce the inline form. |^^M| yields -a space inline, and a new paragraph in display. Generally, for -snippets of text we use the \verbinline|...|\endverbatim form, and -for longer items the -||[\makeescape\!] -\verbatim -!vellipsis -\endverbatim -|| -form (although \verbinline||...||\endverbatim is a good way to -display a single line of code). - -In addition to formatting text between |\verbatim| and -|\endverbatim|, |\verbatim| may read and write data from and to -files. We find this variant useful in ({\it almost\/}) guaranteeing -consonance between macros in use and their published listings. -||[\makeescape\!] -\verbatim[\inputfromfile{foo.inp}] -!vellipsis -\endverbatim -|| -will incorporate the contents of file |foo.inp| in the listing before -the text between |\verbatim| and |\endverbatim|. The shortened form -||\verbfile{foo.inp}\endverbatim|| accomplishes the above in the case -that the text is empty. While the code around the data, |foo.inp|, -above looks excessively long, do remember the implementation -uses the basic |\verbatim| macro, so options can also be read after -the filename. For example, -|| -\verbfile{foo.inp}[\numbered] -\endverbatim -|| -would number the lines of the listing. - -We often rearrange code supplied to us so -that it fits in the narrow measure of \TUB's two-column format, and -we sometimes make corrections to macro sets (you thought you were -perfect!). Since errors can (and do\Dash we aren't perfect either) -creep in with these modifications, we use the above technique to -maintain consistency between the listing published in \TUB\/ and the -underlying macros used for examples. - -To write out information, use -||[\makeescape\!] -\verbatim[\outputtofile{foo.out}] -!vellipsis -\endverbatim -|| -An added bonus here is that characters which get internalized as -moribund ``letters'' or ``others'' in the process of listing them, -can return revitalized for perhaps their real use when written out to -another file and read in again. The example above involving Ray -and Karen was coded as -||[\makeescape\/][\makeactive\!][\def!{\VertChar}] -... to get the desired result. For -example, for an article with -\verbatim[\outputtofile{ray.vbm}] -\author * Ray Goucher * -/vellipsis -\endverbatim -we could say -\verbatim[\outputtofile{sig.vbm}] -\signature { - \signaturemark - \theauthor1 and \theauthor2\\ - \theaddress1\\ - \thenetaddress1} -\endverbatim -to obtain the signature -\begingroup -\authornumber=0 -\input ray.vbm -\input sig.vbm -\makesignature -\endgroup -|| -This is perhaps not the most edifying example, but you get the gist. -(We localize the process of storing and retrieving these -authors and addresses so as not to clobber our own.) -We would encourage our authors to use these mechanisms for connecting -verbatim text to external files for the sake of maintaining -consistency between active code and its documentation. - -\leavevmode|\verbatim| scans to |\endverbatim| (a 12-token sequence -since the |\| is of type `other' after |\verbatim| gets going). Only -this sequence of characters will interrupt the scan. On the other -hand, \verbinline|\endverbatim and \verbinline||\endverbatim scan to -the next \verbinline|\endverbatim and \verbinline||\endverbatim, -respectively. Needless to say, one should use forms of |\verbatim| -to set text which contains \verbinline|\endverbatim (and -\verbinline|\endverbatim or \verbinline||\endverbatim to set text -containing |\endverbatim| if you are writing an article like this -one). Both the \verbinline|\endverbatim and |\verbatim| tags scan -ahead for the usual |[\lastoption][| to check for options. In those -rare cases when the |[\lastoption][| is really supposed to be the -first character of the verbatim text, use the option -|[\lastoption][\lastoption]| to stop option parsing. For example, to -show ||[\lastoption][\lastoption]|| we keyed -\verbatim -|[\lastoption][\lastoption]| -\endverbatim - -There are situations where one wants to typeset most things verbatim, -but ``escape'' to format something exceptional. For example, the -insertions of metacode given in the listings above require some -access to the italic font. By giving the option -|[\lastoption][\makeescape\!]| to |\verbatim|, the |!| is made an -escape character in that block. Thus, -||[\makeescape\/] -\verbatim[\makeescape\!] -/vellipsis -...!it... -/vellipsis -\endverbatim -|| -really calls the italic font in the middle of the listing (one might -also want to use |\makebgroup| and |\makeegroup| in the options to define -characters to localize this call; see p.~7). Situations -will dictate preferences for what character may be used as an escape -(we use the \verbinline|\endverbatim, |!|, and |/| in this article). -There is also a means of changing the setup of every occurrence of -verbatim mode. The contents of token register |\everyverbatim| -is scanned after the defaults of verbatim mode -have been set. In this article, for example, we have made -|[\makeother\<]<| active and defined it in such a way that -|[\makeother\<]<...>| typesets as metacode. Since |\verbatim| -ordinarily changes |[\makeother\<]<| to type `other' on startup, we key -||\everyverbatim{\enablemetacode}|| at the beginning of the file -to have the proper adjustment made whenever verbatim is started. - -When ``escaping'' within a verbatim block, one should be aware that -spaces and carriages returns are {\it active\/} and hence not gobbled -as usual. Using the |!| as the active character, one might key -||[\makeescape\/] -\verbatim[\makeescape\!] -/vellipsis -!vskip .5!baselineskip -/vellipsis -\endverbatim -|| -to get an extra half line of space in the middle of the listing. The -space and carriage return on this line, however, cause problems. The -space expands to |\ifvmode\indent\fi\space| and \TeX\ will not like -the |\indent| after |\vskip|. The |^^M| expands to -|\leavevmode\endgraf|, and therefore puts an extra line into the -listing. The solutions, in this case, are to drop the space and to -use |!ignoreendline| (which just gobbles the |^^M|), but one should -be aware, generally, that some thought may be required in these situations. - -The option |[\lastoption][\numbered]| causes the lines of a -verbatim listing to be numbered, while |[\lastoption][\ruled]| -places rules around the whole thing: -\verbatim[\numbered\ruled] -<code> -<more code> -<yet more code> -... -\endverbatim -The option |[\lastoption][\continuenumbers]| picks up the numbering -where it last left off. -\verbatim[\continuenumbers] -<more> -<and more> -... -\endverbatim - -The code underlying |\verbatim| in display style implements each line -as a paragraph and places math-display-size whitespace above and -below the verbatim section. Page and column breaks {\it are\/} -permitted within these listings. To prohibit breaks at specific -points or globally, one must insert penalties or redefine |^^M| to -insert |\nobreak| in the vertical list at the end of each -``paragraph'' (i.e.\ line). We should also note that the bottom of -such a verbatim listing is implemented so that ensuing -text may or may not start a new paragraph depending on whether an -intervening blank line (or |\par|) is or is not present. - - -\subhead * Figures and Page Layout * -Figures are keyed as -\verbatim[\makeescape\|] -\figure -|halfline -<vertical mode material> -|halfline -\endfigure -\endverbatim -These are generally implemented as single-column floating -top-insertions, but the options |[\lastoption][\mid]| and -|[\lastoption][\bot]| can change specific items to be mid- or -bottom-insertions, respectively. Here we recommend that the -long-form terminator be used ({\it not\/} the |*...*| form). One can -think of the information ``passed'' as being ``long'' in the sense of -possibly containing paragraphs, this being a mnemonic device only. -The primary reason for the recommendation is that one is (in some -sense, maybe) more likely to encounter a rogue |*| in longer text -than in shorter text and hence more likely to encounter a surprising -result due to a macro stopping short at the wrong |*|. - -\subtext -Perhaps here is a natural place to mention also that these macros -sometimes read their arguments and then act, and sometimes act on the -fly, not actually storing an argument as a string of tokens at all. -|\title|, for example, is in the former category, while |\figure| is -in the latter. Reasons may vary for the choice in -methods. Storing a string of tokens as an argument does not allow -re-interpretation of the category codes of the underlying -character string. Thus, storing -the ``argument'' of |\figure| all at once might misinterpret some -characters which should appear as verbatim text. For this reason we -set figures as we go and just close off the box with |\endfigure|. On -the other hand, using information in multiple situations (e.g.\ -titles and running heads) requires storing the information as a token -string, not as a typeset list. - -When text delimited by |*...*| is read as an argument, the |*|s are -dropped by the parsing process. When the text is handled on the fly, -the first |*| is gobbled and the second is made active to perform -whatever action is necessary at the close of the macro. When -possible, we prefer to operate on the fly since nested tags are -handled properly in that case and no memory is consumed to store -arguments. Examination of |tugboat.sty| will show which case applies -in a given situation, but this general knowledge may help when trying -to debug those situations in which an unexpected |*| has disrupted -things. -\endtext - - -A primitive |\caption{...}| option is available to |\ulap| -(i.e.\ lap upward) its argument into the figure space, but -formatting of the caption is left to the user. For example, -the code: -\verbatim[\outputtofile{code.vbm}] -\figure[\top] - [\caption{\centerline{Odd Fig.~1}}] -\vbox to 5pc{} -\endfigure -\endverbatim -produces the figure at the top of this column or the next. - -\input code.vbm - -Figures spanning columns at the top and bottom of a page are currently -supported only on the first page of an article, but we expect they -will soon be allowed on any page (a general rewrite of the output -routine is in progress). |\twocolfigure| (terminated by |\endfigure|) -starts up such a figure and currently {\it must\/} occur before any -material has been typeset on the first page (i.e.\ {\it before\/} -|\article|). - - -Macros |\onecol|, |\twocol|, and |\threecol| provide one-, two-, and -three-column layouts, but these cannot currently be intermixed on a -page. We hope to provide automatic column-balancing and convenient -switching between one- and two-column format within a year. -|\newpage| in each format is defined to fill and eject enough columns -to get to the next page. |\newcol| is just |\par\vfill\eject|. - -\subhead * Command List Summary * -Tags are listed in the order discussed. Options are -listed under tags. -|| -\title -\author -\address -\netaddress - \network -\signature -\article -\makesignature -\endarticle -\head -\subhead -\subsubhead -\list - \numbered - \romannumeraled - \lettered - \Lettered - \ruled - \tag{...} -\item - \tag{...} -\everylist -\verbatim - \numbered - \ruled - \inputfromfile{...} - \outputtofile{...} -\verbinline -\verbfile -\figure - \mid - \bot - \caption{...} -\twocolfigure -|| -and, of course, \verbinline|\endverbatim and \verbinline||\endverbatim. - -\head * The \LaTeX\ macros: {\tt ltugboat.sty}% -\footnote{$^3$}{This discussion of {\tt ltugboat.sty} is now of -historical interest only; it has been superseded by a \LaTeXe{} -documentclass, {\tt ltugboat.cls}, available from \CTAN.} * - -|ltugboat.sty| is the primary macro file, and is based on the \LaTeX{} -|article.sty|. |tugboat.cmn|, a collection of items common to both -\LaTeX\ and \plain\ input, is also required. Articles will have -the form:\footnote{$^4$}{{\tt ltugboat} used to be a substyle; it now -stands on its own, by automatically inputting {\tt article.sty}.} -\verbatim[\makeescape\|] -\documentstyle{ltugboat} -|halfline -<perhaps additional macros for article> -|halfline -\title {<title>} -\author{<author>} -\address{<address>} -\netaddress{<netaddress>} - -\begin{document} -\maketitle -|vellipsis -<body of article> -|vellipsis -\makesignature -\end{document} -\endverbatim -This is the usual form for \LaTeX\ documents, of course, except -that now each author will have his/her own -\verbatim -\author{...} -\address{...} -\netaddress{...} -\endverbatim -block. As with the \plain{} style, the author and address -macros will store their information for later display. -See the discussion of |\address|, |\netaddress| and |\makesignature| -on the second page of this article to understand more. Linebreaks -within |\title|, |\author|, and |\...address| are specified with |\\|. - -We refer the user to the \LaTeX\ manual for description of section -heads, verbatim mode, insertions, and movement between one- and -two-column format. The style of printed output has, of course, been -somewhat modified to fit \TUB\/ style. |ltugboat.sty| might be of some -use to others wishing to modify the |article| option in this -direction. - - - -\head * Common Abbreviations and Utilities * - -Definitions of a number of commonly used abbreviations such as |\MF| -and |\BibTeX| are contained in |tugboat.cmn|. Please use these whenever -possible rather than creating your own. We will add to the list as -necessary. - -A nicety for the sake of appearance is the command |\acro|, which -sets an acronym in caps one size smaller than the surrounding text. -Compare CTAN (full size), \CTAN{} (|\acro{CTAN}|) and {\smc ctan} -(small caps). Acronyms in |tugboat.cmn| use |\acro| consistently. - -Several other constructions that we have found useful for both -\plain- and \LaTeX-style input have been incorporated in -|tugboat.cmn|. Various |\*lap|\,s (|\ulap|, |\dlap|, |\xlap|, -|\ylap|, |\zlap|) and |\*smash|\,es provide means of setting type -which ``laps'' into neighboring regions. |\dash| and |\Dash| are en- -and em-dashes that break properly. |\slash| is a breakable slash. -The macro -\verbatim -\makestrut [<ascender dimen>; - <descender dimen>] -\endverbatim -allows {\it ad hoc\/} construction of -struts. - -|\makeatletter| |\catcode|s the |@| for internal control-sequences. -There are also more general functions -\verbatim -\makeescape -\makebgroup -\makeegroup -\makeletter -\makeother -\makeactive -\endverbatim -that change the category of a given character into the type mentioned -at the end of the macro name. For example, |\makeactive\!| changes the -category of the |!| to 13. We have given many other examples of these in -this article. Readers may look at the end of |tugboat.cmn| after the -|\endinput| statement to see further documentation on the contents of the file. - - -\subhead * Issue Makeup * -Constructing an entire issue of \TUB\/ requires use of a few features -that authors may notice when articles are returned for proofing. -|\xrefto| allows for symbolic cross-referencing, but is enabled only -late in the production process. The distribution version of -|tugboat.cmn| defines |\xrefto| so that ``???'' is typeset whenever it -is called. Not to worry. - -We also put notes into the file since there are many things to -remember, and these appear as |\TBremark{...}|. Authors can look for -such things, if they are interested. - - -\head * General Coding Suggestions * - -Probably 90\% of the code we receive is easily handled, and for this -we are most appreciative. We do have suggestions of a general nature -that authors should keep in mind as they create articles for -transmission here or anywhere else. - -Those who create code find it much easier to read and understand their -own code than do others who read the ``finished'' product. In fact, -some people seem to forget that the electronic file will be viewed (in -fact, studied) in addition to the printed copy. Documentation and -uniform habits of presentation always help. Blank lines are easier to -digest by eye than |\par|s. Tables and display math can often be -keyed in such a way that rows and columns are clear in the source file -on a display screen as well as in print. Explanations or warnings of -tricky code can be {\it very} helpful. Authors should place font and -macro definitions in one location at the beginning of an article -whenever possible. - -Authors should anticipate that articles will undergo some -transformation, and that positioning of some elements may change -simply because articles are {\it run together\/} in \TUB. Decisions -on linebreaks, pagebreaks, figure and table placement are generally -made after the text is deemed correct. We avoid inserting ``hard'' -line- and page-breaks whenever possible, and will not do so, in any -case, until the last minute. We also use floating insertions for -figure and table placement when we first receive an article. It is -easier for us to work with a clean file containing some bad breaks, -overfull boxes or other unsightliness, than it is to handle a document -containing {\it ad hoc\/} code dedicated to a beauteous (albeit -narrowly specific) result. - - -When authors proof their articles in formats other than that of \TUB\/ -(for example), they should expect that \TUB's changes in pagewidth and -pagedepth may drastically alter text layout. Paragraphs are rebroken -automatically when |\hsize| and |\vsize| change, but |\centerline| -does not break, and we often see tables and math displays which are -rigidly laid out. When possible, authors might use paragraphing -techniques instead of calls to, say, |\centerline| (Beeton will be -writing up her lectures on paragraphing techniques for a future issue -of \TUB\/), and they should try to code tables in such a way that -widths of columns can be changed easily. Generally, authors should -attempt to anticipate the work that might be necessary if requests for -other reasonable formats of their texts are made. In the case of -\TUB, we make a strong effort to stuff macro listings and tables into -the two-column format. Since these types of items are not generally -susceptible to automatic line-breaking, we give thanks to stuffings -made by authors ahead of time. In this context, we recommend the use -of |\verbfile{...}| (see the section {\bf Verbatim Modes}) to maintain -consistency between documentation and reality. - -Specifically in the domain of \TeX\ macros, we find that many authors -throw in unnecessary |%| characters to end code lines. Except in -cases where the |^^M| means something other than end-of-line, -linebreaks can reliably be placed after control-words and numerical -assignments. We have seen \TeX's buffer size exceeded when |%| -was placed after {\it every\/} line. - -A wider perspective in the matter of naming macros can prevent -problems that occur when definitions are overwritten as articles are -run together. The names of control sequences used in \plain, \LaTeX, -and \AmSTeX\ are documented and authors should avoid using them for -other purposes. It is also wise to avoid commonly used names such as -|\temp|, |\result|, |\1|, and |\mac| in presenting code that might be -cribbed by other users. The frequently used technique of temporarily -|\catcode|ing a character to be a letter (e.g.\ the |@|) provides a -good method of hiding control sequences so that they will not be -clobbered later. Readers are in need of small macros to do little -tricks, and they often try suggestions brought forth in \TUB. A -little extra effort in making these macros consistent with the macros -in wide distribution and in making them robust will be much -appreciated. - -\TBremark{Anything about formatting macros?} - - -\head * Electronic Documentation and Submission Procedure * - -In addition to |tugboat.sty|, |ltugboat.sty|, and |tugboat.cmn|, -a copy of this article, |tubguide.tex|, will be available at -most \TeX{} archives, in particular \CTAN. - -Please address all electronic correspondence to the \TUB{} maildrop: -||TUGboat@tug.org|| -Mail to personal addresses is liable to go unseen if -vacation or illness intervenes. We also request that you supply -an abstract of any expository article. This will be used as the -basis for translation of abstracts to languages other than that -in which the article is published. - - -\makesignature - -\endarticle diff --git a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx index e5fa41ababe..9eac928b928 100644 --- a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx +++ b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx @@ -3,7 +3,8 @@ % tugboat.dtx - main source for LaTeX TUGboat classes. % % \iffalse (this is a meta-comment (so they say)) -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -40,7 +41,7 @@ %<ltugboatsty>\ProvidesPackage{ltugboat} %<ltugprocsty>\ProvidesPackage{ltugproc} %<ltugcomn> \ProvidesPackage{ltugcomn} - [2006/05/05 v2.0 + [2007/03/19 v2.1 %<ltugboatcls> TUGboat journal class% %<ltugproccls> TUG conference proceedings class% %<ltugboatsty|ltugprocsty> TUG compatibility package% @@ -62,7 +63,7 @@ % % RCS identification of this file (lest I fail to update the above ;-) % -% $Id: tugboat.dtx,v 1.46 2006/03/22 11:27:54 rf10 Exp rf10 $ +% $Id: tugboat.dtx,v 1.3 2007/03/30 13:55:31 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 @@ -117,7 +118,8 @@ \title{The \textsf{tugboat} package\thanks{This file has version number \fileversion, last revised \filedate}} - \author{Robin Fairbairns\\\small\texttt{robin.fairbairns@cl.cam.ac.uk}} + \author{The \TUB{} team\\ + \small(Distributed by Robin Fairbairns)} \date{\filedate} \maketitle \tableofcontents @@ -127,13 +129,12 @@ % \end{macrocode} % % \fi -% \CheckSum{4458} +% \CheckSum{4455} % % \section{Introduction} % % This file contains all the macros for typesetting \TUB{} with -% \LaTeXe. -% +% both plain \TeX\ and \LaTeXe. % \subsection{Summary of control sequences} % % Abbreviations. Just a listing with indications of expansion where @@ -151,6 +152,8 @@ % |\ConTeXt|& \ConTeXt\\ % |\Cplusplus|& C++\\ % |\DTD|&\\ +% |\DVI|&\\ +% |\DVD|&\\ % |\DVIPDFMx|& \DVIPDFMx\\ % |\DVItoVDU|& DVItoVDU\\ % |\eTeX|& \eTeX\\ @@ -158,6 +161,7 @@ % |\Hawaii|& \Hawaii\\ % |\HTML|&\\ % |\ISBN|& ISBN\\ +% |\ISO|&\\ % |\ISSN|& ISSN\\ % |\JTeX|&\\ % |\JoT|& The Joy of \TeX\\ @@ -190,6 +194,7 @@ % |\slMF|& Metafont (slanted)\Dash deprecated: use % \cs{textsl} instead \\ % |\stTeX|& \TeX{} for the Atari ST\\ +% |\SVG|&\\ % |\TANGLE|&\\ % |\TB|& The \TeX book\\ % |\TeX|& (Although nearly every package defines this, @@ -200,9 +205,11 @@ % |\TeXtures|&\\ % |\TeXXeT|&\\ % |\Thanh|&\\ +% |\TFM|& \TFM\\ % |\TUB|& \TUB\\ % |\TUG|& \TeX{} Users Group\\ % |\UNIX|&\\ +% |\UTF|&\\ % |\VAX|&\\ % |\VorTeX|&\\ % |\XeT|&\\ @@ -624,7 +631,17 @@ \def\ASCII{\acro{ASCII}} \def\aw{A\kern.1em-W} \def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley} -\def\BibTeX{\textsc{Bib}\kern-.08em\TeX} +% +% make \BibTeX work in slanted contexts too; it's common in titles, and +% especially burdensome to hack in .bib files. +\def\BibTeX{% + \ifdim \fontdimen1\font>0pt + B{\SMC\SMC IB}% + \else + \textsc{Bib}\kern-.08em + \fi + \TeX} +% \def\CandT{\textsl{Computers \& Typesetting}} % \end{macrocode} % We place our \cs{kern} after \cs{-} so that it disappears if the @@ -636,6 +653,7 @@ \def\CTAN{\acro{CTAN}} \def\DTD{\acro{DTD}} \def\DVD{\acro{DVD}} +\def\DVI{\acro{DVI}} \def\DVIPDFMx{\acro{DVIPDFM}$x$} \def\DVItoVDU{DVIto\kern-.12em VDU} \DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} @@ -648,6 +666,7 @@ \def\HTML{\acro{HTML}} \def\HTTP{\acro{HTTP}} \def\ISBN{\acro{ISBN}} +\def\ISO{\acro{ISO}} \def\ISSN{\acro{ISSN}} \def\JPEG{\acro{JPEG}} \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} @@ -734,6 +753,7 @@ \kern-.06em\TeX}} \def\slMF{\textsl{\MF}} % should never be used \def\stTeX{\textsc{st}\kern-0.13em\TeX} +\def\SVG{\acro{SVG}} \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX book}} \def\TIFF{\acro{TIFF}} @@ -745,6 +765,7 @@ \def\TeXtures{\textit{Textures}} \let\Textures=\TeXtures \def\TeXXeT{\TeX-{}-\XeT} +\def\TFM{\acro{TFM}} \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} \def\ttn{\textsl{TTN}\@} \def\TTN{\textsl{\TeX{} and TUG News}} @@ -754,6 +775,7 @@ \def\tug{\acro{TUG}} \def\UG{Users Group} \def\UNIX{\acro{UNIX}} +\def\UTF{\acro{UTF}} \def\VAX{V\kern-.12em A\kern-.1em X\@} \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\@} @@ -2110,11 +2132,10 @@ % \end{macrocode} % % \subsection{Headings} -% -% 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). +% +% Redefine style of section headings to match plain \TUB. +% Negative beforeskip suppresses following parindent. (So +% negate the stretch and shrink too). % % These macros are called \cs{*head} in the plain styles. % @@ -2131,20 +2152,20 @@ \def\section{\TB@startsection{{section}% 1% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@startsection{{subsection}% 2% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@startsection{{subsubsection}% 3% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\paragraph{\TB@startsection{{paragraph}% 4% @@ -2164,21 +2185,21 @@ \TB@startsection{{section}% 1% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@nolimelabel \TB@startsection{{subsection}% 2% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% + {-8\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@nolimelabel \TB@startsection{{subsubsection}% 3% \parindent - {-8\p@\@plus-2\p@\@minus-2\p@}% + {-8\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \fi @@ -2426,13 +2447,12 @@ % typeset them in \cs{small}. % % \begin{macrocode} -\def\@makecaption#1#2{% +\long\def\@makecaption#1#2{% \vskip\abovecaptionskip - \def\@makecaptiontext{\small \parindent=1em\noindent #1: #2}% - \setbox\@tempboxa=\vbox{\@makecaptiontext\par}% + \sbox\@tempboxa{#1: #2}% \ifdim \wd\@tempboxa >\hsize - \raggedright\hyphenpenalty=\@M - \@makecaptiontext + \raggedright\hyphenpenalty=\@M \parindent=1em + \small \noindent #1: #2% \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% @@ -2440,6 +2460,14 @@ \vskip\belowcaptionskip} % \end{macrocode} % +% Also use \cs{small} for the caption labels, and put the label itself +% (Figure xx) in bold. +% +% \begin{macrocode} +\def\fnum@figure{{\small \bf \figurename\nobreakspace\thefigure}} +\def\fnum@table{{\small \bf \tablename\nobreakspace\thetable}} +% \end{macrocode} +% % \subsection{Size changing commands} % % Apart from their `normal' effects, these commands are @@ -3049,11 +3077,33 @@ %% \hskip0.27778\fontdimen6\textfont\z@\relax %% #1% %% } - - -\def\fnum@figure{{\small\bf Figure \thefigure}} % \end{macrocode} % +% \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} +% +% % \subsection{Initialization} % % If we're going to use Harvard-style bibliographies, we set up the @@ -3483,30 +3533,6 @@ % \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) @@ -3610,7 +3636,7 @@ % \end{macro} % % \subsection{Section divisions} -% +% % 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 diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls b/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls index cc5248c88cc..cab16ced271 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls +++ b/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls @@ -30,7 +30,8 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -55,7 +56,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesClass {ltugboat} - [2006/05/05 v2.0 + [2007/03/19 v2.1 TUGboat journal class% ] \csname tugstyloaded@\endcsname @@ -186,7 +187,13 @@ \def\ASCII{\acro{ASCII}} \def\aw{A\kern.1em-W} \def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley} -\def\BibTeX{\textsc{Bib}\kern-.08em\TeX} +\def\BibTeX{% + \ifdim \fontdimen1\font>0pt + B{\SMC\SMC IB}% + \else + \textsc{Bib}\kern-.08em + \fi + \TeX} \def\CandT{\textsl{Computers \& Typesetting}} \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \newcommand\Cplusplus{C\raisebox{.7ex}{$_{++}$}} @@ -194,6 +201,7 @@ \def\CTAN{\acro{CTAN}} \def\DTD{\acro{DTD}} \def\DVD{\acro{DVD}} +\def\DVI{\acro{DVI}} \def\DVIPDFMx{\acro{DVIPDFM}$x$} \def\DVItoVDU{DVIto\kern-.12em VDU} \DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} @@ -206,6 +214,7 @@ \def\HTML{\acro{HTML}} \def\HTTP{\acro{HTTP}} \def\ISBN{\acro{ISBN}} +\def\ISO{\acro{ISO}} \def\ISSN{\acro{ISSN}} \def\JPEG{\acro{JPEG}} \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} @@ -259,6 +268,7 @@ \kern-.06em\TeX}} \def\slMF{\textsl{\MF}} % should never be used \def\stTeX{\textsc{st}\kern-0.13em\TeX} +\def\SVG{\acro{SVG}} \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX book}} \def\TIFF{\acro{TIFF}} @@ -270,6 +280,7 @@ \def\TeXtures{\textit{Textures}} \let\Textures=\TeXtures \def\TeXXeT{\TeX-{}-\XeT} +\def\TFM{\acro{TFM}} \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} \def\ttn{\textsl{TTN}\@} \def\TTN{\textsl{\TeX{} and TUG News}} @@ -279,6 +290,7 @@ \def\tug{\acro{TUG}} \def\UG{Users Group} \def\UNIX{\acro{UNIX}} +\def\UTF{\acro{UTF}} \def\VAX{V\kern-.12em A\kern-.1em X\@} \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\@} @@ -936,20 +948,20 @@ \def\section{\TB@startsection{{section}% 1% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@startsection{{subsection}% 2% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@startsection{{subsubsection}% 3% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\paragraph{\TB@startsection{{paragraph}% 4% @@ -963,21 +975,21 @@ \TB@startsection{{section}% 1% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% - {4\p@\@plus.5\p@}% + {-8\p@}% + {4\p@}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsection{\TB@nolimelabel \TB@startsection{{subsection}% 2% \z@ - {-8\p@\@plus-2\p@\@minus-2\p@}% + {-8\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \def\subsubsection{\TB@nolimelabel \TB@startsection{{subsubsection}% 3% \parindent - {-8\p@\@plus-2\p@\@minus-2\p@}% + {-8\p@}% {-0.5em\@plus-\fontdimen3\font}% {\normalsize\bf\raggedright\hyphenpenalty=\@M}}} \fi @@ -1079,18 +1091,19 @@ \long\def\@firstofthree#1#2#3{#1} \long\def\@secondofthree#1#2#3{#2} \long\def\@thirdofthree#1#2#3{#3} -\def\@makecaption#1#2{% +\long\def\@makecaption#1#2{% \vskip\abovecaptionskip - \def\@makecaptiontext{\small \parindent=1em\noindent #1: #2}% - \setbox\@tempboxa=\vbox{\@makecaptiontext\par}% + \sbox\@tempboxa{#1: #2}% \ifdim \wd\@tempboxa >\hsize - \raggedright\hyphenpenalty=\@M - \@makecaptiontext + \raggedright\hyphenpenalty=\@M \parindent=1em + \small \noindent #1: #2% \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} +\def\fnum@figure{{\small \bf \figurename\nobreakspace\thefigure}} +\def\fnum@table{{\small \bf \tablename\nobreakspace\thetable}} \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip=3\p@\@plus 3\p@\@minus\p@ @@ -1405,8 +1418,15 @@ %% \hskip0.27778\fontdimen6\textfont\z@\relax %% #1% %% } - -\def\fnum@figure{{\small\bf Figure \thefigure}} +\def\creditfootnote{\nomarkfootnote\xEdNote} +\def\supportfootnote{\nomarkfootnote\relax} +\gdef\nomarkfootnote#1#2{\begingroup + \def\thefootnote{}% + % no period, please, also no fnmark. + \def\@makefntext##1{##1}% + \footnotetext{\noindent #1#2}% + \endgroup +} \if@Harvardcite \AtBeginDocument{% \bibliographystyle{ltugbib}% diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty b/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty index a1e3f406310..b9c92e19137 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty @@ -30,7 +30,8 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -54,7 +55,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesPackage{ltugboat} - [2006/05/05 v2.0 + [2007/03/19 v2.1 TUG compatibility package% ] \@obsoletefile{ltugboat.cls}{ltugboat.sty} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty b/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty index a3b82056f30..886e3765904 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty @@ -30,7 +30,8 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -55,7 +56,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesPackage{ltugcomn} - [2006/05/05 v2.0 + [2007/03/19 v2.1 TUGboat `common macros' package% ] \IfFileExists{mflogo.sty}% @@ -131,7 +132,13 @@ \def\ASCII{\acro{ASCII}} \def\aw{A\kern.1em-W} \def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley} -\def\BibTeX{\textsc{Bib}\kern-.08em\TeX} +\def\BibTeX{% + \ifdim \fontdimen1\font>0pt + B{\SMC\SMC IB}% + \else + \textsc{Bib}\kern-.08em + \fi + \TeX} \def\CandT{\textsl{Computers \& Typesetting}} \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \newcommand\Cplusplus{C\raisebox{.7ex}{$_{++}$}} @@ -139,6 +146,7 @@ \def\CTAN{\acro{CTAN}} \def\DTD{\acro{DTD}} \def\DVD{\acro{DVD}} +\def\DVI{\acro{DVI}} \def\DVIPDFMx{\acro{DVIPDFM}$x$} \def\DVItoVDU{DVIto\kern-.12em VDU} \DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} @@ -151,6 +159,7 @@ \def\HTML{\acro{HTML}} \def\HTTP{\acro{HTTP}} \def\ISBN{\acro{ISBN}} +\def\ISO{\acro{ISO}} \def\ISSN{\acro{ISSN}} \def\JPEG{\acro{JPEG}} \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} @@ -204,6 +213,7 @@ \kern-.06em\TeX}} \def\slMF{\textsl{\MF}} % should never be used \def\stTeX{\textsc{st}\kern-0.13em\TeX} +\def\SVG{\acro{SVG}} \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX book}} \def\TIFF{\acro{TIFF}} @@ -215,6 +225,7 @@ \def\TeXtures{\textit{Textures}} \let\Textures=\TeXtures \def\TeXXeT{\TeX-{}-\XeT} +\def\TFM{\acro{TFM}} \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} \def\ttn{\textsl{TTN}\@} \def\TTN{\textsl{\TeX{} and TUG News}} @@ -224,6 +235,7 @@ \def\tug{\acro{TUG}} \def\UG{Users Group} \def\UNIX{\acro{UNIX}} +\def\UTF{\acro{UTF}} \def\VAX{V\kern-.12em A\kern-.1em X\@} \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\@} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls b/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls index 74c20ca9bbe..5b357913cd0 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls +++ b/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls @@ -30,7 +30,8 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -55,7 +56,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesClass {ltugproc} - [2006/05/05 v2.0 + [2007/03/19 v2.1 TUG conference proceedings class% ] \def\@tugclass{ltugproc} @@ -239,15 +240,6 @@ \fi} \def\@abstract@end{\ifnum0=`{\fi}% \expandafter\end\expandafter{\@abstract@}} -\def\creditfootnote{\nomarkfootnote\xEdNote} -\def\supportfootnote{\nomarkfootnote\relax} -\gdef\nomarkfootnote#1#2{\begingroup - \def\thefootnote{}% - % no period, please, also no fnmark. - \def\@makefntext##1{##1}% - \footnotetext{\noindent #1#2}% - \endgroup -} \renewcommand{\makesignature}{\TBWarning {\string\makesignature\space is invalid in proceedings issues}} \renewcommand\title{\@dblarg\TB@title} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty b/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty index 8394d10646c..001e0722972 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty @@ -30,7 +30,8 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -%% Copyright 1994,1995,1996,2001,2005,2006 TeX Users Group. +%% Copyright 1994,1995,1996,1997,1998,2000,2001,2004,2005,2006,2007 +%% TeX Users Group. %% %% This file is part of the tugboat package. %% @@ -54,7 +55,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesPackage{ltugproc} - [2006/05/05 v2.0 + [2007/03/19 v2.1 TUG compatibility package% ] \@obsoletefile{ltugproc.cls}{ltugproc.sty} diff --git a/Master/texmf-dist/tex/plain/tugboat/tugboat.cmn b/Master/texmf-dist/tex/plain/tugboat/tugboat.cmn deleted file mode 100644 index 6543ca254d8..00000000000 --- a/Master/texmf-dist/tex/plain/tugboat/tugboat.cmn +++ /dev/null @@ -1,1060 +0,0 @@ -%% @texfile{ -%% filename = "tugboat.cmn", -%% version = "1.17", -%% date = "2006/05/24", -%% time = "09:49:20 EDT", -%% checksum = "53229 1060 3095 35854", -%% filetype = "common macros for TUGboat", -%% copyright = "Copyright 1993-1996, 2006 TeX Users Group. -%% Unlimited copying and redistribution of this file -%% are permitted as long as this file is not -%% modified. Modifications (and redistribution of -%% modified versions) are also permitted, but only if -%% the resulting file is renamed." -%% author = "TeX Users Group", -%% address = "TeX Users Group, -%% P.O.Box 2311, -%% Portland, OR 97208-2311, -%% USA", -%% telephone = "+1 503 223-9994", -%% FAX = "+1 206 203-3960", -%% email = "TUGboat@tug.org", -%% codetable = "ISO/ASCII", -%% keywords = "tex users group, tugboat, common macros", -%% supported = "yes", -%% abstract = "This file contains macros common to both -%% the PLAIN and LaTeX style files for TUGboat, -%% the Communications of the TeX Users Group. -%% Among other things, it contains supplementary -%% definitions for abbreviations and logos that -%% appear in TUGboat.", -%% docstring = "The checksum field above contains a CRC-16 -%% checksum as the first value, followed by the -%% equivalent of the standard UNIX wc (word -%% count) utility output of lines, words, and -%% characters. This is produced by Robert -%% Solovay's checksum utility.", -%% } -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\fileversion{v1.17} -\def\filedate{2006/05/24} - -\message{File `TUGBOAT.CMN' \fileversion \space\space <\filedate>} - -% -% ***** TUGBOAT.CMN ***** -% -% See the bottom of the file (after \endinput) for a list of -% items defined. -% - -% ************************************************************************* - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** helpful shorthand ***** -% - -% The following allow for easier changes of category. These require that -% the character be addressed as a control-sequence: e.g. \makeescape\/ will -% make the / an escape character. - -\def\makeescape#1{\catcode`#1=0 } -\def\makebgroup#1{\catcode`#1=1 } -\def\makeegroup#1{\catcode`#1=2 } -\def\makemath#1{\catcode`#1=3 } -\def\makealign#1{\catcode`#1=4 } -\def\makeeol#1{\catcode`#1=5 } -\def\makeparm#1{\catcode`#1=6 } -\def\makesup#1{\catcode`#1=7 } -\def\makesub#1{\catcode`#1=8 } -\def\makeignore#1{\catcode`#1=9 } -\def\makespace#1{\catcode`#1=10 } -\def\makeletter#1{\catcode`#1=11 } -\def\makeother#1{\catcode`#1=12 } -\def\makeactive#1{\catcode`#1=13 } -\def\makecomment#1{\catcode`#1=14 } - -\def\makeatletter{\catcode`\@=11 } % included for historical reasons -\chardef\other=12 -\def\makeatother{\catcode`\@=\other} - - % alternative to localization -\def\savecat#1{% - \expandafter\xdef\csname\string#1savedcat\endcsname{\the\catcode`#1}} -\def\restorecat#1{\catcode`#1=\csname\string#1savedcat\endcsname} - - -\savecat\@ -\makeletter\@ % used, as in PLAIN, in protected control sequences - - % for restoring meanings of global control sequences -\def\SaveCS#1{% - \def\scratch{\expandafter\let\csname saved@@#1\endcsname}% - \expandafter\scratch\csname#1\endcsname} -\def\RestoreCS#1{% - \def\scratch{\expandafter\let\csname#1\endcsname}% - \expandafter\scratch\csname saved@@#1\endcsname} - - -% To distinguish between macro files loaded - -\def\plaintubstyle{plain} -\def\latextubstyle{latex} -\ifx\tugstyloaded@\undefined\let\tugstyloaded@\plaintubstyle\fi - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** abbreviations and logos ***** -% - -\def\acro#1{{\SMC #1}\spacefactor1000 } - -\def\AllTeX{(\La)\TeX} -\def\AMS{American Mathematical Society} -\def\AmS{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox - {\the\textfont2 M}\kern-.125em{\the\textfont2 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} -\def\BibTeX{{\rm B\kern-.05em{\smc i\kern-.025emb}\kern-.08em\TeX}} -\def\CandT{{\sl Computers \& Typesetting}} -\def\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} -\def\Cplusplus{C\raise.7ex\hbox{$_{++}$}} -\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} -\def\eTeX{$\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}} -% Japanese TeX -\def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} -\def\JoT{{\sl The Joy of \TeX\/}} -\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} -% note -- \LaTeX definition is from LATEX.TEX 2.09 of 7 Jan 86, -% adapted for additional flexibility in TUGboat -%\def\LaTeX{\TestCount=\the\fam \leavevmode L\raise.42ex -% \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}\kern-.15em\TeX} -% note -- broken in two parts, to permit separate use of La, -% as in (La)TeX -\def\La{\TestCount=\the\fam \leavevmode L% - \setbox\TestBox=\hbox{$\fam\TestCount\scriptstyle A$}% - \kern-.5\wd\TestBox\raise.42ex\box\TestBox} -\def\LaTeX{\La\kern-.15em\TeX} -\def\LaTeXe{\LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$} -\def\MathML{Math\acro{ML}} -\def\MacOSX{Mac\,\acro{OS\,X}} -% for Robert McGaffey -\def\Mc{\setbox\TestBox=\hbox{M}M\vbox to\ht\TestBox{\hbox{c}\vfil}} -% Additional sizes of the manual font may be needed. -\font\manual=logo10 % font used for the METAFONT logo, etc. -\def\MF{{\manual META}\-{\manual FONT}\spacefactor1000 } -\def\MP{{\manual META}\-{\manual POST}\spacefactor1000 } -\def\mf{{\smc Metafont}} -\def\MFB{{\sl The \slMF book}} -% multilingual (INRS) TeX -\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX\spacefactor1000 } -\def\NTStext{N\mkern-4mu \lower.5ex\hbox{$\cal T$}\mkern-2mu S} -\def\NTS{{\ifmmode \cal\NTStext \else $\cal\NTStext $\fi}} -\def\OMEGA{$\Omega$} -\def\OCP{\OMEGA\acro{CP}} -\def\OTP{\OMEGA\acro{TP}} -\def\Pas{Pascal} -\def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}MF\spacefactor1000 } -\def\PCTeX{PC\thinspace\TeX} -\def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}\TeX} -\def\PDF{\acro{PDF}} -\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\spacefactor1000 } -\def\PiCTeX{\PiC\kern-.11em\TeX} -\def\plain{{\tt plain}} -\def\PNG{\acro{PNG}} -\def\POBox{P.\thinspace O.~Box } -%\def\POBoxTUG{\POBox\unskip~9506, Providence, RI~02940} -\def\PS{{Post\-Script}} -\def\RTF{\acro{RTF}} -\def\SC{Steering Committee} -\def\SGML{\acro{SGML}} -\def\SliTeX{{\rm S\kern-.06em{\smc l\kern-.035emi}\kern-.06em\TeX}}\ -% for \def\slMF{{\manualsl META}\-{\manualsl FONT}\spacefactor1000 } -% Use \font\manualsl=logosl10 instead, if it's available, -\def\slMF{\MF} -% Atari ST (Klaus Guntermann) -\def\stTeX{{\smc st\rm\kern-0.13em\TeX}} -\def\TANGLE{{\tt TANGLE}\spacefactor1000 } -\def\TB{{\sl The \TeX book\/}} -\def\TIFF{\acro{TIFF}} -\def\TP{{\sl \TeX\/}: {\sl The Program\/}} -\def\TeX{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\spacefactor1000 } -\def\TeXhax{\TeX hax} -% Don Hosek -\def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}\kern-.2267emG% - \spacefactor1000 } -%\def\TeXtures{\TestCount=\the\fam -% \TeX\-\hbox{$\fam\TestCount\scriptstyle TURES$}} -\def\TeXtures{{\it Textures}} -\let\Textures=\TeXtures -\def\TeXXeT{\TeX-{}-\XeT} -\def\Thanh{H\`an~Th\^e\llap{\raise.5ex\hbox{\'{}}}~Th\`anh} -\def\ttn{{\sl TTN}\spacefactor1000 } -\def\TTN{{\sl \TeX{} and TUG NEWS}\spacefactor1000 } -\def\tubfont{\sl} % redefined in other situations -\def\TUB{{\tubfont TUGboat\/}} -\def\TUG{\TeX\ \UG} -\def\tug{\acro{TUG}} -\def\UG{Users Group} -\def\UNIX{\acro{UNIX}} -\def\VAX{V\kern-.12em A\kern-.1em X\spacefactor1000 } -\def\VorTeX{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}\kern-2.6pt\TeX} -\def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\spacefactor1000 } -\def\XML{\acro{XML}} -\def\WEB{{\tt WEB}\spacefactor1000 } -\def\WEAVE{{\tt WEAVE}\spacefactor1000 } -% the Xe\TeX logo requires Eplain, which is not assumed here, so -% the definition is omitted. -\def\XHTML{\acro{XHTML}} -\def\XSLT{\acro{XSLT}} - -%******************************************************************** - -\newlinechar=`\^^J -\normallineskiplimit=1pt - -\clubpenalty=10000 -\widowpenalty=10000 - -\def\NoParIndent{\parindent=\z@} -\newdimen\normalparindent \normalparindent=20pt % plain = 20pt -\def\NormalParIndent{\global\parindent=\normalparindent} -\NormalParIndent - -\def\BlackBoxes{\overfullrule=5pt } -\def\NoBlackBoxes{\overfullrule=\z@ } -\def\newline{\hskip\z@ plus \pagewd \break} -\def\nohyphens{\hyphenpenalty\@M\exhyphenpenalty\@M} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** utility registers and definitions ***** -% - -% test registers for transient use; paired - internal/external -\newbox\T@stBox \newbox\TestBox -\newcount\T@stCount \newcount\TestCount -\newdimen\T@stDimen \newdimen\TestDimen -\newif\ifT@stIf \newif\ifTestIf - - -% \cs existence test, stolen from TeXbook exercise 7.7 -\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax } - -% LaTeX conventions which are also useful here. -\ifx\tugstyloaded@\plaintubstyle - \let\@@input\input - \def\iinput#1{\@@input#1 } - \def\tub@inputcheck{\if\@nextchar\bgroup - \expandafter\iinput\else\expandafter\@@input\fi} - \def\input{\futurelet\@nextchar\tub@inputcheck} -\fi - -% Smashes repeated from AMS-TeX; PLAIN implements only full \smash . -\newif\iftop@ \newif\ifbot@ -\def\topsmash{\top@true\bot@false\smash@} -\def\botsmash{\top@false\bot@true\smash@} -\def\smash{\top@true\bot@true\smash@} -\def\smash@{\relax\ifmmode\def\next{\mathpalette\mathsm@sh}% - \else\let\next\makesm@sh\fi \next } -\def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\box\z@} - - -% Vertical `laps'; cf. \llap and \rlap -\long\def\ulap#1{\vbox to \z@{\vss#1}} -\long\def\dlap#1{\vbox to \z@{#1\vss}} - -% And centered horizontal and vertical `laps' -\def\xlap#1{\hbox to \z@{\hss#1\hss}} -\long\def\ylap#1{\vbox to \z@{\vss#1\vss}} -\long\def\zlap#1{\ylap{\xlap{#1}}} - - -% Avoid unwanted vertical glue when making up pages. -\def\basezero{\baselineskip\z@skip \lineskip\z@skip} - - -% Empty rules for special occasions -\def\nullhrule{\hrule height\z@ depth\z@ width\z@ } -\def\nullvrule{\vrule height\z@ depth\z@ width\z@ } - -% Support ad-hoc strut construction. -\def\makestrut[#1;#2]{\vrule height#1 depth#2 width\z@ } - -% Construct box for figure pasteup, etc. -% height = #1, width = #2, rule thickness = #3 -\def\drawoutlinebox[#1;#2;#3]{\T@stDimen=#3 - \vbox to#1{\hrule height\T@stDimen depth\z@ - \vss\hbox to#2{\vrule width\T@stDimen - \hfil\makestrut[#1;\z@]% - \vrule width\T@stDimen}\vss - \hrule height\T@stDimen depth\z@}} - - -% Today's date, to be printed on drafts. Based on TeXbook, p.406. - -\def\today{\number\day\space \ifcase\month\or - Jan \or Feb \or Mar \or Apr \or May \or Jun \or - Jul \or Aug \or Sep \or Oct \or Nov \or Dec \fi - \number\year} - -% Current time; this may be system dependent! -\newcount\hours -\newcount\minutes -\def\SetTime{\hours=\time - \global\divide\hours by 60 - \minutes=\hours - \multiply\minutes by 60 - \advance\minutes by-\time - \global\multiply\minutes by-1 } -\SetTime -\def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes} - -\def\Now{\today\ \now} - -\newif\ifPrelimDraft \PrelimDraftfalse - -\def\midrtitle{\ifPrelimDraft {{\tensl preliminary draft, \Now}}\fi} - -% Section heads. The following set of macros is used to set the large -% TUGboat section heads (e.g. "General Delivery", "Fonts", etc.) - -\newdimen\PreTitleDrop \PreTitleDrop=\z@ - -\newskip\AboveTitleSkip \AboveTitleSkip=12pt -\newskip\BelowTitleSkip \BelowTitleSkip=8pt - -\newdimen\strulethickness \strulethickness=.6pt -\def\sthrule{\hrule height\strulethickness depth \z@ } -\def\stvrule{\vrule width\strulethickness } - -\newdimen\stbaselineskip \stbaselineskip=18pt - -\def\@sectitle #1{% - \par \SecTitletrue - \penalty-1000 - \secsep - \vbox{ - \sthrule - \hbox{% - \stvrule - \vbox{ - \advance\hsize by -2\strulethickness - \raggedcenter - \def\\{\unskip\break}% - \sectitlefont - \makestrut[2\stfontheight;\z@] - #1\unskip - \makestrut[\z@;\stfontheight]\endgraf - }% - \stvrule } - \sthrule } - \nobreak - \vskip\baselineskip } - -% distance between articles which are run together -\def\secsep{\vskip 5\baselineskip} - -\newif\ifSecTitle -\SecTitlefalse - - - -% Registration marks; permit them to be invisible - -\newdimen\RegRuleThickness \RegRuleThickness=0.2pt - -\def\HorzR@gisterRule{\vrule height\RegRuleThickness depth \z@ width 0.5in } -\def\DownShortR@gisterRule{% - \vrule height 0.2pt depth 1pc width\RegRuleThickness } -\def\UpShortR@gisterRule{\vrule height 1pc depth \z@ width\RegRuleThickness } - - -% ``T'' marks centered on top and bottom edges of paper - -\def\ttopregister{\dlap{% - \hbox to \trimwd{\HorzR@gisterRule \hfil \HorzR@gisterRule - \HorzR@gisterRule \hfil \HorzR@gisterRule}% - \hbox to \trimwd{\hfil \DownShortR@gisterRule \hfil}}} -\def\tbotregister{\ulap{% - \hbox to \trimwd{\hfil \UpShortR@gisterRule \hfil}% - \hbox to \trimwd{\HorzR@gisterRule \hfil \HorzR@gisterRule - \HorzR@gisterRule \hfil \HorzR@gisterRule}}} - -\def\topregister{\ttopregister} -\def\botregister{\tbotregister} - - - -% PLAIN's definition of \raggedright doesn't permit any stretch, and -% results in too many overfull boxes. We also turn off hyphenation. -\newdimen\raggedskip \raggedskip=\z@ -\newdimen\raggedstretch \raggedstretch=5em % ems of font set now (10pt) -\newskip\raggedparfill \raggedparfill=\z@ plus 1fil - -\def\raggedspaces{\spaceskip=.3333em \relax \xspaceskip=.5em \relax } -% Some applications may have to add stretch, in order to avoid -% all overfull boxes. - -\def\raggedright{% - \nohyphens - \rightskip=\raggedskip plus\raggedstretch \raggedspaces - \parfillskip=\raggedparfill } -\def\raggedleft{% - \nohyphens - \leftskip=\raggedskip plus\raggedstretch \raggedspaces - \parfillskip=\z@skip } -\def\raggedcenter{% - \nohyphens - \leftskip=\raggedskip plus\raggedstretch - \rightskip=\leftskip \raggedspaces - \parindent=\z@ \parfillskip=\z@skip } - -\def\normalspaces{\spaceskip\z@skip \xspaceskip\z@skip } - - -% Miscellaneous useful stuff - -\def\,{\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi} - -%\def~{\penalty\@M \ } % tie -- this is PLAIN value; it is reset in AMS-TeX -\def~{\unskip\nobreak\ \ignorespaces} % AMS-TeX value - -\def\newbox{\alloc@4\box\chardef\insc@unt} % remove \outer -\def\boxcs#1{\box\csname#1\endcsname} -\def\setboxcs#1{\setbox\csname#1\endcsname} -\def\newboxcs#1{\expandafter\newbox\csname#1\endcsname} - -\def\gobble#1{} - -\def\vellipsis{% - \leavevmode\kern0.5em - \raise1pt\vbox{\baselineskip6pt\vskip7pt\hbox{.}\hbox{.}\hbox{.}} - } - -\def\bull{\vrule height 1ex width .8ex depth -.2ex } % square bullet -\def\cents{{\rm\raise.2ex\rlap{\kern.05em$\scriptstyle/$}c}} -\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} -\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}} - -\def\thinskip{\hskip 0.16667em\relax} -\def\endash{--} -\def\emdash{\endash-} -\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces} -\def\dash{\d@sh\nobreak\endash} -\def\Dash{\d@sh\nobreak\emdash} -\def\ldash{\d@sh\empty{\hbox{\endash}\nobreak}} -\def\rdash{\d@sh\nobreak\endash} -\def\Ldash{\d@sh\empty{\hbox{\emdash}\nobreak}} -\def\Rdash{\d@sh\nobreak\emdash} - -% Hack to permit automatic hyphenation after an actual hyphen. - -\def\hyph{-\penalty\z@\hskip\z@skip } - -\def\slash{/\penalty\z@\hskip\z@skip } % "breakable" slash - -% Adapted from c.t.t posting by Donald Arseneau, 26 May 93. -\def\nth#1{\TestCount=#1\relax - \ifnum\TestCount <0 \multiply\TestCount by\m@ne \fi % subdue negatives - \T@stCount=\TestCount - \divide\T@stCount by 100 \multiply\T@stCount by 100 - \advance\TestCount by-\T@stCount % n mod 100 - \ifnum\TestCount >20 \T@stCount=\TestCount - \divide\T@stCount by 10 \multiply\T@stCount by 10 - \advance\TestCount by-\T@stCount % n mod 10 - \fi - \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 - }$} - - -% Format information on reviewed items for book review articles. - -\def\Review:#1{\ifx[#1\@Rev[% - \else Book review:\enspace\sl #1% - \fi - } -\def\@Rev[#1]{\ignorespaces#1\unskip:\enspace\ignorespaces\sl} -\def\reviewitem{% - \def\revauth##1{\def\therevauth{##1, }\ignorespaces}% - \def\revtitle##1{\def\therevtitle{{\sl##1}. }\ignorespaces}% - \def\revpubinfo##1{\def\therevpubinfo{##1.}\ignorespaces}% - } -\def\endreviewitem{{\noindent\interlinepenalty=10000 - \therevauth\therevtitle\therevpubinfo\endgraf}% - \vskip\medskipamount - \ifx\tugstyloaded@\plaintubstyle - \DeleteOptionalSpacesandPars{\noindent\ignorespaces}% - \fi - } - -\def\booktitle#1{{\sl #1\/}} - - -% Dates and other items which identify the volume and issue - -% To use: \vol 5, 2. -% \issdate October 1984. -% \issueseqno=10 -% For production, these are set in a separate file, TUGBOT.DATES, -% which is issue-specific. - -\newcount\issueseqno \issueseqno=-1 - -\def\v@lx{\gdef\volx{Volume~\volno~(\volyr), No.~\issno}} -\def\volyr{} -\def\volno{} -\def\vol #1,#2.{\gdef\volno{#1\unskip}% - \gdef\issno{\ignorespaces#2\unskip}% - \setbox\TestBox=\hbox{\volyr}% - \ifdim \wd\TestBox > .2em \v@lx \fi } - -% Original issue date included month and year. -\def\issdate #1#2 #3.{\gdef\issdt{#1#2 #3}\gdef\volyr{#3}% - \gdef\bigissdt{#1{\smc\uppercase{#2}} #3}% - \setbox\TestBox=\hbox{\volno}% - \ifdim \wd\TestBox > .2em \v@lx \fi } -% Beginning in 2002, only year -\def\issyear #1.{\gdef\issdt{#1}\gdef\volyr{#1}% - \gdef\bigissdt{#1}% - \setbox\TestBox=\hbox{\volno}% - \ifdim \wd\TestBox > .2em \v@lx \fi } - -\vol 0, 0. % volume, issue. -\issdate Thermidor, 2001. % month, year of publication - - -\ifx\tugstyloaded@\plaintubstyle - \def\tubissue#1(#2){\TUB~#1, no.~#2} -\else - \def\tubissue#1#2{\TUB~#1, no.~#2} -\fi - -\def\xEdNote{{\tenuit Editor's note:\enspace }} - - -% TUGboat conventions include the issue number in the file name. -% Permit this to be incorporated into file names automatically. -% If issue number = 11, \Input filnam will read tb11filnam.tex. - - -\def\infil@{\jobname} -\def\Input #1 {\ifnum\issueseqno<0 \def\infil@{#1}% - \else \def\infil@{tb\number\issueseqno#1}\fi - \edef\jobname{\infil@}\@readFLN - \@@input \infil@\relax - \ifRMKopen\immediate\closeout\TBremarkfile\RMKopenfalse\fi} - -\newif\ifRMKopen \RMKopenfalse -\newwrite\TBremarkfile -\def\TBremarkON#1{% - \ifRMKopen\else\RMKopentrue\immediate\openout\TBremarkfile=\infil@.rmk \fi - \toks@={#1}% - \immediate\write\TBremarkfile{^^J\the\toks@}% - \immediate\write16{^^JTBremark:: \the\toks@^^J}} -\def\TBremarkOFF#1{} -\let\TBremark=\TBremarkOFF - -% for marking locations in articles that pertain to remarks -% in another file of editorial comments -\def\TUBedit#1{} - -% for using different filenames in Providence than those supplied -% by authors - -\def\TUBfilename#1#2{\expandafter\def\csname file@@#1\endcsname{#2}} -\newread\@altfilenames -\def\@readFLN{\immediate\openin\@altfilenames=\jobname.fln - \ifeof\@altfilenames\let\@result\relax\else - \def\@result{\@@input\jobname.fln }\fi - \immediate\closein\@altfilenames - \@result} -\@readFLN -\everyjob=\expandafter{\the\everyjob\@readFLN} - -% Following needs to work entirely in TeX's mouth -\def\@tubfilename#1{\expandafter\ifx\csname file@@#1\endcsname\relax - #1\else\csname file@@#1\endcsname\fi} - -\def\fileinput#1{\@@input\@tubfilename{#1} } - -% Write out (both to a file and to the log) the starting page number -% of an article, to be used for cross references and in contents. -% \pagexref is used for articles fully processed in the TUGboat run. -% \PageXref is used for "extra" pages, where an item is submitted -% as camera copy, and only running heads (at most) are run. - -\ifx\tugstyloaded@\plaintubstyle -\def\pagexrefON#1{% - \write-1{\def\expandafter\noexpand\csname#1\endcsname{\number\pageno}}% - \write\ppoutfile{% - \def\expandafter\noexpand\csname#1\endcsname{\number\pageno}}% - } -\def\PageXrefON#1{% - \immediate\write-1{\def\expandafter - \noexpand\csname#1\endcsname{\number\pageno}}% - \immediate\write\ppoutfile{\def\expandafter - \noexpand\csname#1\endcsname{\number\pageno}}} -\else -\def\pagexrefON#1{% - \write-1{\def\expandafter\noexpand\csname#1\endcsname{\number\c@page}}% - \write\ppoutfile{% - \def\expandafter\noexpand\csname#1\endcsname{\number\c@page}}% - } -\def\PageXrefON#1{% - \immediate\write-1{\def\expandafter - \noexpand\csname#1\endcsname{\number\c@page}}% - \immediate\write\ppoutfile{\def\expandafter - \noexpand\csname#1\endcsname{\number\c@page}}} -\fi - -\def\pagexrefOFF#1{} -\let\pagexref=\pagexrefOFF -\def\PageXrefOFF#1{} -\let\PageXref=\PageXrefOFF - -\def\xreftoON#1{% - \ifundefined{#1}% - ???\TBremark{Need cross reference for #1.}% - \else\csname#1\endcsname\fi} -\def\xreftoOFF#1{???} -\let\xrefto=\xreftoOFF - -\def\TBdriver#1{} - - -% Authors, addresses, signatures - -\def\theauthor#1{\csname theauthor#1\endcsname} -\def\theaddress#1{\csname theaddress#1\endcsname} -\def\thenetaddress#1{\csname thenetaddress#1\endcsname} - -\newcount\count@@ -\def\@defaultauthorlist{% % standard way of listing authors - \count@=\authornumber - \advance\count@ by -2 - \count@@=0 - \loop - \ifnum\count@>0 - \advance\count@@ by 1 - \ignorespaces\csname theauthor\number\count@@\endcsname\unskip, - \advance\count@ by -1 - \repeat - \count@=\authornumber - \advance\count@ by -\count@@ - \ifnum\authornumber>0 - \ifnum\count@>1 - \count@=\authornumber - \advance\count@ by -1 - \ignorespaces\csname theauthor\number\count@\endcsname\unskip\ and - \fi - \ignorespaces\csname theauthor\number\authornumber\endcsname\unskip - \fi - } - -\def\signature#1{\def\@signature{#1}} -\def\@signature{\@defaultsignature} - -\def\@defaultsignature{% - \count@=0 - \loop - \ifnum\count@<\authornumber - \medskip - \advance\count@ by \@ne - \signaturemark - \theauthor{\number\count@}\\ - \leavevmode\theaddress{\number\count@}\\ - \leavevmode\thenetaddress{\number\count@}\\ - \repeat - } - -\newdimen\signaturewidth \signaturewidth=12pc -\def\makesignature{% - \par - \penalty9000 - \vskip\medskipamount - \rightline{% - \vbox{\hsize\signaturewidth \ninepoint \raggedright - \parindent \z@ \everypar={\hangindent 1pc } - \parskip \z@skip - \netaddrat - \netaddrpercent - \def\|{\unskip\hfil\break}% - \def\\{\endgraf}% - \def\net{\tt}% - \def\phone{\rm Phone: } \rm - \@signature}} - } - -{\makeactive\@ - \gdef\signatureat{\makeactive\@\def@{\char"40\discretionary{}{}{}}} - \makeactive\% - \gdef\signaturepercent{\makeactive\%\def%{\char"25\discretionary{}{}{}}} -} - -\def\signaturemark{\leavevmode\llap{$\diamond$\enspace}} - - -% some hyphenation exceptions: -\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 - 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 -} - - -\restorecat\@ - -\endinput - - -% ************************************************************************* - -Contents and Notes ------------------- - -\makeescape, ..., \makecomment allow users to change category -codes a little more easily. - -\savecat#1 and \restorecat#1 will save and restore the category -of a given character. These are useful in cases where one doesn't -wish to localize the settings and therefore be required to globally -define or set things. - -\SaveCS#1 and \RestoreCS#1 save and restore `meanings' of control -sequences. Again this is useful in cases where one doesn't want to -localize or where global definitions clobber a control sequence which -is needed later with its `old' definition. - -Abbreviations. Just a listing with indications of expansion where -that may not be obvious. For full definitions, see real code above. - -\AllTeX (\La)\TeX -\AMS American Mathematical Society -\AmSTeX -\aw A-W (abbreviation for Addison-Wesley) -\AW Addison-Wesley -\BibTeX -\CandT Computers \& Typesetting -\ConTeXt -\Cplusplus C++ -\DVItoVDU -\Hawaii Hawai`i -\HTML HTML -\ISBN ISBN -\JTeX -\JoT The Joy of \TeX -\LaTeX -\MacOSX Mac OS X -\MathML -\Mc M ``w/ raised c'' -\MF METAFONT -\mf Metafont (using small caps) -\MFB The Metafont book -\MP METAPOST -\mtex multilingual TeX -\NTS -\OCP \Omega CP -\pcMF pcMF -\PCTeX -\pcTeX -\Pas Pascal -\PDF PDF -\PiCTeX -\plain plain (in typewriter font) -\POBox P. O. Box -\POBoxTUG TUG PO Box -\PS PostScript -\SC Steering Committee -\SGML SGML -\SliTeX -\slMF Metafont (slanted) -\stTeX TeX for the Atari ST -\TANGLE -\TB The \TeX book -\TeX -\TeXhax -\TeXMaG -\TeXtures -\TeXXeT -\Thanh Han The Thanh -\TUB TUGboat -\TUG TeX Users Group -\UNIX -\VAX -\VorTeX -\XeT -\XML -\WEB -\WEAVE - -\NoBlackBoxes turns off marginal rules marking overfull boxes -\BlackBoxes turns them back on -\newline horizontal glue plus a break - -\ifundefined#1 checks argument with \csname against \relax - -\topsmash smashes above baseline (from AMSTeX) -\botsmash smashes below baseline (from AMSTeX) -\smash smashes both (from plain) - -\ulap lap upwards -\dlap lap downwards -\xlap reference point at center horizontally; 0 width -\ylap reference point at center vertically; 0 height, depth -\zlap combination \xlap and \ylap - -\basezero to avoid insertion of baselineskip and lineskip glue - -\nullhrule empty \hrule -\nullvrule empty \vrule - -\makestrut[#1;#2] ad hoc struts; #1=height, #2=depth - -\today today's date -\SetTime converts \time to hours, minutes -\now displays time in hours and minutes -\Now shows current date and time - -\ifPrelimDraft flag to indicate status as preliminary draft - -\rtitlex TUGboat volume and number info for running head -\midrtitle information for center of running head - -\HorzR@gisterRule pieces of registration marks ("trimmarks") -\DownShortR@gisterRule -\UpShortR@gisterRule - -\ttopregister top registration line with `T' in center -\tbotregister bottom registration line with inverted `T' in center -\topregister register actually used -\botregister - - -\raggedskip parameters used for ragged settings -\raggedstretch -\raggedparfill -\raggedspaces - -\raggedright -\raggedleft -\raggedcenter -\normalspaces -\raggedbottom - -\bull square bullet -\cents ``cents'' sign -\Dag superscripted dagger -\careof c/o -\sfrac slashed fraction - -\dash en-dash surrounded by thinspaces; only breakable AFTER -\Dash em-dash, as above - -\hyph permit automatic hyphenation after an actual hyphen - -\slash "breakable" slash -\nth for obtaining "1^{st}", "2^{nd}", 3^{rd}, etc. - -\tubissue gets \TUB followed by volume and issue numbers - -\xEdNote Editor's Note: - -\Review: Review: (for title of book review article) -\reviewitem begin data for item being reviewed - \revauth with one argument, author(s) of item being reviewed - \revtitle with one argument, title of ... - \revpubinfo with one argument, other info pertaining to ... -\endreviewitem end data for item being reviewed -\booktitle with one argument, format book title in text - -\Input \input with some other bookkeeping for - case where multiple articles are put together - -\TBremark reminder to TUGboat editorial staff -\TBremarkON -\TBremarkOFF - -\pagexref used to write out page numbers to screen and -\pagexrefON external files -\pagexrefOFF -\PageXref -\PageXrefON -\PageXrefOFF - -\xrefto used for symbolic cross-reference to other pages -\xreftoON in TUGboat -\xreftoOFF - -\TBdriver marks code which only takes effect when articles - are run together in a driver file - -\signatureat items for signatures -\signaturepercent -\signaturemark -\signaturewidth - - -% ************************************************************************* - -% Change history - -Version Date Changes -------- --------- --------------------------------------------------- -1.15 30 Apr 06 additions to match ltugboat.cls v2.0, 2006/04/25: - name macros and hyphenation exceptions - -1.14 21 Jun 04 added numerous name macros and hyphenation exceptions - -1.13l 15 Nov 03 updated header address to Portland, OR - -1.13k 28 Jun 03 added \RegRuleThickness to allow easy modification - -1.13j 16 Feb 03 added \issyear to handle removal of month - -1.13i 14 Oct 96 updated header and installed CRC-16 checksum - -1.13h 10 Nov 95 added \acro and converted all \SMC entries to use it - added acronyms \HTML and \PDF - -1.13g 4 Nov 95 added \MP for METAPOST - -1.13f 15 Apr 94 added \@Rev[...] to permit variable text for reviews - -1.13e 14 Mar 94 revised definition of \La to use actual width of A - added \LaTeXe definition - -1.13d 5 Jan 94 added {} to \TeX-{}-\Xet - -1.13c 11 Nov 93 removed extraneous " from header - added \AmSLaTeX, \CTAN, \ISSN - -1.13b 4 Nov 93 added \hyphenation{Eijk-hout} - -1.13a 18 Aug 93 corrected \nth to produce ordinal in current font - -1.13 27 May 93 upgraded \nth based on algorithm by Donald Arseneau - in comp.text.tex, 26 May 93 - -1.12 19 Feb 93 added \spacefactor1000 to all replacement text that ends - with a capital letter, so that if these items end a - sentence, there will be a normal end-of-sentence space - removed \hbox from definitions of \TeX, etc.; no longer - needed - changed definition of \TeXXeT to use \XeT rather than - unique dimensions - installed new TUG address and phone number in header - reformatted change history, similar to tugboat.sty - -1.11c 29 Nov 92 added macros to format book review and related items for - review articles - added \SGML - changed def of \UNIX to use \SMC rather than \smc - -1.11b 20 Oct 92 added font code for \ISBN font ("big small caps") - added \Textures as the current form - -1.11a 6 Jun 92 added \drawoutlinebox - -1.11 15 Mar 92 added \ttn and \TTN - -1.10 8 Mar 92 added \AllTeX - changed file name from .COM to .CMN to avoid objection - that .COM files have a special significance on DOS - and other operating systems - added standard headers, prepared for archive installation - -1.09 5 May 91 inserted large penalty at top of \makesignature to - inhibit break between article and signature - -1.08 24 Oct 90 modified signature slightly (took \medskip out of box) - fixed bug in previous rendition of \@readFLN - -1.07 16 Oct 90 added \TUBedit to facilitate editorial marking - added \iinput variant from LaTeX; \input redefined now - as with LaTeX - added mechanism for local file names in Providence - (\TUBfilename, \fileinput, etc.) - \tugstyload@ defaults to plain if it's not defined - -1.06 3 Aug 90 added \leavevmode to \@defaultsignature so that - \everypar is not executed inside a group - dash routines modified and corrected (to suppress - insertion of discretionary node after -- and ---; - and to allow hyphenation of ensuing word) - changed \lDash to \Ldash and \rDash to \Rdash - -1.05 29 Mar 90 added \lDash and \rDash for `parenthetical' dashing - added \TP for TeX: The Program - added \relax after file input of \Input - added \relax before \ifmmode of \, - -1.04 28 Feb 90 modified pagexref macros to work in both plain and - latex styles (this should NOT affect authors) - -1.03 26 Feb 90 removed <tab>s and adjusted definition of \slMF - -1.02 25 Feb 90 added definitions of \plaintubissue, \latextubissue - added definition of \tubissue - -1.01 19 Feb 90 added \signaturewidth to allow for modification - added \nth to obtain 1^{st}, etc. diff --git a/Master/texmf-dist/tex/plain/tugboat/tugboat.sty b/Master/texmf-dist/tex/plain/tugboat/tugboat.sty deleted file mode 100644 index 3910979c48b..00000000000 --- a/Master/texmf-dist/tex/plain/tugboat/tugboat.sty +++ /dev/null @@ -1,2245 +0,0 @@ -%% @texfile{ -%% filename = "tugboat.sty", -%% version = "1.17", -%% date = "2006/06/03", -%% time = "16:34:03 EDT", -%% checksum = "28581 2245 6313 69379", -%% filetype = "Plain TeX macros for TUGboat", -%% copyright = "Copyright 1993, 1999, 2003, 2006 TeX Users Group. -%% Unlimited copying and redistribution of this file -%% are permitted as long as this file is not -%% modified. Modifications (and redistribution of -%% modified versions) are also permitted, but only if -%% the resulting file is renamed." -%% author = "TeX Users Group", -%% address = "TeX Users Group, -%% P.O.Box 2311, -%% Portland, OR 97208-2311, -%% USA", -%% telephone = "+1 503 223-9994", -%% FAX = "+1 206 203-3960", -%% email = "TUGboat@tug.org", -%% codetable = "ISO/ASCII", -%% keywords = "tex users group, tugboat, plain tex", -%% supported = "yes", -%% abstract = "This file contains the plain-based macros -%% for preparation of TUGboat, the Communications -%% of the TeX Users Group.", -%% docstring = "The checksum field above contains a CRC-16 -%% checksum as the first value, followed by the -%% equivalent of the standard UNIX wc (word -%% count) utility output of lines, words, and -%% characters. This is produced by Robert -%% Solovay's checksum utility.", -%% } -%% ********************************************************* -%% -%% TeXing with this file also requires the following files: -%% TUGBOAT.CMN (version 1.08+) -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% TUGBOAT.STY - -\def\thistubstyle{plain} -\def\fileversion{v1.17} -\def\filedate{2006/06/03} - -% general items - -\def\makeatletter{\catcode`\@=11 } -\makeatletter % used, as in PLAIN, in protected control sequences - -% stop reading this file if it's been loaded already -\ifx\tugstyloaded@\thistubstyle\makeatother\initializearticle - \endinput\else\let\tugstyloaded@\thistubstyle\fi - -\message{File `TUGBOAT.STY' \fileversion \space\space <\filedate>} - -\input tugboat.cmn % macros common to tugboat.sty and - % ltugboat.sty (latex style file) - - -% some things with the same names as in, or reiterated from, AMS-TeX - -\def\document{} % override an AMS-TeX convention - -\output{\output@} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Directory. -% -% ** fonts -% ** page dimensions -% ** headers/footers -% ** page adjustment -% ** output -% ** general mechanism for tags -% ** titles, authors, addresses -% ** heads -% ** text and subtext -% ** lists -% ** verbatim -% ** figures -% ** utilities -% ** initialization - - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** fonts ***** -% - - -% Struts give ascenders and descenders to assist in baseline alignment -% (e.g. of adjoining vertical boxes); useful only with text fonts. -% -% \strut is defined in PLAIN . The structure of \strutt is equivalent. - -\newbox\struttbox -\def\strutt{\relax\ifmmode\copy\struttbox\else\unhcopy\struttbox\fi} - -% Struts are given the following dimensions for use in TUGboat: -% -% \strut = height/depth of parenthesis in current font -% (not the same as PLAIN) -% \strutt height + depth = \normalbaselineskip, -% height = same as \strut -% (equivalent to PLAIN \strut ) - - -% The fonts below are sufficient for most ordinary TUGboat production. -% Additional titling fonts are defined elsewhere, and occasionally an -% extra font will be needed for a particular item (e.g. the device -% charts) and defined in that file. - -% All PLAIN CM fonts. - -\font\tenrm=cmr10 -\font\ninerm=cmr9 -\font\eightrm=cmr8 -\font\sevenrm=cmr7 -\font\sixrm=cmr6 -\font\fiverm=cmr5 - -\font\teni=cmmi10 \skewchar\teni='177 -\font\ninei=cmmi9 \skewchar\ninei='177 -\font\eighti=cmmi8 \skewchar\eighti='177 -\font\seveni=cmmi7 \skewchar\seveni='177 -\font\sixi=cmmi6 \skewchar\sixi='177 -\font\fivei=cmmi5 \skewchar\fivei='177 - -\font\tensy=cmsy10 \skewchar\tensy='60 -\font\ninesy=cmsy9 \skewchar\ninesy='60 -\font\eightsy=cmsy8 \skewchar\eightsy='60 -\font\sevensy=cmsy7 \skewchar\sevensy='60 -\font\sixsy=cmsy6 \skewchar\sixsy='60 -\font\fivesy=cmsy5 \skewchar\fivesy='60 - -\font\tenex=cmex10 - -\font\tenbf=cmbx10 -\font\ninebf=cmbx9 -\font\eightbf=cmbx8 -\font\sevenbf=cmbx7 -\font\sixbf=cmbx6 -\font\fivebf=cmbx5 - -\font\tentt=cmtt10 -\font\ninett=cmtt9 -\font\eighttt=cmtt8 - -\font\tensl=cmsl10 -\font\ninesl=cmsl9 -\font\eightsl=cmsl8 -\font\sevensl=cmti7 % Would use cmsl7 if it were standard. - % Currently needed only for \def of \LaTeX - -\font\tenit=cmti10 -\font\nineit=cmti9 -\font\eightit=cmti8 -\font\sevenit=cmti7 - -\font\tenuit=cmu10 -\font\tenbfsl=cmbxsl10 - -\font\tensmc=cmcsc10 -\font\ninesmc=cmcsc10 % redefine if cmcsc9 and/or cmcsc8 exist -\font\eightsmc=cmcsc10 - -\font\tentex=cmtex10 % for ASCII character set - -\def\mit{\fam\@ne} % from plain -\def\cal{\fam\tw@} % from plain -\def\sy{\cal} - -% cmss fonts are not needed all the time. Permit as-needed access. -\def\LoadSansFonts{% - \global\font\twelvess=cmss10 scaled \magstep1 - \global\font\tenss=cmss10 - \global\font\niness=cmss9 - \global\font\eightss=cmss8 - \addto\tenpoint{\def\ssf{\tenss}} - \addto\ninepoint{\def\ssf{\niness}} - \addto\eightpoint{\def\ssf{\eightss}} - \gdef\LoadSansFonts{}} - -% TUGboat section heads -\font \seventeenssb=cmssbx10 scaled \magstep3 -\font \twelvessb=cmssbx10 scaled \magstep1 - -\newfam\sectitlefam -\textfont\sectitlefam=\seventeenssb \scriptfont\sectitlefam=\twelvessb - -% \stbaselineskip set in tugboat.com -\def\sectitlefont{% - \fam\sectitlefam \seventeenssb \baselineskip=\stbaselineskip } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** Definitions of \tenpoint, \ninepoint, etc. ***** -% - -% Following is a facility for adding commands to \tenpoint, \ninepoint -% and \eightpoint. \LoadSansFonts uses this technique above. -% Also used to add math families, as with: -% \addto\tenpoint{\textfont\frakfam...} -% to add a Fraktur family. -% -\def\addto#1#2{% - \csname @addsto\string#1\endcsname= - \expandafter{\the\csname @addsto\string#1\endcsname#2}} -\def\@additionsto#1{\expandafter\the\csname @addsto\string#1\endcsname} -\expandafter\newtoks\csname @addsto\string\tenpoint\endcsname -\expandafter\newtoks\csname @addsto\string\ninepoint\endcsname -\expandafter\newtoks\csname @addsto\string\eightpoint\endcsname - - -\newskip\ttglue -\def\setttglue{% - \edef\@thefont{\the\font}% to restore this font after the setting - \tt \ttglue=.5em plus .25em minus .15em - \@thefont} - -% We assume that \scriptscriptfonts remain the same throughout -\scriptscriptfont\z@=\fiverm -\scriptscriptfont\@ne=\fivei -\scriptscriptfont\tw@=\fivesy -\scriptscriptfont\thr@@=\tenex -\scriptscriptfont\bffam=\sixbf - -\newdimen\normaltenpointstretch \normaltenpointstretch=1.6667pt -\def\NormalTenPointSpacing{\AdjustNormalSpacing\tenpoint{}} -\def\StretchyTenPointSpacing{\AdjustNormalSpacing\tenpoint{2.4}} - -\def\tenpoint{% - \normalbaselineskip=12pt - \abovedisplayskip=3pt plus 3pt minus 1pt - \belowdisplayskip=3pt plus 3pt minus 1pt - \abovedisplayshortskip=0pt plus 3pt - \belowdisplayshortskip=1pt plus 3pt minus 1pt - \def\rm{\fam\z@\tenrm}% - \textfont\z@=\tenrm \scriptfont\z@=\sevenrm - \def\oldstyle{\fam\@ne\teni}% - \textfont\@ne=\teni \scriptfont\@ne=\seveni - \textfont\tw@=\tensy \scriptfont\tw@=\sevensy - \textfont\thr@@=\tenex \scriptfont\thr@@=\tenex - \def\it{\fam\itfam\tenit}% - \textfont\itfam=\tenit \scriptfont\itfam=\sevenit - \def\sl{\fam\slfam\tensl}% - \textfont\slfam=\tensl \scriptfont\slfam=\sevensl - \def\bf{\def\sl{\tenbfsl}\fam\bffam\tenbf}% - \textfont\bffam=\tenbf \scriptfont\bffam=\eightbf - \def\smc{\tensmc}% - \def\SMC{\ninerm}% - \def\tt{\tentt}% - \setttglue - \def\upright{\tenuit}% - \setbox\strutbox=\hbox{\vrule height7.5pt depth2.5pt width\z@}% - \setbox\struttbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}% - \normalbaselines \rm - \@additionsto\tenpoint} - -\tenpoint % initialize -- default font - - -\newdimen\normalninepointstretch \normalninepointstretch=1.5pt -\def\NormalNinePointSpacing{\AdjustNormalSpacing\ninepoint{}} -\def\StretchyNinePointSpacing{\AdjustNormalSpacing\ninepoint{2.4}} - -\def\ninepoint{\normalbaselineskip=11pt - \abovedisplayskip=2.5pt plus 2.5pt minus 1pt - \belowdisplayskip=2.5pt plus 2.5pt minus 1pt - \abovedisplayshortskip=0pt plus 2.5pt - \belowdisplayshortskip=1pt plus 2.5pt minus 1pt - \def\rm{\fam\z@\ninerm}% - \textfont\z@=\ninerm \scriptfont\z@=\sevenrm - \def\oldstyle{\fam\@ne\ninei}% - \textfont\@ne=\ninei \scriptfont\@ne=\seveni - \textfont\tw@=\ninesy \scriptfont\tw@=\sevensy - \def\it{\fam\itfam\nineit}% - \textfont\itfam=\nineit - \def\sl{\fam\slfam\ninesl}% - \textfont\slfam=\ninesl - \def\bf{\fam\bffam\ninebf}% - \textfont\bffam=\ninebf \scriptfont\bffam=\sevenbf - \def\smc{\ninesmc}% - \def\SMC{\eightrm}% - \def\tt{\ninett}% - \setttglue - \setbox\strutbox=\hbox{\vrule height 6.75pt depth 2.25pt width\z@}% - \setbox\struttbox=\hbox{\vrule height 7.75pt depth 3.25pt width\z@}% - \normalbaselines \rm - \@additionsto\ninepoint } - -% The following setting can be used when baselineskip = 10pt -% \setbox\struttbox=\hbox{\vrule height 7.25pt depth 2.75pt width\z@}% - - -\newdimen\normaleightpointstretch \normaleightpointstretch=1.333pt -\def\NormalEightPointSpacing{\AdjustNormalSpacing\eightpoint{}} -\def\StretchyEightPointSpacing{\AdjustNormalSpacing\eightpoint{2.25}} - -\def\eightpoint{\normalbaselineskip=10pt - \abovedisplayskip=2pt plus 2pt minus 1pt - \belowdisplayskip=2pt plus 2pt minus 1pt - \abovedisplayshortskip=0pt plus 2pt - \belowdisplayshortskip=1pt plus 2pt minus 1pt - \def\rm{\fam\z@\eightrm}% - \textfont\z@=\eightrm \scriptfont\z@=\sixrm - \def\oldstyle{\fam\@ne\eighti}% - \textfont\@ne=\eighti \scriptfont\@ne=\sixi - \textfont\tw@=\eightsy \scriptfont\tw@=\sixsy -% \textfont\thr@@=\eightex \scriptfont\thr@@=\eightex - \def\it{\fam\itfam\eightit}% - \textfont\itfam=\eightit - \def\sl{\fam\slfam\eightsl}% - \textfont\slfam=\eightsl - \def\bf{\fam\bffam\eightbf}% - \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf - \def\smc{\eightsmc}% - \def\tt{\eighttt}% - \setttglue - \setbox\strutbox=\hbox{\vrule height 6pt depth 2pt width\z@}% - \setbox\struttbox=\hbox{\vrule height 7pt depth 3pt width\z@}% - \normalbaselines \rm - \@additionsto\eightpoint } - -% The 8pt cap/small cap font is not loaded. See a corresponding remark -% above for the 9pt csc font. - -% this is equivalent to baselineskip = 9pt -% \setbox\struttbox=\hbox{\vrule height 6.5pt depth 2.5pt width\z@}% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Following will allow text to be a bit stretchier than the built-in -% setting; TeXbook, page 433, 355 - -\def\@setstretch{\fontdimen3\the\font=} -\def\AdjustNormalSpacing#1#2{% #1=pointsize, #2=adjustment factor - {\T@stDimen=#2\csname normal\expandafter\gobble\string#1stretch\endcsname - #1% - \rm\@setstretch\T@stDimen - \it\@setstretch\T@stDimen - \bf\@setstretch\T@stDimen - }} - - - -% Anticipated changes to this font handling scheme: -% -% Dynamic loading of fonts, probably in groups according to size -% Removal of \rm, \bf, etc., from \*point expansions, replacement -% by generic \rm, \bf, etc. definitions -% Mechanism for switching neatly between serif and sans-serif - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** page dimensions ***** -% - - -% vertical dimensions - -\newdimen\trimlgt \trimlgt=11in % 10.5in (vols 7-9) -\newdimen\headmargin \headmargin=3.5pc % 2.5pc (vols 7-9) -\newdimen\pagelgt -\newdimen\rheadlgt \rheadlgt=2.5pc % + headmargin = 6pc = 1in -\newdimen\toplgt \toplgt=\z@ -\newdimen\normalcollgt \normalcollgt=54pc % 52pc for 5#2 -\newdimen\collgt \collgt=\normalcollgt -\newdimen\Collgt -\maxdepth=2pt -\newdimen\botlgt \botlgt=\z@ -\newdimen\rfootlgt \rfootlgt=2pc - -\newif\ifThisIsFirstPage \ThisIsFirstPagefalse - -\def\resetpagelgt{% - \pagelgt=\collgt \Collgt=\collgt - \advance\pagelgt by \rheadlgt - \ifThisIsFirstPage \advance\Collgt by-\toplgt - \advance\Collgt by-\botlgt \fi - \advance\pagelgt by \maxdepth - \global\advance\pagelgt by \rfootlgt - \global\vsize=\Collgt } - -\def\resetfpagelgt{% - \global\ThisIsFirstPagetrue - \resetpagelgt } % exclude special first page material - -\resetpagelgt -\raggedbottom - -% horizontal dimensions - -\newdimen\colwd -\newdimen\intercolwd \intercolwd=\z@ -\newdimen\pagewd \pagewd=39pc -\newdimen\trimwd \trimwd=\pagewd -\newdimen\oddleftindent \oddleftindent\z@ -\newdimen\evenleftindent \evenleftindent\z@ - -\def\onecol{\colwd=\pagewd \OneCol } - -\newdimen\onenarrowcolwd \onenarrowcolwd=30pc -\def\onenarrow{\colwd=\onenarrowcolwd \OneCol } - -% before 5#2, `narrow' was 34pc -\newdimen\onemediumcolwd \onemediumcolwd=34pc -\def\onemedium{\colwd=\onemediumcolwd \OneCol } - -\newdimen\twocolcolwd \twocolcolwd=18.75pc -\def\twocol{\colwd=\twocolcolwd \intercolwd=1.5pc \TwoCol } - -\newdimen\threecolcolwd \threecolcolwd=12pc -\def\threecol{\colwd=\threecolcolwd \intercolwd=1.5pc \ThreeCol } - -\def\CenterOneCol{% - \oddleftindent\pagewd - \advance\oddleftindent -\colwd - \divide\oddleftindent\tw@ - \evenleftindent\oddleftindent - \coloffset\ifodd\pageno\oddleftindent\else\evenleftindent\fi - } - -\def\OneCol{\hsize=\colwd \CenterOneCol \numcols=1 \resetmaxcols} -\def\ZeroLeftIndents{\oddleftindent\z@ \evenleftindent\z@ \coloffset\z@ } -\def\TwoCol{\hsize=\colwd \numcols=2 \resetmaxcols \ZeroLeftIndents} -\def\ThreeCol{\hsize=\colwd \numcols=3 \resetmaxcols \ZeroLeftIndents} - -\def\resetmaxcols{% - \ifnum\numcols>\maxcols - \ifOverlaysinTeX \maxcols=\numcols - \else \immediate\write\sixt@@n{% - The new setting of \string\numcols is greater than \string\maxcols.^^J - Either allow overlays in TeX or increase \string\maxcols.}\fi - \fi} - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** headers/footers ***** -% - - -\def\pagenoprefix{} - -\def\rtitlex{\def\tubfont{\tenpoint\rm}\TUB, \volx } -\def\rtitle{% - \hbox to \pagewd{% - \tenrm - \makestrut[10pt;\z@]% - \ifodd\pageno \rtitlex\qquad\midrtitle\hfil\pagenoprefix\number\pageno - \else \pagenoprefix\number\pageno\hfil\midrtitle\qquad\rtitlex \fi - }% - } - -\def\runhead{\vbox to \rheadlgt{\rtitle \vfil }} - -\def\rfoot{% - \hbox to \pagewd{% - \tenrm - \makestrut[\z@;0.5pc]% - \midrtitle\hfil\midrtitle - }% - } - -\def\runfoot{\vbox to \rfootlgt{\vfil \rfoot }} - -% Macros to produce extra running heads for stripping onto pages -% received as camera copy. Format must be preset to \OneCol, and -% start on a new page. - -% Generate 5 (4 + normal running head) per page. - -\def\DrawT@pLines{% - \vskip\topskip - \ulap{% - \line{% - \raise 1ex\rlap{\leaders\hrule\hskip\pagewd}% - \leaders\hrule\hfill - }} - \medskip} - -\def\r@nhead{% - \vbox to .23\vsize{% - \basezero \hsize=\pagewd \vfil - \topregister \vskip\headmargin \runhead \DrawT@pLines } - \medskip - \advancepageno } - -\def\nextrunner{% - \ifnum\T@stCount>0 - \ifnum\T@stCount>5 \TestCount=5 \else\TestCount=\T@stCount \fi - \advance\T@stCount by-\TestCount - \DrawT@pLines % always one at top of page - \loop\ifnum\TestCount>1 \r@nhead \advance\TestCount by\m@ne \repeat - \newpage - \def\@next{\nextrunner}% - \else \def\@next{}% - \fi - \@next } - -% Use \ExtraRunheads to generate running heads for stripping (e.g. for -% author-supplied camera-ready copy). E.g., ``\ExtraRunheads 12, {}.'' will -% generate 12 TUGboat running heads, up to 5 per page, starting with -% the current page number. - -\def\ExtraRunheads #1, #2.{% - \T@stCount=#1 - \gdef\pageprefix{#2}% % as in A-10 for appendices; not used just now - \nextrunner } - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** insertions ***** -% - - -\newif\if@floatable \@floatabletrue % sometimes we don't want -\def\nofloat{\@floatablefalse} % midinsertions to float - -% redefine \@ins to avoid the \par of PLAIN -\def\@ins{\begingroup\setbox\z@\vbox\bgroup} - -\newinsert\botins -\newif\ifp@ge \newif\if@mid \newif\if@bot -\def\topinsert{\@midfalse\p@gefalse\@botfalse\@ins} -\def\botinsert{\@midfalse\p@gefalse\@bottrue\@ins} -\def\midinsert{\@midtrue\@botfalse\@ins} -\def\pageinsert{\@midfalse\@botfalse\p@getrue\@ins} -\skip\botins=\z@skip -\count\botins=1000 -\dimen\botins=\maxdimen -\def\endinsert{\egroup % finish the \vbox - \gdef\@next{}% - \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ - \advance\dimen@12\p@ \advance\dimen@\pagetotal - \if@floatable - \ifdim\dimen@>\pagegoal\@midfalse\@botfalse\p@gefalse\fi\fi - \fi - \if@mid - \vskip\abovedisplayskip - \box\z@ - \vskip\belowdisplayskip - \gdef\@next{\@asifbelowdisplay}% - \else\insert\if@bot\botins\else\topins\fi - {\penalty100 % floating insertion - \if@bot\medskip\nobreak\fi - \splittopskip\z@skip - \splitmaxdepth\maxdimen \floatingpenalty\z@ - \ifp@ge \dimen@\dp\z@ - \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero - \else \box\z@\fi - \if@bot\else\medskip\fi - }% - \fi\endgroup\@next} - -% Footnotes are mainly supported by PLAIN format, with these -% exceptions. - -\skip\footins=10pt -\def\footnoterule{\kern-5pt - \hrule width 5pc \kern 4.6pt } % the \hrule is .4pt high - -\newif\ifDelayFirstPar \DelayFirstParfalse -\def\vfootnote#1{\ifFirstPar \DelayFirstPartrue \fi - \insert\footins\bgroup - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \rm \parindent=\normalparindent % always indent footnotes; added for TUGboat - \textindent{#1}\makestrut[10pt;\z@]\futurelet\next\fo@t} -\def\@foot{\strut\egroup - \ifDelayFirstPar \SetupFirstPar \global\DelayFirstParfalse \fi } -\newif\ifFirstPar \FirstParfalse -\def\SetupFirstPar{\global\parindent=\z@ \global\FirstPartrue } - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** output ***** -% - - -% Reorganize \pagecontents from PLAIN to put footnotes at very -% bottom of page, even if \raggedbottom. Also add bottom insertions. - -\def\pagecontents{% - \ifvoid\topins\else\unvbox\topins\fi - \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255 - \ifr@ggedbottom \kern-\dimen@ \vfil \fi - \ifvoid\footins\else % footnote info is present - \vskip\skip\footins - \footnoterule - \unvbox\footins\fi - \ifvoid\botins\else - \vskip\skip\botins - \unvbox\botins\fi } - - -% Trim (registration) marks may or may not be placed around the pages; -% Overlaying may or may not be done within TeX (as opposed -% to the device driver). - -\newif\ifTrimmarks \Trimmarksfalse -\newif\ifOverlaysinTeX \OverlaysinTeXtrue - - -% All columns containing data are formatted by \midpage. Trim marks -% are put on all columns, but running heads only on the last column -% (i.e. column number = \numcols) - -\def\midpage#1{% - \vbox{ - \basezero - \hrule height\z@ depth\z@ width\p@ - \ifTrimmarks - \vskip-1in % default offset for laser printers - % this puts top trim at edge of paper - \vbox to \trimlgt \bgroup - \topregister - \vskip \headmargin - \else - \vskip-\rheadlgt % this puts runhead above default offset - \fi - \vbox to \pagelgt{ - \ifnum\xcol=\numcols \runhead \else \vbox to \rheadlgt{}\fi - \ifThisIsFirstPage \firsthead \fi - \hbox to \pagewd{#1} % \vsize applied in \pagebody - \ifThisIsFirstPage \firstfoot \fi - \vfil % if no depth, avoid underfull box - \ifnum\xcol=\numcols \runfoot \else \vbox to \rfootlgt{}\fi - } - \ifTrimmarks \vfill \botregister \egroup \fi - }} - -% The production version includes trim marks, which are required -% on photographic paper, but are unsuitable for laser printer output -% (because they land at the edges of the page). For multiple -% column output, allowance is made for column overlays either -% within TeX or by the driver. The default is to have all -% overlays done within TeX, but large pages or matters of efficiency -% may dictate that driver-overlay is more appropriate. - -% When the overlaying is done within TeX, the .dvi contains just -% one page for each page to be printed. However, in the case -% that a driver is to do the overlaying we must anticipate that -% it will not be smart enough to properly overlay different numbers -% of .dvi pages for different printed pages (e.g. in the case that -% one job has both single- and double-column layout). Thus, for -% each printed page, TeX constructs a constant number (=\maxcols) -% of .dvi pages. Columns 1 through and including \numcols will -% be usual .dvi pages containing information for the typeset columns. -% Upon reaching column number \numcols, TeX will `fill out' the -% printed page with empty columns to \maxcols. - - -% set up auxiliary `page numbers' -% \pageno = \count0 as used in PLAIN - -% \xcol is the column number within a page; ranges from 1 to \maxcols -\countdef\xcol=1 \xcol=1 - -% \spoolno is the ordinal number of `.dvi' pages (i.e. the number -% of \shipouts performed) -\countdef\spoolno=2 \spoolno=0 - -\def\newcol{\endgraf\vfill\eject} - -\def\newpage{% - \vfill\eject - \loop - \ifnum\xcol>1 - {\leavevmode\endgraf\vfill\eject} % \xcol is advanced in the output routine - \repeat - } - -\newcount\numcols % `real' number of columns - -\newcount\@maxcolsofar % internal counter for box allocation -\@maxcolsofar=0 - -\newcount\maxcols % job-wide maximum number of columns -\maxcols=2 - - - % save the column or ship it out -\def\@saveorship{% - \ifOverlaysinTeX - \ifnum\xcol>\@maxcolsofar % if we need another column box allocated - \global\advance\@maxcolsofar\@ne - \newboxcs{column\number\xcol}% - \fi - \global\setboxcs{column\number\xcol}% - \else - \global\advance\spoolno\@ne - \shipout - \fi - } - -% horizontal offset of column from left edge of page -\newdimen\coloffset \coloffset\z@ -\def\incrcoloffset{% - \global\advance\coloffset\colwd - \global\advance\coloffset\intercolwd - } - -\def\output@{% - \@saveorship\midpage{\kern\coloffset\pagebody\hfil} - \incrcoloffset - \ifnum\xcol=\numcols % if at `real' last column, fill out page with - \loop % empty columns - \ifnum\xcol<\maxcols - \global\advance\xcol\@ne - \@saveorship\midpage{\vbox to \collgt{}\hfil} - \repeat - \fi - \ifnum\xcol=\maxcols % put page together if TeX is overlaying - \ifOverlaysinTeX - \global\advance\spoolno\@ne - \shipout\hbox{% - \xcol=1 - \loop \rlap{\boxcs{column\number\xcol}}% - \ifnum\xcol<\maxcols - \global\advance\xcol\@ne - \repeat - \hbox to \pagewd{}% - }% - \fi - \D@EndPage % possible shortening of next page - \global\coloffset\ifodd\pageno\oddleftindent\else\evenleftindent\fi - \global\xcol=1 - \else - \global\advance\xcol\@ne - \fi - \ExecuteNextDC % possible `Delayed Command' - } - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** page adjustment ***** -% - - -% In the absence of automatic column-balancing, provide a mechanism -% for manually shortening a specified page. - -\newif\ifSh@rtPage \Sh@rtPagefalse -\newif\ifSh@rtPagePending \Sh@rtPagePendingfalse -\newcount\Sh@rtPageNo -\newdimen\Sh@rtPageLgt - -\def\@to{to} \def\@by{by} -% #1 = to/by; #2 = \dimen; #3 = <dimen>; #4 = * of Shorten*Page -\def\@toby#1#2#3#4{% - \def\@tb{#1}% - \ifx \@tb\@to \global #2=#3 - \else \ifx \@tb\@by \T@stDimen=#3 % accommodate negative #3 - #2=\normalcollgt \global\advance #2 by -\T@stDimen - \else \errmessage{#1 is invalid syntax; \string\Shorten#4Page - requires "to" or "by"}\fi - \fi } - -\def\@plusno#1#2;{% - \if +#1\T@stCount=\pageno \advance\T@stCount by #2 - \else \T@stCount=#1#2 \fi } - -\def\ShortenPage #1 #2 #3. {% - \global\Sh@rtPagePendingtrue - \@plusno#1;\global\Sh@rtPageNo=\T@stCount - \@toby{#2}{\Sh@rtPageLgt}{#3}{}} -\def\ShortenThisPage #1 #2. {% - \global\Sh@rtPagetrue - \@toby{#1}{\vsize}{#2}{This}} - -% Two cases: 0 = last page was nonstandard; reset \vsize -% 1 = do not reset \vsize: okay or length already reset -\def\D@EndPage{% - \global\advancepageno - \T@stCount=1 - \ifThisIsFirstPage \T@stCount=0 \global\ThisIsFirstPagefalse - \resetfirsthead \resetfirstfoot - \global\collgt=\normalcollgt \fi - \ifSh@rtPage \T@stCount=0 \global\Sh@rtPagefalse \fi - \ifSh@rtPagePending - \ifnum\pageno = \Sh@rtPageNo \T@stCount=1 - \global\vsize=\Sh@rtPageLgt - \global\Sh@rtPagePendingfalse - \global\Sh@rtPagetrue \fi - \fi - \ifcase \T@stCount \resetpagelgt \fi } - -% Add more powerful means of adjusting pages by keeping a list of -% commands to be executed prior to making up the next page. This -% technique will be expanded in the next version of the output -% routine. - -% "\DelayedCommand <page number> <column number> <command>\endCommand" -% places the token list <command> at the end of a list of "things to do". -% At the end of every column, the output routine checks this list to -% see whether the head of the list should be "executed" prior to -% building the next column. If so, the execution is performed. -% Right now, items must be placed in the execution list in order, -% and all items for a given column must be combined into a single -% token list. - -% Natural applications are double column figures and column size -% adjustments. E.g. -% \DelayedCommand +5 1 \global\advance\vsize by 2\baselineskip\endCommand -% will increase the \vsize of the first column of the page 5 pages from -% "now" by 2 baselines. To pull the \vsize back to normal would require -% another use of \DelayedCommand. Double column figures can be achieved -% with insertions called by \DelayedCommand. - -% Right now the technique is messy, but it can be used by those who know -% how it's implemented and know its limitations. - -\newtoks\@DelayedCommandList - -\def\DelayedCommand #1 #2 #3\endCommand{% - \@plusno#1;% - \edef\@temp{\the\@DelayedCommandList<\number\T@stCount>}% - \global\@DelayedCommandList=\expandafter{\@temp<#2>#3\endCommand}% - } - -\def\@FindNextDCPoint <#1><#2>#3\endList{% - \def\DCpage{#1}\def\DCcolumn{#2}} - -\def\FindNextDCPoint{% - \edef\@temp{\the\@DelayedCommandList}% - \ifx\@temp\empty \def\DCpage{\@M}\def\DCcolumn{0}% - \else - \edef\@form{% - \noexpand\@FindNextDCPoint\the\@DelayedCommandList\noexpand\endList}% - \@form - \fi} - -\def\@ExecuteNextDC <#1><#2>#3\endCommand#4\endList{% - \global\@DelayedCommandList={#4}% - #3} - -\def\ExecuteNextDC{% - \FindNextDCPoint - \ifnum \pageno=\DCpage \ifnum\xcol=\DCcolumn - \edef\@form{% - \noexpand\@ExecuteNextDC\the\@DelayedCommandList\noexpand\endList}% - \@form - \fi \fi} - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** general mechanism for tags ***** -% - -% Upon sensing an opening tag (call it `\foo' here), the following process -% is set in motion: -% 1. \begingroup (so definitions and settings are localized); -% 2. the default situation for \foo is set up; -% 3. if appropriate, an \everyfoo list is read (this allows one -% to override the TUGboat.sty factory defaults); -% 4. optional commands are read. This involves looking ahead for -% a `[' and `normalizing' the optional environment so that -% backslashes and braces are interpreted as their standard selves. -% After the options are read, the `\',`{', and `}' are restored -% to their status appropriate to \foo; -% 5. the \@beginfoo macro is executed. This -% may involve branching dependent upon flags set by options. It may -% also be a place where spaces and carriage-returns are activated. -% 6. the `argument' to \foo is read and stored or processed on -% the fly (the method employed is generally fixed for each tag). -% The argument may be delimited by *...* (called the `short-form' -% here), or up to ...\endfoo (called the `long-form'). -% 7. a cleanup macro is executed which also ends the current group. -% This may do all the work if an argument has been read and stored. - -% Checking ahead. -% Often we check ahead to determine the next course of action. -% \@checknexttoken is used to check for optional commands, to check for the -% short-form argument-delimiter, and to ignore characters in certain -% situations. The macro is just a check; applications must do whatever -% is appropriate with the ensuing token. - -% \@checknexttoken checks the next token against argument #1. If the -% two are the same, #2 is executed, otherwise #3. The comparison is -% done with \ifx. Since we check ahead with \futurelet, the first -% argument is stored with \let as well. To include the case -% where #1 may be a space, we have to go through a small contortion -% to \let\@basetoken= that space. - -% At times, the \@nexttoken will be \outer and this will prevent its -% being incorporated in the definition of \@next below. For this reason, -% we store `\ifx\@basetoken\@nexttoken' away in a definition at a time -% when \@nexttoken is undefined and won't cause a problem. - -\def\if@baseis@next{\ifx\@basetoken\@nexttoken} - -\long\def\@checknexttoken #1#2#3{% - \futurelet\@basetoken\iffalse#1\fi - \long\def\@next{% -% \ifx \@basetoken\@nexttoken - \if@baseis@next - \long\def\@@next{#2}% - \else\long\def\@@next{#3}\fi - \@@next}% - \futurelet\@nexttoken\@next} - -% Eliminating characters from input. -% The following macros check ahead to see whether the next token is a -% token to be parsed from the input stream. \@ignoreall keeps -% checking to eliminate all such characters, whereas \@ignoreone drops -% at most one. Argument #2 is executed after characters are eliminated. - -% The token is removed by defining a control sequence whose -% contextual form includes the token. - - % execute #2 after ignoring (possibly) one occurrence of #1 -\long\def\@ignoreone#1#2{% - \def\@ignoreform#1{#2}% - \@checknexttoken{#1}{\@ignoreform}{#2}% - } - - % execute #2 after ignoring all occurrences of #1 -\long\def\@ignoreall#1#2{% - \def\@ignoreform#1{\@ignoretest}% - \def\@ignoretest{\@checknexttoken{#1}{\@ignoreform}{#2}}% - \@ignoretest - } - -% Particularly useful ignorances. - - % execute #1 after ignoring spaces -\def\DeleteOptionalSpaces#1{% - \@ignoreall{ }{#1}% - } - % execute #1 after ignoring spaces and \pars -\def\DeleteOptionalSpacesandPars#1{% - \@ignoreall{ }{\@ignoreall{\par}{#1}}% - } - - -% Checking and reading options. -% To check for the next optional argument, the macros must look -% ahead to the next character. If the next character is a `[', -% the option-reading mechanism is invoked. This check may be suppressed if -% the user has executed the \lastoption option. If \@lastoption is -% "true" or if the [ is NOT next, the macro goes on to reading any -% arguments and executing appropriately. - -\def\@checkoptions{% - \if@lastoption - \def\@next{\@executetoend}% - \else - \def\@next{\@checknexttoken {[}{\@readoptions}{\@executetoend}}% - \fi - \@next - } - -% Default "options" on start-up. Unless over-ridden, the situation -% will be: -% 1. there may be another option to check (i.e. \@lastoptionfalse); -% 2. it will be necessary to read the input file to determine the -% method of marking arguments (i.e. \@longformfalse); -% 3. arguments will be handled on the fly (i.e. \@savingargumentfalse); -% 4. the long-form ending delimiter will be \end... (where ... is -% the tag with which we're currently operating. - -\newif\if@lastoption \@lastoptionfalse -\def\lastoption{\@lastoptiontrue} - -\newif\if@longform \@longformfalse -\def\longform{\@longformtrue} - -\newif\if@savingargument \@savingargumentfalse - -\newtoks\enddelim - -\def\@defaultoptions{% - \@lastoptionfalse - \@longformfalse - \@savingargumentfalse - \enddelim=\expandafter{\csname end\CurrentTag\endcsname}% - \let\@long\empty - } - -% To read an optional command, \catcodes of \ { } are restored to their plain -% values, and the [...] form is parsed out by \@@readoptions. The argument -% to \@@readoptions is then executed, the 3 specials are restored and -% the we check again for [ after deleting spaces. One might, alternatively, -% parse out the initial `[' and activate the `]' to end options, but -% this would make it awkward to place options within other macros (since -% the `]' would have to be \catcoded properly for the definition). - -\def\@readoptions{% - \savecat\\\makeescape\\% - \savecat\{\makebgroup\{% - \savecat\}\makeegroup\}% - \@@readoptions} - -\def\@@readoptions[#1]{% - #1% - \restorecat\\\restorecat\{\restorecat\}% - \DeleteOptionalSpaces{\@checkoptions}% - } - - -% Short Form Tagging. -% We specify a character (*) to be used as a begin/end delimiter -% for the argument to most tags. This code could be copied and -% altered a bit to use another character. - -% The character will be encountered as either type `other' or as -% an `active' character. - -\newtoks\@otherSFD -\@otherSFD={*} -\let\@SFD=* % used in \@checknexttoken - -\newtoks\@activeSFD -{\makeactive\* - \global\@activeSFD={*}% -} - -\let\@plainast=\ast -\def\ast{\ifmmode\@plainast\else *\fi} - - -% Reading to the end-tag. -% Macros may just do their business after options have been -% read. In this case, there is no end-tag to worry about. -% Otherwise, the macros either read to the "long-form" of end-tag -% (e.g. \endtitle or \endauthor) or to the short-form (assumed to -% be * here). Unless an option has specified -% that the long-form is to be used, the macros look ahead to -% see whether the short-form delimiter occurs next. If so, -% it is assumed that the short-form is being used. In any case, -% the appropriate \@begin... macro is executed before the argument is -% handled. - -\newcount\@numarguments \@numarguments=1 - -\def\@executetoend{% - \ifnum\@numarguments>0 - \if@longform \def\@afterbegintag{\@longparse}% - \else - \def\@afterbegintag{\@checknexttoken - {\@SFD}{\@shortparse}{\@longparse}}% - \fi - \else - \def\@afterbegintag{}% - \fi - \csname @begin\CurrentTag\endcsname - \@afterbegintag - } - -% If the short-form is being used and an argument is to be saved, -% we must define a "form" which TeX may follow to pull out the -% tag's argument. The argument is stored away in the token register -% \@argument, and the appropriate end-operation is performed. -% Otherwise (the `argument' is processed on-the-fly), we parse out -% the initial short-form delimiter and activate the ending one. - -\newtoks\@argument - -\def\@shortparse{% - \if@savingargument - \edef\@form{% - \def\noexpand\@@shortparse\the\@otherSFD####1\the\@otherSFD}% - \@long\@form{\@argument{##1}\csname end\CurrentTag\endcsname}% - \else - \expandafter\makeactive\csname\the\@otherSFD\endcsname - \expandafter\def\the\@activeSFD - {\csname end\CurrentTag\endcsname - \expandafter\makeother\csname\the\@otherSFD\endcsname}% - \def\@@shortparse{% - \expandafter\@ignoreone\expandafter{\the\@otherSFD}% - {}% - }% - \fi - \@@shortparse} - -% On the other hand, if the long form is used, TeX must parse to -% the long-form ending tag. Ordinarily we know the ending-tag -% because it is just the \end... which corresponds to the tag -% which initiated the process. We do allow for the possibility, -% however, that we may want to switch this for some reason. E.g. -% the different \verbatim styles allow for \verbatim...\endverbatim -% and ||...||. The easiest way to implement the || style is -% to have the first || call \verbatim and have \verbatim know -% to look for || as the end-tag instead of \endverbatim. This may -% be accomplished by allowing for the possibility of different -% end-tags as below. - -\def\@longparse{% - \if@savingargument - \edef\@form{\def\noexpand\@@longparse####1\the\enddelim}% - \@long\@form{\@argument{##1}\csname end\CurrentTag\endcsname}% - \else \def\@@longparse{}\fi - \@@longparse - } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Macros generally available to tags. - -\def\longargument{\def\@long{\long}} - -\def\@authorstyle{\@@@a} -\def\@inlinestyle{\@@@i} -\def\@displaystyle{\@@@d} -\def\@altinlinestyle{} -\def\@altdisplaystyle{} - -\newif\if@removeprewhite \@removeprewhitefalse -\newif\if@removepostwhite \@removepostwhitefalse -\def\removeprewhite{\@removeprewhitetrue} -\def\removepostwhite{\@removepostwhitetrue} - -% Allow for line numbers on a listing as well as rules above and below. -\newif\if@ruled \@ruledfalse -\newif\if@numbered \@numberedfalse -\newcount\linenumber -\newcount\globallinenumber \globallinenumber = 0 -\newif\if@continuingnumbers \@continuingnumbersfalse -\def\continuenumbers{\numbered\@continuingnumberstrue} - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** title, section title, authors, addresses ***** -% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% title - -\def\title{% - \begingroup - \def\CurrentTag{title}% - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endtitle{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\thetitle{\ignorespaces\the\toks@\unskip}% - } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% section titles - -% Material mostly in tugboat.com now - -\setbox\T@stBox=\hbox{\sectitlefont O} -\newdimen\stfontheight \stfontheight=\ht\T@stBox - -\def\sectitle{% - \begingroup - \def\CurrentTag{sectitle}% - \@defaultoptions - \@savingargumenttrue - \global\SecTitletrue - \@checkoptions} - -\def\endsectitle{% - \@sectitle{\the\@argument}% - \endgroup - } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% authors - -\newcount\authornumber - -\def\author{% - \begingroup - \def\CurrentTag{author}% - \global\advance\authornumber by 1 - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endauthor{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \expandafter\edef\csname theauthor\number\authornumber\endcsname - {\ignorespaces\the\toks@\unskip}% - \expandafter\let\csname theaddress\number\authornumber\endcsname\relax - \expandafter\let\csname thenetaddress\number\authornumber\endcsname\relax - } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% addresses - -\newif\if@address \@addressfalse -\def\address{% - \@addresstrue - \begingroup - \def\CurrentTag{address}% - \@defaultoptions - \@savingargumenttrue - \let\@addressstyle=\@authorstyle - \def\inline{\let\@addressstyle=\@inlinestyle}% - \def\display{\let\@addressstyle=\@displaystyle}% - \@checkoptions} - -\def\endaddress{% - \ifx\@addressstyle\@inlinestyle - \def\\{, }\the\@argument - \endgroup - \def\@next{}% - \else\ifx\@addressstyle\@displaystyle - \endgraf\raggedright - \everypar={\hangindent 1.5\parindent}% - \def\\{\endgraf}% - \def\|{\unskip\hfil\break}% - \vskip\abovedisplayskip - \the\@argument\endgraf - \vskip\belowdisplayskip - \@asifbelowdisplay - \endgroup - \def\@next{\ignorespaces}% - \else - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \expandafter\edef\csname theaddress\number\authornumber\endcsname - {\ignorespaces\the\toks@\unskip}% - \def\@next{}% - \fi \fi - \@next - } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% network addresses - -\def\netaddress{% - \begingroup - \def\CurrentTag{netaddress}% - \@defaultoptions - \@savingargumenttrue - \let\@network\relax - \def\network##1{\def\@network{##1: }}% - \@SpecialsGetOther - \makeescape\\% - \netaddrat - \netaddrpercent - \@checkoptions} - -{\makeactive\@ - \gdef\netaddrat{\makeactive\@\def@{\char"40\discretionary{}{}{}}} - \makeactive\% - \gdef\netaddrpercent{\makeactive\%\def%{\char"25\discretionary{}{}{}}} -} - -% We want the definition of \thenetaddress... to land at the right -% nesting level, so we have to first pull it to the top, then -% drop back to where we are. - -\def\endnetaddress{% - \global\toks@=\expandafter{\the\@argument}% - \ifx\@network\relax - \gdef\@@network{}% - \else - \xdef\@@network{\@network}% - \fi - \endgroup - \expandafter\edef\csname thenetaddress\number\authornumber\endcsname - {{\noexpand\rm\@@network}% - {\noexpand\netaddrat\noexpand\netaddrpercent\noexpand\net - \ignorespaces\the\toks@\unskip}}% - } - -\def\net{\tt} - -% Overrides to default author and signature formats - -\def\authorlist#1{\def\@authorlist{#1}} - -% Except for the first article in a section, beginnings of articles -% are announced by a horizontal rule the width of the column. -% In the case that this rule happens to fall at the top of a column, -% we have to make sure that it appears at the VERY top of the column -% and not just on the first baseline. To accomplish this, we insert -% an empty rule first and then jump back over it to place the rule that -% readers will see. - -\def\article{% - \@allowspanningfigsfalse - \ifSecTitle \global\SecTitlefalse - \else \vskip\AboveTitleSkip - \kern\topskip - \nullhrule - \kern-\topskip - \kern-\strulethickness - \hrule height\strulethickness depth\z@ - \nobreak - \kern\medskipamount - \fi - \ifx\thetitle\relax - \else - \nobreak - {\parskip\z@\interlinepenalty\@M - \noindent\def\\{\unskip\break}\raggedstretch=.3\colwd\raggedright\bf - \ignorespaces\thetitle\unskip\endgraf}% - \fi - \ifnum\authornumber>0 - \nobreak - \vskip4pt - {\parskip\z@\interlinepenalty\@M - \def\\{\unskip\hfil\break}\hangindent\parindent\raggedright - \@authorlist\endgraf} - \fi - \nobreak - \vskip \BelowTitleSkip - \vskip -\parskip - \tenpoint - \DeleteOptionalSpacesandPars{\noindent\ignorespaces}% - } - - -\def\endarticle{\vfil\end} % redefined in drivers - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** heads ***** -% - -% Heads are set by first saving the text of the head in \@argument -% and then operating appropriately depending upon the \headlevel. -% Selection among the different heads is made by an \ifcase. - -% To remove extra \par tokens between heads and ensuing text in the -% input file, we call \DeleteOptionalSpacesandPars. To do this outside -% the `head' group and just before TeX returns to the normal input stream -% following a call to \head, we must define (globally) a control sequence -% (\@next) and call it at the very end. - -\newcount\headlevel \headlevel=1 - -\def\head{% - \begingroup - \def\CurrentTag{head}% - \@allowindentfalse - \@defaultoptions - \@savingargumenttrue - \def\\{\break}% - \@checkoptions} - -\def\endhead{% - \endgraf - \ifcase\headlevel\or\@domainhead\or\@dosubhead\or\@dosubsubhead\fi - \endgroup - \@next - } - -\def\@domainhead{% - \if@removeprewhite\else\vskip\baselineskip\fi - \noindent{\raggedright\bf\ignorespaces\the\@argument\unskip\endgraf}% - \if@removepostwhite % usually we want the white space - \else\kern0.5\baselineskip\fi - \nobreak - \gdef\@next{% - \if@allowindent\def\@next{}% usually we don't want to indent here - \else\def\@next{\DeleteOptionalSpacesandPars{\noindent\ignorespaces}}\fi - \@next - }% - } - -\def\@dosubhead{% - \if@removeprewhite\else\medskip\fi - \noindent{\frenchspacing\bf\ignorespaces\the\@argument - \unskip\if@headpunctuation.\fi}% - \hskip 0.5em plus \fontdimen3\the\font - \gdef\@next{\DeleteOptionalSpacesandPars{}}% - } - -\def\@dosubsubhead{% - {\frenchspacing\bf\ignorespaces\the\@argument\unskip}% - \hskip 0.5em plus \fontdimen3\the\font - \gdef\@next{\DeleteOptionalSpacesandPars{}}% - } - -\def\subhead{\head[\headlevel=2]} -\def\subsubhead{\head[\headlevel=3]} - -\newif\if@headpunctuation \@headpunctuationtrue -\def\nopunctuation{\@headpunctuationfalse} - -\newif\if@allowindent -\def\allowindent{\global\@allowindenttrue} -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** text and subtext ***** -% - -% The code here exists primarily to implement \subtext. The treatment -% is similar to that for \head in that an \ifcase statement is called -% to choose between the various text levels. Here, however, we handle -% the `text' on the fly instead of saving it as an argument. - -\newcount\textlevel \textlevel=1 - -\def\text{% - \begingroup - \def\CurrentTag{text}% - \@defaultoptions - \@savingargumentfalse - \@checkoptions} - -\def\@begintext{% - \endgraf - \ifcase\textlevel\or\or\@setupsubtext\fi - } - -\def\@setupsubtext{% - \vskip\abovedisplayskip - \advance\leftskip by 0.5\parindent - \advance\rightskip by 0.5\parindent - \ninepoint\rm - } - -\def\endtext{% - \gdef\@next{}% - \ifcase\textlevel\or\or\@dosubtext\fi - \endgroup - \@next - } - -\def\@dosubtext{% - \endgraf - \vskip\belowdisplayskip - \gdef\@next{\@asifbelowdisplay}% - } - -\def\subtext{\text[\textlevel=2]} - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** lists ***** -% - -\newcount\listlevel \listlevel=1 -\newif\if@itemized -\newcount\itemnumber -\newtoks\@itemtag -\newcount\@cols % number of columns in list -\newdimen\colsepwidth -\newdimen\@listindent -\newdimen\@listhangindent -\newif\if@firstitem % when first item is handled differently -\newtoks\everylist - -\def\list{% - \begingroup - \def\CurrentTag{list}% - \let\@liststyle=\@displaystyle - \def\inline{\let\@liststyle=\@inlinestyle}% - \def\display{\let\@liststyle=\@displaystyle}% - \def\displaystyle##1{\def\@altdisplaystyle{##1}}% - \def\inlinestyle##1{\def\@altinlinestyle{##1}}% - \def\item{% - \begingroup - \def\CurrentTag{item}% - \@numarguments=0 - \@checkoptions}% - \@itemtag={$\bullet$}% - \def\tag##1{\@itemtag{##1}}% - \def\tagform##1{\llap{##1\strutt\enspace}}% - \@itemizedtrue - \def\unitemized{\@itemizedfalse}% - \itemnumber=0 - \def\numbered{\@itemtag={\number\itemnumber.}}% - \def\romannumeraled{\@itemtag={\romannumeral\itemnumber.}}% - \def\Romannumeraled{\@itemtag= - {\uppercase\expandafter{\romannumeral\itemnumber.}}}% - \def\lettered{\itemnumber="60 \@itemtag={\char\itemnumber.}}% - \def\Lettered{\itemnumber="40 \@itemtag={\char\itemnumber.}}% - \def\ruled{\@ruledtrue}% - \@ruledfalse - \@cols=1 - \def\cols{\@cols}% - \@firstitemtrue - \def\@itemseparator{, }% - \def\itemseparator##1{\def\@itemseparator{##1}}% - \@defaultoptions - \@savingargumentfalse - \the\everylist - \@checkoptions} - -\def\@beginlist{% - \ifx\@liststyle\@displaystyle - \endgraf - \ifnum\listlevel=1 - \if@ruled \if@removeprewhite\else\medskip\fi \hrule\kern5pt \nobreak - \else \if@removeprewhite\else\vskip\abovedisplayskip \fi\fi - \fi - \advance\leftskip\parindent - \@listindent=\parindent - \@listhangindent=\@listindent - \parindent\@listindent - \lineskip\z@ - \if@itemized - \else - \parskip\z@skip - \parindent\z@ - \raggedright - \everypar={\advance\itemnumber\@ne - \tagform{\the\@itemtag}}% - \makeCtrlMendgraf - \fi - \def\colsep{% - \global\count@\itemnumber - \egroup\kern\colsepwidth - \vtop\bgroup - \@altdisplaystyle - \itemnumber=\count@\ignoreendline}% - \ifnum\@cols>1 - \dimen@\colsepwidth - \multiply\dimen@\@cols - \advance\dimen@-\colsepwidth - \advance\hsize-\dimen@ - \divide\hsize by\@cols - \hbox\bgroup\vtop\bgroup - \fi - \@altdisplaystyle - \else - \def\tagform##1{##1\strutt\ }% - \if@itemized - \else - \makeCtrlMseparator - \advance\itemnumber by \@ne - \tagform{\the\@itemtag}% - \fi - \def\colsep{}% - \@altinlinestyle - \fi - } - - -\def\endlist{% - \ifx\@liststyle\@displaystyle - \if@itemized\endgraf\fi - \ifnum\@cols>1 - \egroup % vtop - \egroup % hbox - \fi - \ifnum\listlevel=1 - \if@ruled \kern5pt\hrule\nobreak\vskip2\medskipamount - \else %\nobreak - \if@removepostwhite\else\vskip\belowdisplayskip\fi - \fi - \gdef\@next{\@asifbelowdisplay}% - \fi - \else \gdef\@next{}% - \fi - \endgroup % list - \@next - } - -\def\sublist{\list[\listlevel=2]} - - -\newtoks\everyitem \everyitem{} - - -\def\@beginitem{% - \ifx\@liststyle\@displaystyle - \endgraf - \if@firstitem\@firstitemfalse\else\vskip\smallskipamount\fi - \advance\itemnumber by \@ne - \noindent\leavevmode - \the\everyitem - \tagform{\the\@itemtag}% - \else - \def\item{\if@firstitem\@firstitemfalse\else\unskip\@itemseparator\fi - \advance\itemnumber by \@ne\the\@itemtag\enspace}% - \fi - \global\count@\itemnumber - \global\dimen@\hangindent - \endgroup - \itemnumber\count@ - \hangindent\dimen@ - } - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** verbatim ***** -% - -% Operation here is very similar to that for the other tags. -% The opening tag sets up the situation and looks for optional -% commands and the short-form delimiters. Since initial setup -% involves changing the special characters to characters of -% type other, some juggling must be done when optional commands -% are read. In addition, to allow for implementation of the -% |...| style using the more verbose \verbatim...\endverbatim, -% we parameterize the ending-delimiter. - - % sets default to display style -\def\verbatim{\@verbatim[\display]} - -\def\@verbatim{% - \begingroup - \setupverbatim - \@checkoptions - } - -\def\setupverbatim{% - \def\CurrentTag{verbatim}% - \@defaultoptions - \def\inline{\let\@verbstyle\@inlinestyle}% - \def\display{\let\@verbstyle\@displaystyle}% - \def\displaystyle##1{\def\@altdisplaystyle{##1}}% - \def\inlinestyle##1{\def\@altinlinestyle{##1}}% - \def\numbered{\@numberedtrue}% - \def\ruled{\@ruledtrue}% - \def\smallcode{\ninepoint\tt\baselineskip=10pt}% - \let\@verbinputvar\relax - \let\@verbinputfile\relax - \@SpecialsGetOther - \enddelim=\expandafter{\endverbdelimiter}% - \normalspaces\frenchspacing - \obeylines - \@savingargumenttrue - \the\everyverbatim - } - -\def\@SpecialsGetOther{% - \catcode`\\=\other - \catcode`\{=\other \catcode`\}=\other \catcode`\$=\other - \catcode`\&=\other \catcode`\#=\other \catcode`\%=\other - \catcode`\~=\other \catcode`\_=\other \catcode`\^=\other - \the\@AdditionsToSpecialsGetOther} - -% The \@Additions... register above should be used whenever another -% character is declared to be special for some purpose. E.g., -% we will use the | for the short-form |...| verbatim notation. -% Since the | is generally active for this purpose, it's category -% won't get changed to \other for use in \verbatim...\endverbatim -% unless we add it via this mechanism. - -\newtoks\@AdditionsToSpecialsGetOther - -\def\AddToSpecialsGetOther#1{% - \@AdditionsToSpecialsGetOther= - \expandafter{\the\@AdditionsToSpecialsGetOther#1}} - -% Altering the verbatim setup. -% Users can alter the setup to their purpose by -% putting tokens in the register \everyverbatim. - -\newtoks\everyverbatim - -% Ordinarily the end-tag would be the single token `\endverbatim'. -% The following allows us to `see' the tag when `\' is of type `other'. -{\catcode`\|=0 \catcode`\\=\other -|gdef|endverbdelimiter{\endverbatim}} - -% Input from an external variable or file - -\def\inputfromvar#1{\def\@verbinputvar{#1}}% -\def\inputfromfile#1{\def\@verbinputfile{#1}}% -\let\@verbinputvar\relax -\let\@verbinputfile\relax - -% Outputs - -\newif\if@outputtotype \@outputtotypetrue -\def\notype{\@outputtotypefalse} -\def\outputtovar#1{\def\@verboutputvar{#1}} -\def\outputtofile#1{\def\@verboutputfile{#1}} -\let\@verboutputvar\relax -\let\@verboutputfile\relax -\newwrite\verboutfile - -\def\@beginverbatim{\obeyspaces}%\obeylines} - -\def\endverbatim{% - \ifx\@verboutputvar\relax\else % output to `variable' - \expandafter\xdef\csname\@verboutputvar\endcsname{\the\@argument}% - \fi - \ifx\@verboutputfile\relax\else % output to file - \immediate\openout\verboutfile=\@verboutputfile - \makeCtrlMnewlinechar - \iffalse{\fi\expandafter\@setupverbwrite\the\@argument}% use \@setupwrite to - \immediate\closeout\verboutfile % get rid of initial ^^M - \fi - \gdef\@next{}% % in case following clause is false - \if@outputtotype % output typeset on page - \tt - \ifx\@verbstyle\@inlinestyle - \@beforeverbinline - \@altinlinestyle - \else - \@beforeverbdisplay - \@altdisplaystyle - \fi - \ifx\@verbinputvar\relax\else % input from `variable' - \csname\@verbinputvar\endcsname - \fi - \ifx\@verbinputfile\relax\else % input from file - \fileinput{\@verbinputfile}% - \@endverbatim - \fi - \expandafter\@ignoreCtrlMverbendline\the\@argument\@endverbatim - \ifx\@verbstyle\@inlinestyle - \@afterverbinline - \else - \@afterverbdisplay\gdef\@next{\@asifbelowdisplay}% - \fi - \fi - \endgroup - \@next - } - - -\def\@beforeverbinline{% - \makeCtrlMverbspace - \let\@endverbatim=\empty - } - -\def\@beforeverbdisplay{% - \def\@endverbatim{\verbendline}% - \if@ruled \medskip \hrule\kern5pt \nobreak - \else \vskip\abovedisplayskip - \fi - \makespaceverbspace - \makeCtrlMverbendline - \parskip=\z@skip - \if@numbered \parindent=\z@ - \if@continuingnumbers - \else \global\globallinenumber = \z@ \fi - \linenumber=\z@ \fi - \everypar={\global\advance\globallinenumber by\@ne - \advance\linenumber by\@ne - \ifnum\linenumber<3 \vadjust{\nobreak}\fi - \if@numbered \leavevmode - \hbox to\normalparindent{\hss\sevenrm\the\globallinenumber.\ }% - \fi}% - \frenchspacing\rightskip=-\ttrightskip \hyphenpenalty\@M - } - -% \ttrightskip is the permissible overhang beyond right margin; -% in MANMAC, this is 5pc, which is fine for the TeXbook, but too much here. - -\newdimen\ttrightskip \ttrightskip=1pc - -\def\@afterverbinline{} - -\def\@afterverbdisplay{% - \if@ruled \kern5pt\hrule\fi - \ifnum\linenumber<3 \penalty\z@ \fi - \if@removepostwhite\else - \if@ruled \vskip2\medskipamount \else \vskip\belowdisplayskip\fi - \fi - } - -\def\@asifbelowdisplay{% - \toks@=\expandafter{\the\everypar}% - \noindent - \everypar=\expandafter{\the\toks@}% - \ignorespaces} - - -% Definitions of spaces and ^^M -% \@ignoreCtrlMverbendline is used to lop off an initial ^^M in -% verbatim text and to remove an \@endverbatim (the latter in case the -% verbatim text is actually empty) - -\def\@ignoreendverbatim{\@ignoreone{\@endverbatim}{}} -\def\verbendline{\leavevmode\null\endgraf} -\def\makeCtrlMactive{\catcode`\^^M=\active} -{\makeCtrlMactive -\gdef\makeCtrlMverbendline{\makeCtrlMactive% - \def^^M{\@ignoreone{\@endverbatim}{\verbendline}}}% -\makeCtrlMverbendline% -\gdef\@ignoreCtrlMverbendline{\@ignoreone{ -}{\@ignoreendverbatim}}% -\gdef\@setupverbwrite{\@ignoreone{ -}{\immediate\write\verboutfile\bgroup}}% -\gdef\makeCtrlMverbspace{\makeCtrlMactive\def^^M{\verbatimspace}}% -\gdef\makeCtrlMnewlinechar{\newlinechar=`\^^M}% -\gdef\makeCtrlMendgraf{\makeCtrlMactive\def^^M{\strutt\endgraf}}% -\gdef\makeCtrlMseparator{\makeCtrlMactive% - \def^^M{% - \@checknexttoken {\endlist}{}{% - \@itemseparator\advance\itemnumber by \@ne \tagform{\the\@itemtag}% - \ignorespaces}}}% -} - -% to read a variable or file name properly, we must interpret -% spaces and ^^M as nothing or as spaces - -{\makeCtrlMactive\obeyspaces% -\gdef\makeCtrlMempty{\def^^M{}}% -\gdef\makespaceempty{\def {}}% -} -{\makeCtrlMactive\obeyspaces% -\gdef\makeCtrlMspace{\def^^M{\space}}% -\gdef\makespacespace{\def {\space}}% -} - -{\makeCtrlMactive% -\gdef\@ignoreCtrlM#1{\@ignoreone{^^M}{#1}}% -\gdef\ignoreendline{\@ignoreCtrlM{}}% -} - -% From David Eppstein's ``Trees'' paper (6#1), preserve initial spaces. -\def\verbatimspace{\ifvmode\indent\fi\space} -{\obeyspaces\gdef\makespaceverbspace{\def {\verbatimspace}}} - - - -% Options and variants. - -\def\verbinline{\verbatim[\inline]} -\def\verbdisplay{\verbatim[\display]} -\def\verbfile#1{\verbatim[\inputfromfile{#1}]} - - -% Verbatim with the other characters (e.g. |...|). -% Procedures are parameterized so that it is easy to allow -% different characters to perform this function. Any character -% that's chosen could cause problems if it occurs unexpectedly -% in the middle of what is supposed to be verbatim text. We call -% the current special character for this purpose the "verbchar" -% and store it in active form in the token register \@verbchar. - -\newtoks\@verbchar - -% On hitting a "verbchar" in the middle of text, TeX must look ahead -% to see whether the verbchar occurs again. Since this -% look-ahead fixes the category of the token examined, we must change -% the categories of all characters appropriately before looking -% (and we read \everyverbatim in case it contains a category change). -% We must also "gobble" the second verbchar if we hit one. -% Depending upon whether 1 or 2 verbchars are found, we call -% \verbatim with the appropriate style command. We also use an -% optional command to change the delimiter which ends this \verbatim -% block. We naturally localize the changes to category codes made on -% startup. It's easier to end this group here at the beginning and to -% restart everything in a standard \verbatim than it is to add an extra -% \endgroup after the verbatim text. - -\def\@firstverbchar{% - \begingroup - \setupverbatim -% \@SpecialsGetOther - \makeverbcharactive - \expandafter\@checknexttoken\expandafter{\the\@verbchar}% - {\expandafter\@ignoreone\expandafter{\the\@verbchar}% - {\endgroup\verbatim[\longform\maketwoendverb]}}% - {\endgroup\verbatim[\inline\longform\makeoneendverb]}% - } - -\def\setupverbchar{% - \def\makeoneendverb{\catcode\expandafter`\csname\expandafter - \string\the\@verbchar\endcsname= - \active\edef\endverbdelimiter{\the\@verbchar}% - \enddelim=\expandafter{\endverbdelimiter}}% - \def\maketwoendverb{\catcode\expandafter`\csname\expandafter - \string\the\@verbchar\endcsname= - \active\edef\endverbdelimiter{\the\@verbchar\the\@verbchar}% - \enddelim=\expandafter{\endverbdelimiter}}% - \expandafter\let\the\@verbchar\@firstverbchar - \makeverbcharactive - \AddToSpecialsGetOther{% - \catcode\expandafter`\csname - \expandafter\string\the\@verbchar\endcsname=\other}% - } - -\def\makeverbcharactive{% - \catcode\expandafter`\csname - \expandafter\string\the\@verbchar\endcsname=\active} - -{\makeother\| \gdef\VertChar{|}} -{\makeactive\| -\gdef\makevertverbchar{% - \@verbchar={|}% - \setupverbchar - } -} - -{\makeother\! \gdef\WowChar{!}} -{\makeactive\! -\gdef\makewowverbchar{% - \@verbchar={!}% - \setupverbchar - } -} - - -\def\MTH{$} -\def\sb{_} -\def\sp{^} -\def\SP{{\tt\char"20 }} % "visible" space -\chardef\bs=`\\ -\def\vrt{{\tt\char`\|}} -\def\brokenvert{\hbox to 5.24998pt{\hfill - \lower 1.5pt\vbox to 8.5pt{\hrule width .9pt height 3.25pt - \vfill\hrule width .9pt height 3.25pt}\hfill}} - - - -\def\@lt{$<$} -\def\@gt{$>$} -{\makeactive\< -\gdef\enablemetacode{% - \AddToSpecialsGetOther{\catcode`\<=\other}% - \makeactive\<% - \def<##1>{$\langle${\it\makeCtrlMspace\makespacespace##1\/}$\rangle$}% - } -} - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** figures ***** -% - - -\newif\if@@mid \@@midfalse -\newif\if@@bot \@@botfalse -\def\@caption{} -\newif\if@fixed \@fixedfalse - - % items for top and bottom ``banners'' on first page -\def\resetfirsthead{\global\toplgt=\z@ \gdef\firsthead{}} -\resetfirsthead -\newbox\firsth@@d \newbox\firsth@ad - -\def\resetfirstfoot{\global\botlgt=\z@ \gdef\firstfoot{}} -\resetfirstfoot -\newbox\firstf@@t \newbox\firstf@ot - -\newif\if@allowspanningfigs - -\newcount\@figurepage -\newcount\@figurescol -\newcount\@figureecol - - -\def\figure{% - \begingroup - \def\CurrentTag{figure}% - \@defaultoptions - \@savingargumentfalse - \def\top{}% - \def\bot{\@@bottrue}% - \def\mid{\@@midtrue}% - \def\caption##1{\def\@caption{\ulap{\bigskip##1\smallskip}}}% - \def\fixed{\@fixedtrue}% - \def\scol{\@figurescol}% - \def\ecol{\@figureecol}% - \@figurepage=\pageno - \@figurescol=1 - \@figureecol=\numcols - \def\page{% - \@ignoreall{\space}% - {\@ignoreone{=}% - {\@ignoreall{\space}% - {\@checknexttoken{+}{\@ignoreone{+}{\advance\@figurepage by}}% - {\@figurepage=}% - }% - }% - }% - }% - \@checkoptions} - -\def\@beginfigure{% - \if@fixed - \global\ThisIsFirstPagetrue - \setbox\T@stBox=\vbox\bgroup \hsize\pagewd - \else - \if@@mid\midinsert\else\if@@bot\botinsert\else\topinsert\fi\fi - \fi - } - -\def\endfigure{% - \@caption - \if@fixed - \egroup - \if@allowspanningfigs - \ifnum\@figurepage>\pageno - \immediate\write\sixt@@n{^^J - Setting multiple column figures currently not allowed on pages^^J - other than the first of each article. Check your source file.^^J}% - \else - \if@@bot - \ifdim \botlgt=\z@ \global\botlgt=\ht\T@stBox \resetpagelgt \fi - \global\setbox\firstf@ot=\vbox to \botlgt{\box\T@stBox \vfil}% - \global\setbox\firstf@@t=\vbox to \botlgt{\vfil}% - \gdef\firstfoot{\ifnum \xcol=2 \copy\firstf@ot - \else \copy\firstf@@t \fi }% - \else - \ifdim \toplgt=\z@ \global\toplgt=\ht\T@stBox \resetpagelgt \fi -% assume that \firsth@ad ends with glue, hence no \dp - \global\setbox\firsth@ad=\vbox to \toplgt{\box\T@stBox \vfil}% - \global\setbox\firsth@@d=\vbox to \toplgt{\vfil}% - \gdef\firsthead{\ifnum \xcol=2 \box\firsth@ad - \else \copy\firsth@@d \fi }% - \fi - \fi - \else - \immediate\write\sixt@@n{^^J - Setting multiple column figures currently not allowed after^^J - article has begun.^^J}% - \fi - \else \endinsert - \fi - \endgroup - } - -\def\twocolfigure{% - \figure[\fixed]} - - - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** utilities ***** -% - - - -\def\linebreak{\unskip\break} % conflicts with LaTeX definition - -% Define a structure that will permit a list (using \obeylines) -% to be made into 2 columns, split by \vsplit, indented the -% normal \parindent - -\def\NormalizeBlockHeight{% - \TestCount=1 % \@ne - \TestDimen=\dimen0 \advance\TestDimen by-\topskip - \CutOneLine } -\def\CutOneLine{% - \advance\TestCount by 1 \advance\TestDimen by-\baselineskip - \ifdim\TestDimen < \baselineskip % \@ne - \def\result{% - \TestDimen=\baselineskip - \multiply\TestDimen by \TestCount - \advance\TestDimen by \topskip - \global\dimen0=\TestDimen }% - \else \def\result{\CutOneLine }\fi - \result } - -\def\twosplit{% - {\topskip=\baselineskip \splittopskip=\topskip - \setbox0=\copy\TestBox - \dimen0=\ht\TestBox - \NormalizeBlockHeight - \divide\dimen0 by 2 - \setbox\LeftHalf=\vsplit\TestBox to \dimen0 - \ifdim\ht\TestBox > \ht\LeftHalf - \advance\dimen0 by \baselineskip - \setbox\TestBox=\copy0 - \setbox\LeftHalf=\vsplit\TestBox to \dimen0 - \fi - \line{\kern\parindent\valign{##\vfil\cr - \unvbox\LeftHalf\cr\noalign{\hfil}\unvbox\TestBox\cr}}% - }% - \global\setbox0=\null} - -\newbox\LeftHalf -\newdimen\HalfWd -\HalfWd=\twocolcolwd -\advance\HalfWd by-\normalparindent -\divide\HalfWd by 2 - -{\obeylines -\gdef\twouplist #1{% - \topskip=\baselineskip \splittopskip=\topskip - \begingroup \parindent=\z@ \obeylines -% next line ends with intentional <cr> - \def\endtwouplist{ - \egroup % % end of \vbox - \endgroup % % end of \obeylines group - \twosplit }% - \global\setbox\TestBox=\vbox\bgroup\hsize=\HalfWd % - \indent\vrule height\topskip width \z@ #1}% -} - -% Tags for special formatting of editor's notes (See also TUGBOAT.COM) - -\def\Editor{\noindent To the Editor:\par} -\def\EdNote #1{% - \if #1[% - \ifvmode \smallskip\noindent \else \unskip\hskip1em \fi - [\thinspace\xEdNote\ignorespaces - \else \ifFirstPar \else \medskip\noindent \fi - \xEdNote #1\fi } - - - -% Draw a box around a whole page, e.g. announcements page; -% format must be \onenarrow or \onemedium, and start on a new page. - -\def\bigbox{\hrule \hbox\bgroup \vrule\kern 1pc - \vbox\bgroup \vskip 1pc } -\def\endbox{\endgraf \vskip 1pc \egroup \kern 1pc\vrule \egroup \hrule } - -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ***** initialization ***** -% - - -\def\initializearticle{% - \let\thetitle=\relax - \authornumber=0 - \def\@signature{\@defaultsignature}% - \def\@authorlist{\@defaultauthorlist}% - \@allowspanningfigstrue - } - - -\makeother\@ - -% @ is prohibited in AMS-TeX, but should not be in TUGboat - - -\twocol -\maxcols=2 -\OverlaysinTeXtrue -\Trimmarksfalse -\PrelimDrafttrue -\initializearticle -\pageno=1001 % number of title page - -\StretchyTenPointSpacing -\StretchyNinePointSpacing -\StretchyEightPointSpacing - -\makevertverbchar - -\endinput - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% History of changes - -Version Date Changes -------- --------- --------------------------------------------------- -1.16 2 Jan 06 updated TUG address and phone in header - -1.15 15 Aug 05 added switch \if@address to avoid skip in signature - -1.14c 14 Oct 96 lowered footnoterule by 3pt - -1.14b 14 Apr 94 added \interlinepenalty=10000 to avoid page breaks - in very long titles and author lists - -1.14a 8 Nov 93 removed extraneous " from header - -1.14 19 Feb 93 installed new TUG address and phone number in header - -1.13 13 Oct 92 Added \SMC in \ninepoint - -1.12 4 Jun 92 Added stretchability to \rightskip in ragged title - -1.11 8 Mar 92 Changed name of tugboat.com to tugboat.cmn to avoid - conflict with special meaning of .com with some - operating systems - Within verbatim, added \smallcode (from tugproc) - Added standard headers, prepared for archive installation - -1.10 21 Oct 91 Corrected font for \SMC in \tenpoint to \ninerm - (\ninesmc was used, but set to cmcsc10) - Changed \EdNote to detect \ifvmode when tag followed - by [ and to \smallskip and \noindent in that case - rather than performing \hskip1em - -1.09 11 Mar 91 Made \ an escape character in network addresses. - Added mechanism for saving \long arguments of - TUGboat macros (see uses of \@long). - -1.08 18 Oct 90 Incorporated redefinition of \sl within \bf - Changed an \input within \verbatim to \fileinput. - Added means of turning off punctuation after subheads. - Removed \nobreak after lists -1.07 8 Jun 90 Corrected definition of \newpage - -1.06 13 May 90 Added \@setupverbwrite to eliminate initial ^^M - as \verbatim writes to a file. - - Made strut on first line of footnote slightly taller - so as to separate footnotes. - - Reset \@verbinputfile and \@verbinputvar to \relax - to allow nesting - - Removed some \global assignments to \@argument and - 2 verbatim flags to allow nesting. - -1.05 23 Apr 90 Added "\setupverbatim" to \@firstverbchar so - that category switches are accomodated properly. - -1.04 7 Mar 90 Added \colsepwidth to allow for separation between - columns of lists - -1.03 1 Mar 90 Modified \@dosubhead and \@dosubsubhead to allow - stretchable space afterward - -1.02 25 Feb 90 Added \resetmaxcols to allow for automatic adjustment - of \maxcols; if overlays are done by the driver, - \maxcols needs to be set to an overall job maximum - at the start of the job. - - Added setting of \SecTitletrue to definition - of \sectitle. - - Added indicator of style file loaded (\tubstyle). - -1.01 17 Jan 90 Modified \@executetoend so that \@next would not - be clobbered by \csname @begin\CurrentTag\endcsname; - \@next changed to \@afterbegintag - - Added `\the' before \@otherSFD within definition of - \@shortparse - - added \@altdisplaystyle to definition of \colsep diff --git a/Master/texmf-dist/tex/plain/tugboat/tugproc.sty b/Master/texmf-dist/tex/plain/tugboat/tugproc.sty deleted file mode 100644 index 56361b54664..00000000000 --- a/Master/texmf-dist/tex/plain/tugboat/tugproc.sty +++ /dev/null @@ -1,366 +0,0 @@ -%% @texfile{ -%% filename="tugproc.sty", -%% version="1.11", -%% date="26-Jan-1994", -%% filetype="TeX macros for TUG Proceedings", -%% copyright="Copyright (C) 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.", -%% author="TeX Users Group", -%% address="TeX Users Group", -%% P. O. Box 869, -%% Santa Barbara, CA 93102-0869, -%% USA", -%% telephone="805-963-8358", -%% email="Internet: tug@tug.org or TUGboat@Math.AMS.org", -%% codetable="ISO/ASCII", -%% checksumtype="line count", -%% checksum="366", -%% keywords="tex users group, tugboat, proceedings, plain tex", -%% abstract="This file contains the plain-based macros -%% for Proceedings issues of TUGboat, the -%% Communications of the TeX Users Group." -%% } -%% ********************************************************* -%% -%% Use of this file also requires the following files: -%% TUGBOAT.STY (version 1.09+) -%% TUGBOAT.CMN (version 1.08+) (loaded by TUGBOAT.STY) -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\fileversion{v1.11} -\def\filedate{26 Jan 94} - -\message{File `TUGPROC.STY' \fileversion \space\space <\filedate>} - -% initialize year/issue-specific elements for standalone use -\def\mtgyear{1994} -\def\volyr{1994} -\def\volno{15} -\def\issno{3} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\input tugboat.sty - -\savecat\@ \makeletter\@ -\ifx\tugprocloaded@\undefined \let\tugprocloaded@\end -\else \restorecat\@ \xdef\startingpage{\number\pageno}\endinput \fi - -\newdimen\tubpagelgt -\tubpagelgt=\pagelgt \advance\tubpagelgt 1pc % for running feet - -% fonts - -\font\twelverm=cmr10 scaled 1200 -\font\twelvebf=cmbx10 scaled 1200 -\font\fourteenrm=cmr10 scaled 1440 -\font\fourteenit=cmti10 scaled 1440 -\font\fourteensl=cmsl10 scaled 1440 - -\def\twelvepoint{% - \normalbaselineskip=14pt - \def\rm{\fam\z@\twelverm}% - \textfont\z@=\twelverm - \def\bf{\fam\bffam\twelvebf}% - \textfont\bffam=\twelvebf - \normalbaselines \rm} - -\def\fourteenpoint{% - \normalbaselineskip=18pt - \def\rm{\fam\z@\fourteenrm}% - \textfont\z@=\fourteenrm - \def\it{\fam\itfam\fourteenit}% - \textfont\itfam=\fourteenit - \def\sl{\fam\slfam\fourteensl}% - \textfont\slfam=\fourteensl - \normalbaselines \rm} - -\def\AUTHORfont{\twelvepoint\rm} -\def\HEADfont{\twelvepoint\bf} -\def\TITLEfont{\fourteenpoint\rm} -\def\addressfont{\ninepoint\rm} -\def\netaddrfont{\ninepoint\tt} - -\def\br{\unskip\hfil\break} % version for titles -\def\degrade{\def\br{\unskip\space\ignorespaces}% - \let\\\br} % in running heads. - -% running heads & feet -%\newcount\startingpage % Number of first page of article -\newif\ifpreprint \preprinttrue -\def\preprint{\preprinttrue - \ifExtrAbs\breaklines\fi} % (*) -\newif\ifproof \prooffalse \let\filename\relax -\def\Proof{\prooftrue\immediate\write16{File name?} - \immediate\read16 to\filename} -\def\stamp{\ifproof{\tt \filename}\quad\Now\else\space\fi} -\let\midrtitle=\null -\def\rtitlex{% - \ifodd\pageno\degrade\rhtitle\else\rhauthor\fi} -\def\rtitle{% - \hbox to \pagewd{% - \tenpoint - \makestrut[10pt;\z@]% - \ifnum\the\pageno=\startingpage\hfill\stamp\else - \ifodd\pageno - \stamp\hfill\rtitlex - \else - \rtitlex\hfill\stamp - \fi\fi - }% - } - -\ifx\startingpage\undefined \def\startingpage{1001}\fi -\pageno=\startingpage -\def\rfoot{% - \hbox to \pagewd{% - \tenpoint - \makestrut[\z@;0.5pc]% - \ifpreprint - \ifodd\pageno - \pfoottext\hfil\Now\hfil$^.$\number\pageno - \else - \number\pageno$^.$\hfil\Now\hfil\pfoottext - \fi - \else - \ifodd\pageno - \rfoottext\hfil\number\pageno - \else - \number\pageno\hfil\rfoottext - \fi - \fi - }% - } - -\v@lx % normalize publication info for footer -\def\pfoottext{{\smc Preprint}: \mtgyear{} \TUG{} Annual Meeting} -\def\rfoottext{\tenrm\TUB, \volx\Dash - {Proceedings of the \volyr{} Annual Meeting}} - -% midpage redone to align running feet. -\def\midpage#1{% - \vbox{ - \basezero - \hrule height\z@ depth\z@ width\p@ - \ifTrimmarks - \vskip-1in % default offset for laser printers - % this puts top trim at edge of paper - \vbox to \trimlgt \bgroup - \topregister - \vskip \headmargin - \else - \vskip-\rheadlgt % this puts runhead above default offset - \fi - \dlap{\vbox to\tubpagelgt{\vfil - \ifnum\xcol=\numcols \runfoot \else \vbox to \rfootlgt{}\fi}} - \vbox to \pagelgt{ - \ifnum\xcol=\numcols \runhead \else \vbox to \rheadlgt{}\fi - \ifThisIsFirstPage \firsthead \fi - \hbox to \pagewd{#1} % \vsize applied in \pagebody - \ifThisIsFirstPage \firstfoot \fi - \vfil % if no depth, avoid underfull box -% \ifnum\xcol=\numcols \runfoot \else \vbox to \rfootlgt{}\fi - } - \ifTrimmarks \vfill \botregister \egroup \fi - }} - -% *************************************************** -% Bibliography -\def\Hang{1em} -\def\entry #1{\noindent\frenchspacing\hangindent\Hang #1} - -% Appendix -\def\appendix #1\endappendix{\newpage\onecol\centerline{\HEADfont #1}} - -% Box for deadlines: -\newbox\textbox % \twocolcolwd=18.75pc [cf. tugboat.sty] -\long\def\boxit #1{\vbox{\hrule\hbox{\vrule\kern3pt - \vbox{\kern3pt\vskip 4pt#1\vskip 4pt\kern3pt}\kern3pt\vrule}\hrule}} -\long\def\boxedlist #1{$$\boxit{\setbox\textbox=\vbox{\hsize 18pc - \strut{#1}\strut}\box\textbox}$$} % TeXbook, 94 & 223 (exer 21.3) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% top matter -\def\endtitle{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\thetitle{\ignorespaces\the\toks@\unskip}% - \let\rhtitle\thetitle - } - % If your title is too long for the running head, - % use this to construct a shorter version: -\def\shorttitle{% - \begingroup - \def\CurrentTag{shorttitle}% - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endshorttitle{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\rhtitle{\ignorespaces\the\toks@\unskip}% - } - -\def\rhauthor{\@defaultauthorlist} - % Use the following for running heads if more than - % one author or author's name is too long to fit: -\def\shortauthor{% - \begingroup - \def\CurrentTag{shortauthor}% - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endshortauthor{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\rhauthor{\ignorespaces\the\toks@\unskip}% - } - -%\long\def\Abstract #1\endAbstract{\long\def\@abstract{#1}} -\def\abstract{\@abstract[\longargument]} -\def\@abstract{% - \begingroup - \def\CurrentTag{abstract}% - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endabstract{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\theabstract{\ignorespaces\the\toks@\unskip}% - } - -\newif\ifExtrAbs \ExtrAbsfalse % Extract abstract from paper -\def\breaklines{\begingroup\catcode`\^^M=\active\newlinechar=`\^^M} -\def\endbreaklines{\endgroup} - -\def\prefnote{\@prefnote[\longargument]} -\def\@prefnote{% - \begingroup - \def\CurrentTag{prefnote}% - \@defaultoptions - \@savingargumenttrue - \@checkoptions} - -\def\endprefnote{% - \global\toks@=\expandafter{\the\@argument}% - \endgroup - \edef\theprefnote{\ignorespaces\the\toks@\unskip}% - } - -\let\theprefnote\relax - -\def\@defaultsignature{% - \count@=0 - \loop - \ifnum\count@<\authornumber - \vskip20pt - \advance\count@ by \@ne - \noindent{\AUTHORfont\theauthor{\number\count@}}\endgraf - \noindent{\addressfont\theaddress{\number\count@}}\endgraf - \noindent{\netaddrfont\thenetaddress{\number\count@}}\endgraf - \repeat - } - -\newbox\startbox % \newdimen\startheight -\def\article{% \ifExtrAbs\endbreaklines\fi % (*) - \setbox\startbox=\hbox to\colwd - {\hbox to\pagewd{\vbox{ - \hsize\pagewd\raggedright\advance\rightskip0pt plus 1fil\tenpoint\rm - \let\\\break - \noindent{\TITLEfont\thetitle\endgraf}% - \@defaultsignature - \ifx\theprefnote\relax\else - \vskip 20pt - \hbox to \pagewd{\hfil\vbox{\hsize 0.6\pagewd - \rightskip\z@skip \parfillskip0pt plus 1fil \spaceskip\z@skip - \noindent{\bf Author's Note: }\ignorespaces\theprefnote\par}\hfil} - \fi - \vskip 20pt - \hbox to \pagewd{\hfil\vbox{\hsize 0.75\pagewd - \rightskip\z@skip \parfillskip0pt plus 1fil \spaceskip\z@skip - \centerline{\bf Abstract}\vskip 5pt - \noindent\theabstract\par}\hfil} - \vskip 1pc}}\hss} - \twocolfigure\box\startbox\endfigure - \ifExtrAbs % (*) - \immediate\write\titleabs{\string\TITLE\string\bf\space - \rhauthor:\ \string\rm \rhtitle;;} - \immediate\write\titleabs{\space} - \immediate\write\titleabs{\string\ABS\string\bf\space - Abstract.\ \theabstract;;} - \immediate\write\titleabs{\space} - \immediate\write\titleabs{\string\endinput} - \immediate\closeout\titleabs \endbreaklines - \fi % (*) -} - -% \head (This writes over a definition in tugboat.sty) -\def\@domainhead{% - \if@removeprewhite\else\vskip\baselineskip\fi - \noindent{\HEADfont\baselineskip15pt % larger type than usual - \raggedright\bf\ignorespaces\the\@argument\unskip\endgraf}% - \if@removepostwhite % usually we want the white space - \else\kern0.5\baselineskip\fi - \nobreak - \gdef\@next{% - \if@allowindent\def\@next{}% usually we don't want to indent here - \else\def\@next{\DeleteOptionalSpacesandPars{\noindent\ignorespaces}}\fi - \@next - }% - } - -\restorecat\@ - -% \Trimmarkstrue % for final copy -% \overfullrule=0pt - -\endinput - -%% ********************************************************* - -Change History --------------- -1.11 changed TUG address in header to Santa Barbara - parameterized dates, etc., in running footers - initialized them at top of file instead of in footer text - -1.10 changed \tenrm to \tenpoint in definitions of \rtitle and \rfoot - so that \sl will be properly defined if used in that context - -1.09 removed \smallcode definition; it is now in tugboat.sty - increased width of abstract from 60-75% of text width - added standard headers, prepared for archive installation - -1.08 changed \start to \startingpage - added definition of \startingpage at top of file so running heads - will be empty on first page of article - -1.07 removed \Pageno - added check for previous input - altered \\ in running heads - -Previous: - -%%% TUGPROC.sty 11-mar-90 (*) 15-mar-90 30-mar-90 10-apr-90 -%%% 26-jun-90 [changed running feet, page numbers, \start] -%%% 28-jun-90 [added \stamp, \ifproof] 29-jun-90 [\Proof] -%%% TUGPROC.sty 03-feb-90 (renamed 13-feb-90) 20-feb-90 -%%% -%%% Supplementary header file for TUG Proceedings volume -%%% for use with plain.tex (under revision still) -%%% -%%% (*) This version writes the title and abstract into -%%% a file, for use in preparing the Title-Abstract-Bio -%%% section in the program. Author-Title and Abstract are -%%% written into a file as one-liners; if these lines are -%%% too long, they should be reformatted manually before -%%% the file is \input. diff --git a/Master/texmf-dist/tpm/tugboat.tpm b/Master/texmf-dist/tpm/tugboat.tpm index 95d4258910e..7477919dbff 100644 --- a/Master/texmf-dist/tpm/tugboat.tpm +++ b/Master/texmf-dist/tpm/tugboat.tpm @@ -3,7 +3,7 @@ <rdf:Description about="http://texlive.dante.de/texlive/Package/tugboat.zip"> <TPM:Name>tugboat</TPM:Name> <TPM:Type>Package</TPM:Type> - <TPM:Date>2006/05/28 18:33:58</TPM:Date> + <TPM:Date>2007/03/30 14:01:11</TPM:Date> <TPM:Version></TPM:Version> <TPM:Creator>rahtz</TPM:Creator> <TPM:Title>LaTeX macros for TUGboat articles.</TPM:Title> @@ -18,29 +18,23 @@ Barbara Beeton (plain), Robin Fairbairns (LaTeX) <TPM:Size>1036738</TPM:Size> <TPM:License></TPM:License> <TPM:Build/> - <TPM:RunFiles size="222141"> + <TPM:RunFiles size="105803"> texmf-dist/bibtex/bst/tugboat/ltugbib.bst texmf-dist/tex/latex/tugboat/ltugboat.cls texmf-dist/tex/latex/tugboat/ltugboat.sty texmf-dist/tex/latex/tugboat/ltugcomn.sty texmf-dist/tex/latex/tugboat/ltugproc.cls texmf-dist/tex/latex/tugboat/ltugproc.sty -texmf-dist/tex/plain/tugboat/tugboat.cmn -texmf-dist/tex/plain/tugboat/tugboat.sty -texmf-dist/tex/plain/tugboat/tugproc.sty texmf-dist/tpm/tugboat.tpm </TPM:RunFiles> - <TPM:DocFiles size="689133"> + <TPM:DocFiles size="537360"> texmf-dist/doc/latex/tugboat/README texmf-dist/doc/latex/tugboat/ltubguid.ltx texmf-dist/doc/latex/tugboat/ltubguid.pdf texmf-dist/doc/latex/tugboat/manifest.txt texmf-dist/doc/latex/tugboat/tugboat.pdf -texmf-dist/doc/plain/tugboat/README -texmf-dist/doc/plain/tugboat/tubguide.pdf -texmf-dist/doc/plain/tugboat/tubguide.tex </TPM:DocFiles> - <TPM:SourceFiles size="125464"> + <TPM:SourceFiles size="125801"> texmf-dist/source/latex/tugboat/tugboat.dtx texmf-dist/source/latex/tugboat/tugboat.ins </TPM:SourceFiles> diff --git a/Master/texmf/lists/tugboat b/Master/texmf/lists/tugboat index 84c558e1bb0..4625cf465ae 100644 --- a/Master/texmf/lists/tugboat +++ b/Master/texmf/lists/tugboat @@ -3,9 +3,6 @@ texmf-dist/doc/latex/tugboat/ltubguid.ltx texmf-dist/doc/latex/tugboat/ltubguid.pdf texmf-dist/doc/latex/tugboat/manifest.txt texmf-dist/doc/latex/tugboat/tugboat.pdf -texmf-dist/doc/plain/tugboat/README -texmf-dist/doc/plain/tugboat/tubguide.pdf -texmf-dist/doc/plain/tugboat/tubguide.tex texmf-dist/source/latex/tugboat/tugboat.dtx texmf-dist/source/latex/tugboat/tugboat.ins texmf-dist/bibtex/bst/tugboat/ltugbib.bst @@ -14,9 +11,6 @@ texmf-dist/tex/latex/tugboat/ltugboat.sty texmf-dist/tex/latex/tugboat/ltugcomn.sty texmf-dist/tex/latex/tugboat/ltugproc.cls texmf-dist/tex/latex/tugboat/ltugproc.sty -texmf-dist/tex/plain/tugboat/tugboat.cmn -texmf-dist/tex/plain/tugboat/tugboat.sty -texmf-dist/tex/plain/tugboat/tugproc.sty texmf-dist/tpm/tugboat.tpm texmf/lists/tugboat |