|
|
1.1 ! root 1: % LaTeX customization ! 2: ! 3: ! 4: \makeatletter % for a little while ! 5: ! 6: ! 7: % plain TeX compatibility ! 8: ! 9: \def\oldstyle{\xdef\@oldstyle{\the\textfont\@ne}\mit\@oldstyle} ! 10: ! 11: ! 12: % PhD-TeX compatibility ! 13: ! 14: \def\showsummary{% ! 15: \begingroup ! 16: \def\note##1{% ! 17: \ifcase\value{##1}no ##1s\or ! 18: 1 ##1\else ! 19: \the\value{##1} ##1s\fi ! 20: }% ! 21: \typeout{LaTeX summary: \note{figure}, \note{table}, \note{footnote}.}% ! 22: \endgroup ! 23: } ! 24: ! 25: \def\smaller{\footnotesize} ! 26: ! 27: ! 28: % Float Support ! 29: ! 30: \def\topfraction{0.85} ! 31: \def\textfraction{0.20} ! 32: \def\floatpagefraction{0.85} ! 33: \def\dbltopfraction{0.85} ! 34: \def\dblfloatpagefraction{0.85} ! 35: ! 36: \def\@tagskipcommand{\vskip .5\baselineskip} ! 37: ! 38: % \tagfigure*[FLOAT]{FILE}{CAPTION}{LABEL} ! 39: % * optional ! 40: % FLOAT float options ! 41: % FILE reads TPIC output in file figureFILE ! 42: % CAPTION for list of figures ! 43: % LABEL for \ref and \pageref ! 44: \def\tagfigure{\@ifstar{\@stagfigure}{\@tagfigure}} ! 45: \def\@tagfigure{\@ifnextchar[{\@@tagfigure}{\@@tagfigure[t]}} ! 46: \def\@stagfigure{\@ifnextchar[{\@@stagfigure}{\@@stagfigure[t]}} ! 47: ! 48: \def\@@tagfigure[#1]#2{% ! 49: \@@@tagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}} ! 50: \def\@@stagfigure[#1]#2{% ! 51: \@@@stagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}} ! 52: ! 53: ! 54: % \tagdiagram*[FLOAT]{FILE}{CAPTION}{LABEL} ! 55: % * optional ! 56: % FLOAT float options ! 57: % FILE reads LaTeX input in file diagramFILE ! 58: % CAPTION for list of figures ! 59: % LABEL for \ref and \pageref ! 60: \def\tagdiagram{\@ifstar{\@stagdiagram}{\@tagdiagram}} ! 61: \def\@tagdiagram{\@ifnextchar[{\@@tagdiagram}{\@@tagdiagram[t]}} ! 62: \def\@stagdiagram{\@ifnextchar[{\@@stagdiagram}{\@@stagdiagram[t]}} ! 63: ! 64: \def\@@tagdiagram[#1]#2{\@@@tagfigure[#1]{\input diagram#2\relax}} ! 65: \def\@@stagdiagram[#1]#2{\@@@stagfigure[#1]{\input diagram#2\relax}} ! 66: ! 67: \def\@@@tagfigure[#1]#2#3#4{% ! 68: \begin{figure}[#1] ! 69: \hrule ! 70: \@tagskipcommand ! 71: \begin{minipage}\columnwidth ! 72: \small#2% ! 73: \end{minipage} ! 74: \vskip .5\baselineskip plus .5\baselineskip ! 75: \begingroup ! 76: \setbox\z@=\hbox{#4}% ! 77: \ifdim\wd\z@>\z@ ! 78: \caption{#3}% ! 79: \label{#4}% ! 80: \else ! 81: \captcont{#3}% ! 82: \fi ! 83: \endgroup ! 84: \vskip 2pt ! 85: \hrule ! 86: \end{figure} ! 87: } ! 88: ! 89: \def\@@@stagfigure[#1]#2#3#4{% ! 90: \begin{figure*}[#1] ! 91: \hrule ! 92: \@tagskipcommand ! 93: \begin{minipage}\textwidth ! 94: \small#2% ! 95: \end{minipage} ! 96: \vskip .5\baselineskip plus .5\baselineskip ! 97: \begingroup ! 98: \setbox\z@=\hbox{#4}% ! 99: \ifdim\wd\z@>\z@ ! 100: \caption{#3}% ! 101: \label{#4}% ! 102: \else ! 103: \captcont{#3}% ! 104: \fi ! 105: \endgroup ! 106: \vskip 2pt ! 107: \hrule ! 108: \end{figure*} ! 109: } ! 110: ! 111: ! 112: % \tagtable*[FLOAT]{FILE}{CAPTION}{LABEL} ! 113: % * optional ! 114: % FILE read LaTeX input in file tableFILE ! 115: % FLOAT float options ! 116: % CAPTION for list of tables ! 117: % LABEL for \ref and \pageref ! 118: \def\tagtable{\@ifstar{\@stagtable}{\@tagtable}} ! 119: \def\@tagtable{\@ifnextchar[{\@@tagtable}{\@@tagtable[t]}} ! 120: \def\@stagtable{\@ifnextchar[{\@@stagtable}{\@@stagtable[t]}} ! 121: ! 122: \def\@@tagtable[#1]#2#3#4{% ! 123: \begin{table}[#1] ! 124: \hrule ! 125: \@tagskipcommand ! 126: \begin{minipage}\textwidth ! 127: \small\input table#2\relax ! 128: \end{minipage} ! 129: \vskip .5\baselineskip plus .5\baselineskip ! 130: \begingroup ! 131: \setbox\z@=\hbox{#4}% ! 132: \ifdim\wd\z@>\z@ ! 133: \caption{#3}% ! 134: \label{#4}% ! 135: \else ! 136: \captcont{#3}% ! 137: \fi ! 138: \endgroup ! 139: \vskip 2pt ! 140: \hrule ! 141: \end{table} ! 142: } ! 143: ! 144: \def\@@stagtable[#1]#2#3#4{% ! 145: \begin{table*}[#1] ! 146: \hrule ! 147: \@tagskipcommand ! 148: \begin{minipage}\columnwidth ! 149: \small\input table#2\relax ! 150: \end{minipage} ! 151: \vskip .5\baselineskip plus .5\baselineskip ! 152: \begingroup ! 153: \setbox\z@=\hbox{#4}% ! 154: \ifdim\wd\z@>\z@ ! 155: \caption{#3}% ! 156: \label{#4}% ! 157: \else ! 158: \captcont{#3}% ! 159: \fi ! 160: \endgroup ! 161: \vskip 2pt ! 162: \hrule ! 163: \end{table*} ! 164: } ! 165: ! 166: ! 167: % Environments: ! 168: ! 169: % DESCRIBE - similar to DESCRIPTION, but indents extra on left margin of ! 170: % outer list ! 171: ! 172: \def\describe{\list{}{\labelwidth\z@ \itemindent-\leftmargin ! 173: \ifnum\@listdepth=1 \advance\leftmargin by2em\fi ! 174: \let\makelabel\descriptionlabel}} ! 175: \let\enddescribe=\endlist ! 176: ! 177: ! 178: % Document style options: ! 179: % 10pt - Makes ten-point type the normal (default) type size ! 180: % draftnote - Customized draft option ! 181: ! 182: \@namedef{ds@10pt}{\def\@ptsize{0}} %%% for orthogonality ! 183: ! 184: ! 185: \newif\ifdraft \draftfalse ! 186: ! 187: \def\draftstring{{\ifdraft \tt Draft\fi}} ! 188: ! 189: \def\draftext{% ! 190: \ifdraft ! 191: \begingroup ! 192: \tt ! 193: \ifodd\c@page ! 194: \LaTeX set \today\ with \fmtname\ v\fmtversion ! 195: \else ! 196: Draft \versiontag/ of \versiondate/ ! 197: \fi ! 198: \endgroup ! 199: \fi ! 200: } ! 201: ! 202: \def\versiontag/{% ! 203: \gdef\versiontag/{\#0}% ! 204: \gdef\versiondate/{\today}% ! 205: \@input{\jobname.vrsn}%6 ! 206: \versiontag/% ! 207: } ! 208: \def\versiondate/{% ! 209: \gdef\versiontag/{\#0}% ! 210: \gdef\versiondate/{\today}% ! 211: \@input{\jobname.vrsn}% ! 212: \versiondate/% ! 213: } ! 214: ! 215: \def\ds@draftnote{% ! 216: \drafttrue ! 217: \@ifundefined{ds@draft}{}{\ds@draft}% ! 218: \def\ps@plain{% ! 219: \let\@mkboth=\@gobbletwo ! 220: \def\@oddhead{\draftext\hfil}% ! 221: \def\@oddfoot{\draftstring\hfil\rm\thepage\hfil\draftstring}% ! 222: \def\@evenhead{\hfil\draftext}% ! 223: \let\@evenfoot=\@oddfoot ! 224: }% ! 225: \let\ps@@headings=\ps@headings ! 226: \def\ps@headings{% ! 227: \ps@@headings ! 228: \def\@oddfoot{\draftext\hfil}% ! 229: \def\@evenfoot{\hfil\draftext}% ! 230: }% ! 231: } ! 232: ! 233: ! 234: % Page Styles ! 235: ! 236: % \pagestyle{myfootings} similar to the myheadings command but also permits ! 237: % the user to define foot information as well as head information ! 238: % \markleftfoot{left_foot} specifies the foot for odd-numbered ! 239: % pages ! 240: % \markrightfoot{right_foot} specifies the foot for even-numbered ! 241: % pages ! 242: % N.B. DOES NOT USE MARKS TO ACCOMPLISH THIS, OWING TO CONFLICT WITH HEADING ! 243: % ROUTINES ! 244: ! 245: \def\ps@myfootings{\ps@myheadings} ! 246: ! 247: \def\markleftfoot#1{\def\@evenfoot{\hbox{}\sl#1\hfil}} ! 248: \def\markrightfoot#1{\def\@oddfoot{\hfil\sl#1\hbox{}}} ! 249: ! 250: ! 251: % \pagestyle{reprint} similar to plain page style in draft mode ! 252: ! 253: \let\reprintext=\draftext ! 254: \let\reprintstring=\draftstring ! 255: ! 256: \def\ps@reprint{% ! 257: \def\draftext{% ! 258: \ifdraft ! 259: \begingroup ! 260: \tt ! 261: \ifodd\c@page ! 262: \LaTeX set \today ! 263: \else ! 264: Draft \versiontag/ ! 265: \fi ! 266: \endgroup ! 267: \fi ! 268: }% ! 269: \def\@oddhead{\reprintext\hfil\draftext}% ! 270: \def\@oddfoot{\reprintstring\hfil\rm\thepage}% ! 271: \def\@evenhead{\draftext\hfil\reprintext}% ! 272: \def\@evenfoot{\rm\thepage\hfil\reprintstring}% ! 273: } ! 274: ! 275: ! 276: % The Title ! 277: ! 278: \def\title#1{% ! 279: \gdef\@title{#1}% ! 280: \gdef\banner{% ! 281: \newpage\setcounter{page}{1}% ! 282: \begin{center}\Large#1\end{center}% ! 283: }% ! 284: } ! 285: ! 286: ! 287: % Miscellany ! 288: ! 289: \def\implies{\quad\supset\ } ! 290: ! 291: \def\tdots{\ldots\thinspace} ! 292: ! 293: \def\boxit#1{\fbox{\sc#1}} ! 294: ! 295: \def\note#1{\ifdraft\marginpar{\tt#1}\fi} ! 296: ! 297: ! 298: % Fractions (from The TUGboat v6 n1, 1985) ! 299: ! 300: \def\myfrac#1/#2{% ! 301: \leavevmode\kern.1em ! 302: \raise.5ex\mbox{\the\scriptfont\z@ #1}\kern-.1em ! 303: /\kern-.15em\lower.25ex\mbox{\the\scriptfont\z@ #2}% ! 304: } ! 305: ! 306: ! 307: % Trademarks... ! 308: ! 309: \input trademark ! 310: ! 311: ! 312: % Continuation Captions... ! 313: ! 314: \input captcont.sty ! 315: ! 316: ! 317: % Startup ! 318: ! 319: \xdef\today{% ! 320: \ifcase\month ! 321: \number\month\or ! 322: January\or February\or March\or April\or May\or June\or ! 323: July\or August\or September\or October\or November\or December\else ! 324: \number\month\fi ! 325: \space\number\day, {\noexpand\mit\number\year}% ! 326: } ! 327: ! 328: \begingroup ! 329: \count0=\time ! 330: \count1=\count0 ! 331: \divide\count0 by 60 ! 332: \count2=\count0 ! 333: \multiply\count0 by 60 ! 334: \advance\count1 by -\count0 ! 335: \ifnum\count2>11 ! 336: \ifnum\count2>12 \advance\count2 by -12\fi ! 337: \def\ampm{pm}% ! 338: \else ! 339: \ifnum\count2=0 \advance\count2 by 12\fi ! 340: \def\ampm{am}% ! 341: \fi ! 342: \xdef\daytime{% ! 343: \ifnum\count2<10 0\fi \the\count2:% ! 344: \ifnum\count1<10 0\fi \the\count1 ! 345: \ampm ! 346: }% ! 347: \endgroup ! 348: ! 349: ! 350: \makeatother % back to normal
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.