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