home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / inputs / latex / unpacked / slides.def < prev    next >
Text File  |  1995-06-21  |  20KB  |  547 lines

  1. %% 
  2. %% This is file `slides.def', generated 
  3. %% on <1995/6/21> with the docstrip utility (2.2i).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% slides.dtx  (with options: `cmd')
  8. %% 
  9. %% 
  10. %% This is a generated file. 
  11. %% 
  12. %% Copyright 1993-1995 the LaTeX3 project and any individual authors 
  13. %% listed elsewhere in this file. All rights reserved. 
  14. %% 
  15. %% For further copyright information see the file legal.txt, and any 
  16. %% other copyright notices in this file. 
  17. %% 
  18. %% This file is part of the LaTeX2e system. 
  19. %% ---------------------------------------- 
  20. %% This system is distributed in the hope that it will be useful, 
  21. %% but WITHOUT ANY WARRANTY; without even the implied warranty of 
  22. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  23. %% 
  24. %% For error reports concerning UNCHANGED versions of this file no more 
  25. %% than one year old, see bugs.txt. 
  26. %% 
  27. %% Please do not request updates from us directly. Primary 
  28. %% distribution is through the CTAN archives. 
  29. %% 
  30. %% 
  31. %% IMPORTANT COPYRIGHT NOTICE: 
  32. %% 
  33. %% You are NOT ALLOWED to distribute this file alone. 
  34. %% 
  35. %% You are allowed to distribute this file under the condition that it is 
  36. %% distributed together with all the files listed in manifest.txt. 
  37. %% 
  38. %% If you receive only some of these files from someone, complain! 
  39. %% 
  40. %% Permission is granted to copy this file to another file with a clearly 
  41. %% different name and to customize the declarations in that copy to serve 
  42. %% the needs of your installation, provided that you comply with 
  43. %% the conditions in the file legal.txt. 
  44. %% 
  45. %% However, NO PERMISSION is granted to generate or to distribute a 
  46. %% modified version of this file under its original name. 
  47. %% 
  48. %% You are NOT ALLOWED to change this file. 
  49. %% 
  50. %% 
  51. %% MODIFICATION ADVICE: 
  52. %% 
  53. %% If you want to customize this file, it is best to make a copy of the 
  54. %% source file(s) from which it was produced. Use a different name for 
  55. %% your copy(ies) and modify the copy(ies); this will ensure that your 
  56. %% modifications do not get overwritten when you install a new release of 
  57. %% the standard system. You should also ensure that your modified source 
  58. %% file does not generate any modified file with the same name as a 
  59. %% standard file. You can then easily distribute your modifications by 
  60. %% distributing the modified and renamed copy of the source file, taking 
  61. %% care to observe the conditions in legal.txt; this will ensure that 
  62. %% other users can safely use your modifications. 
  63. %% 
  64. %% You will also need to produce your own, suitably named, .ins file to 
  65. %% control the generation of files from your source file; this file 
  66. %% should contain your own preambles for the files it generates, not 
  67. %% those in the standard .ins files. 
  68. %% 
  69. %% The names of the source files used are shown above. 
  70. %% 
  71. %% 
  72. %% 
  73. %% \CharacterTable
  74. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  75. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  76. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  77. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  78. %%   Dollar        \$     Percent       \%     Ampersand     \&
  79. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  80. %%   Asterisk      \*     Plus          \+     Comma         \,
  81. %%   Minus         \-     Point         \.     Solidus       \/
  82. %%   Colon         \:     Semicolon     \;     Less than     \<
  83. %%   Equals        \=     Greater than  \>     Question mark \?
  84. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  85. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  86. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  87. %%   Right brace   \}     Tilde         \~}
  88. \ProvidesFile{slides.def}
  89.               [1995/05/23 v2.3p
  90.                SLiTeX definitions]
  91. \message{hacks,}
  92.  
  93. \outer\def\newifG#1{\count@\escapechar \escapechar\m@ne
  94.   \expandafter\expandafter\expandafter
  95.    \edef\@ifG#1{true}{\global\let\noexpand#1\noexpand\iftrue}%
  96.   \expandafter\expandafter\expandafter
  97.    \edef\@ifG#1{false}{\global\let\noexpand#1\noexpand\iffalse}%
  98.   \@ifG#1{false}\escapechar\count@} % the condition starts out false
  99. \def\@ifG#1#2{\csname\expandafter\ifG@\string#1#2\endcsname}
  100. {\uccode`1=`i \uccode`2=`f \uccode`3=`G \uppercase{\gdef\ifG@123{G}}}
  101.  % `ifG' is required
  102.  
  103. \def\@gobbletoend#1{\def\@argend{#1}\@ggobtoend}
  104.  
  105. \long\def\@ggobtoend#1\end#2{\fi\def\@tempa{#2}%
  106. \ifx\@tempa\@argend\else\@ggobtoend\fi}
  107.  \message{slides,}
  108. \newif\if@bw
  109. \newif\if@visible
  110. \newif\if@onlyslidesw \@onlyslideswfalse
  111. \newif\if@onlynotesw  \@onlynoteswfalse
  112. \newif\if@makingslides
  113. \newifG\ifG@slidesw
  114. \countdef\c@slide=0 \c@slide=0
  115. \def\cl@slide{}
  116. \countdef\c@overlay=1 \c@overlay=0
  117. \def\cl@overlay{}
  118. \countdef\c@note=2 \c@note=0
  119. \def\cl@note{}
  120.  
  121. \@addtoreset{overlay}{slide}
  122. \@addtoreset{note}{slide}
  123. \@definecounter{page}
  124. \@addtoreset{page}{slide}
  125. \@addtoreset{page}{note}
  126. \@addtoreset{page}{overlay}
  127.  
  128. \def\theslide{\@arabic\c@slide}
  129. \def\theoverlay{\theslide-\@alph\c@overlay}
  130. \def\thenote{\theslide-\@arabic\c@note}
  131. \def\@sl@getargs#1-#2-#3\relax#4#5{\xdef#4{#1}\xdef#5{#2}}
  132. \def\@sl@ccdr#1,#2\relax#3#4{\xdef#3{#1-#1-}\xdef#4{#2}}
  133.  
  134. \def\@setlimits #1#2#3{\expandafter\@sl@ccdr#1\relax\@sl@gtmp #1%
  135. \expandafter\@sl@getargs\@sl@gtmp\relax#2#3}
  136. \def\onlyslides#1{\@onlyslideswtrue
  137.    \gdef\@doglslidelist{#1,999999,999999}%
  138.    \if@onlynotesw \else
  139.       \@onlynoteswtrue\gdef\@doglnotelist{999999,999999}\fi
  140.    \typeout{Only Slides #1}}
  141. \def\onlynotes#1{\@onlynoteswtrue
  142.    \gdef\@doglnotelist{#1,999999,999999}%
  143.    \if@onlyslidesw \else
  144.       \@onlyslideswtrue\gdef\@doglslidelist{999999,999999}\fi
  145.    \typeout{Only Notes #1}}
  146. \if@compatibility
  147. \def\blackandwhite#1{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  148. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  149. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  150. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  151. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  152. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  153. \setcounter{note}{0}\@makingslidestrue\input #1\@makingslidesfalse}
  154. \def\colors#1{\@for\@colortemp:=#1\do{\expandafter
  155.   \xdef\csname\@colortemp\endcsname{\noexpand\@color{\@colortemp}}}\ifx
  156.   \@colorlist\@empty \gdef\@colorlist{#1}%
  157.     \else \xdef\@colorlist{\@colorlist,#1}\fi}
  158.  
  159. \def\@colorlist{}
  160. \def\colorslides#1{\newpage\setcounter{page}{0}\@bwfalse
  161. \@for\@currcolor:=\@colorlist\do
  162. {\@visibletrue
  163. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  164. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  165. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  166. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  167. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  168. \setcounter{note}{0}\typeout{color \@currcolor}%
  169. \newpage
  170. \begin{huge}%
  171. \begin{center}%
  172. COLOR LAYER\\[.75in]%
  173. \@currcolor
  174. \end{center}%
  175. \end{huge}%
  176. \newpage
  177. \@makingslidestrue
  178. \input #1
  179. \@makingslidesfalse}}
  180. \else  %% if@compatibility
  181. \def\setupcounters{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  182. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  183. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  184. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  185. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  186. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  187. \setcounter{note}{0}\@makingslidesfalse}
  188.  
  189. \AtBeginDocument{\setupcounters}
  190. \fi %% if@compatibility
  191. \if@compatibility
  192. \def\slide#1{\stepcounter{slide}\G@slideswtrue\if@onlyslidesw
  193. \@whilenum \c@slide >\@doslidehigh\relax
  194. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  195. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  196. \ifG@slidesw
  197.   \G@slideswfalse
  198.   \if@bw\G@slideswtrue\else
  199.     \@color{#1}\if@visible \G@slideswtrue \fi
  200.   \fi
  201. \fi
  202. \ifG@slidesw \newpage\thispagestyle{slide}%
  203. \csname \last@color \endcsname
  204. \else\end{slide}\@gobbletoend{slide}\fi}
  205. \else  %% if@compatibility
  206. \def\slide{\par\break
  207. \stepcounter{slide}\setcounter{page}{0}\G@slideswtrue\if@onlyslidesw
  208. \@whilenum \c@slide >\@doslidehigh\relax
  209. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  210. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  211. \ifG@slidesw
  212.   \G@slideswfalse
  213.   \if@bw\G@slideswtrue\else
  214.     \if@visible \G@slideswtrue \fi
  215.   \fi
  216. \fi
  217. \ifG@slidesw \@makingslidestrue\thispagestyle{slide}%
  218. \csname \last@color \endcsname
  219. \else\end{slide}\@gobbletoend{slide}\fi}
  220. \fi %% if@compatibility
  221.  
  222. \let\last@color\@empty
  223.  
  224. \def\endslide{\par\break}
  225. \if@compatibility
  226. \def\overlay#1{\stepcounter{overlay}\G@slideswtrue%
  227. \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  228. \G@slideswfalse\fi\fi
  229. \ifG@slidesw \G@slideswfalse\begingroup\if@bw\G@slideswtrue%
  230. \else\@color{#1}\if@visible \G@slideswtrue\fi\fi\endgroup\fi
  231. \ifG@slidesw \newpage\thispagestyle{overlay}%
  232. \else\end{overlay}\@gobbletoend{overlay}\fi}
  233. \else %%if@compatibility
  234. \def\overlay{\par\break
  235.   \stepcounter{overlay}%
  236.   \setcounter{page}{0}%
  237.   \G@slideswtrue%
  238.   \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  239.     \G@slideswfalse\fi\fi
  240.   \ifG@slidesw \G@slideswfalse
  241.     \begingroup\if@bw\G@slideswtrue%
  242.                \else\if@visible \G@slideswtrue\fi\fi
  243.     \endgroup\fi
  244.   \ifG@slidesw \@makingslidestrue\thispagestyle{overlay}%
  245.   \else\end{overlay}\@gobbletoend{overlay}\fi}
  246. \fi %%if@compatibility
  247.  
  248. \def\endoverlay{\par\break}
  249. \if@compatibility
  250. \def\note{\stepcounter{note}%
  251.    \if@bw
  252.       \G@slideswtrue
  253.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  254.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  255.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  256.       \else\G@slideswfalse\fi
  257.       \ifG@slidesw \newpage\thispagestyle{note}\else
  258.       \end{note}\@gobbletoend{note}\fi}
  259. \else %%if@compatibility
  260. \def\note{\par\break\stepcounter{note}\setcounter{page}{0}%
  261.    \if@bw
  262.       \G@slideswtrue
  263.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  264.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  265.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  266.       \else\G@slideswfalse\fi
  267.       \ifG@slidesw \@makingslidestrue\thispagestyle{note}\else
  268.       \end{note}\@gobbletoend{note}\fi}
  269. \fi %%if@compatibility
  270.  
  271. \def\endnote{\par\break}
  272. \def\@color#1{\@mmodetest
  273.  {\if@bw \@tempswatrue \else \@tempswafalse
  274.    \@for \@tempa :=#1\do{\ifx\@tempa\@currcolor\@tempswatrue\fi
  275.                          \let\last@color\@tempa}\fi
  276.   \if@tempswa \visible \else \invisible \fi
  277.   \ignorespaces}}
  278.  
  279. \def\@mmodetest#1{\ifmmode\ClassWarning{slides}{Color-changing command
  280.        in math mode has been ignored}\else #1\fi}
  281.  
  282. \def\invisible{\@mmodetest
  283.   {\if@visible
  284.      \@visiblefalse
  285.      \fontshape\f@shape\selectfont
  286.      \mathversion{invisible}%
  287.    \fi
  288.    \ignorespaces}}
  289.  
  290. \def\visible{\@mmodetest
  291.   {\if@visible
  292.    \else
  293.      \@visibletrue
  294.      \fontshape{\expandafter\@gobble\f@shape}\selectfont
  295.      \mathversion{normal}%
  296.    \fi
  297.    \ignorespaces}}
  298.  
  299. \def\fontshape#1{\edef\f@shape{\if@visible \else I\fi #1}}
  300. \renewcommand{\familydefault}{\sfdefault}
  301. \DeclareFontFamily{U}{lasy}{}{}
  302. \DeclareFontShape{U}{lasy}{m}{n}{%
  303.       <12><13.82><16.59><19.91><23.89><28.66><34.4><41.28>lasy8
  304. }{}
  305. \DeclareFontShape{U}{lasy}{m}{In}{%
  306.       <13.82><16.59><19.91><23.89><28.66><34.4><41.28>ilasy8
  307. }{}
  308. \message{picture,}
  309. \def\line(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  310. \@linelen #3\unitlength
  311. \ifnum\@xarg =\z@ \@vline
  312.   \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
  313. \fi\fi}
  314.  
  315. \def\vector(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  316. \@linelen #3\unitlength
  317. \ifnum\@xarg =\z@ \@vvector
  318.   \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
  319. \fi\fi}
  320.  
  321. \def\dashbox#1(#2,#3){%
  322. \leavevmode\if@visible\hb@xt@\z@{\baselineskip \z@
  323. \lineskip \z@
  324. \@dashdim #2\unitlength
  325. \@dashcnt \@dashdim \advance\@dashcnt 200
  326. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  327. \ifodd\@dashcnt\@dashdim\z@
  328. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  329. \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  330. \advance\@dashcnt \m@ne
  331. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  332. \@width \@dashdim}\put(0,0){\copy\@dashbox}%
  333. \put(0,#3){\copy\@dashbox}%
  334. \put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
  335. \put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
  336. \multiply\@dashdim \thr@@
  337. \fi
  338. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  339. \@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
  340. \put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  341. \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
  342. \put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  343. \do{\copy\@dashbox\advance\@tempcnta \@ne }}%
  344. \@dashdim #3\unitlength
  345. \@dashcnt=\@dashdim \advance\@dashcnt 200
  346. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  347. \ifodd\@dashcnt \@dashdim=\z@
  348. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  349. \else
  350. \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  351. \advance\@dashcnt \m@ne
  352. \setbox\@dashbox\hbox{\hskip -\@halfwidth
  353. \vrule \@width \@wholewidth
  354. \@height \@dashdim}\put(0,0){\copy\@dashbox}%
  355. \put(#2,0){\copy\@dashbox}%
  356. \put(0,#3){\lower\@dashdim\copy\@dashbox}%
  357. \put(#2,#3){\lower\@dashdim\copy\@dashbox}%
  358. \multiply\@dashdim \thr@@
  359. \fi
  360. \setbox\@dashbox\hbox{\vrule \@width \@wholewidth
  361. \@height #1\unitlength}\@tempcnta\z@
  362. \put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  363. \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  364. \vskip\@dashdim}}\@tempcnta\z@
  365. \put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  366. \relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  367. \vskip\@dashdim}}}\fi\@makepicbox(#2,#3)}
  368.  
  369. \def\@oval(#1,#2)[#3]{\if@visible\begingroup \boxmaxdepth \maxdimen
  370.   \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
  371.   \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
  372.   #1\unitlength \@ovyy #2\unitlength
  373.   \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
  374.   \advance \@tempdimb -2\p@
  375.   \@getcirc \@tempdimb
  376.   \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
  377.   \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
  378.   \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
  379.   \@circlefnt \setbox\@tempboxa
  380.   \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
  381.   \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
  382.   \if@ovt \@ovhorz \kern -\@ovxx \fi
  383.   \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
  384.   \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
  385.   \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
  386.   \endgroup\fi}
  387.  
  388. \def\@circle#1{\if@visible \begingroup \boxmaxdepth \maxdimen
  389.    \@tempdimb #1\unitlength
  390.    \ifdim \@tempdimb >15.5\p@\relax \@getcirc\@tempdimb
  391.       \@ovro\ht\@tempboxa
  392.      \setbox\@tempboxa\hbox{\@circlefnt
  393.       \advance\@tempcnta\tw@ \char \@tempcnta
  394.       \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
  395.       \advance\@tempcnta\tw@
  396.       \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
  397.         \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
  398.       \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
  399.    \else  \@circ\@tempdimb{96}\fi\endgroup\fi}
  400.  
  401. \def\@dot#1{%
  402.   \if@visible\@tempdimb #1\unitlength \@circ\@tempdimb{112}\fi}
  403. \def\@frameb@x#1{%
  404.   \@tempdima\fboxrule
  405.   \advance\@tempdima\fboxsep
  406.   \advance\@tempdima\dp\@tempboxa
  407.   \leavevmode
  408.   \hbox{%
  409.     \lower\@tempdima\hbox{%
  410.       \vbox{%
  411.         \if@visible\hrule\@height\else\vskip\fi\fboxrule
  412.         \hbox{%
  413.           \if@visible\vrule\@width\else\hskip\fi\fboxrule
  414.           #1%
  415.           \vbox{%
  416.             \vskip\fboxsep
  417.             \box\@tempboxa
  418.             \vskip\fboxsep}%
  419.           #1%
  420.           \if@visible\vrule\@width\else\hskip\fi\fboxrule}%
  421.         \if@visible\hrule\@height\else\vskip\fi\fboxrule}}}}
  422.  
  423. \long\def\frame#1{\if@visible\leavevmode
  424. \vbox{\vskip-\@halfwidth\hrule \@height\@halfwidth \@depth \@halfwidth
  425.   \vskip-\@halfwidth\hbox{\hskip-\@halfwidth \vrule \@width\@wholewidth
  426.   \hskip-\@halfwidth #1\hskip-\@halfwidth \vrule \@width \@wholewidth
  427.   \hskip -\@halfwidth}\vskip -\@halfwidth\hrule \@height \@halfwidth
  428.   \@depth \@halfwidth\vskip -\@halfwidth}\else #1\fi}
  429. \message{mods,}
  430. \def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\leavevmode
  431.  \hbox{\if@visible\vrule
  432.   \@width#2 \@height\@tempdima \@depth-#1\else
  433. \vrule \@width \z@ \@height\@tempdima \@depth-#1\vrule
  434.  \@width#2 \@height\z@\fi}}
  435.  
  436.  
  437. \def\_{\leavevmode \kern.06em \if@visible\vbox{\hrule \@width.3em}\else
  438.    \vbox{\hrule \@height \z@ \@width.3em}\vbox{\hrule \@width \z@}\fi}
  439. \def\@mathbox#1#2#3{\setbox#2\hbox{$\m@th#1{#3}$}}
  440.  
  441. \def\@vbphantom#1{\setbox\tw@\null \ht\tw@\ht #1\dp\tw@\dp #1%
  442.    \box\tw@}
  443.  
  444. \def\@bphantom#1{\setbox\tw@\null
  445.    \wd\tw@\wd #1\ht\tw@\ht #1\dp\tw@\dp #1%
  446.    \box\tw@}
  447.  
  448. \def\@hbphantom#1{\setbox\tw@\null \wd\tw@\wd #1\ht\tw@\z@ \dp\tw@\z@
  449.    \box\tw@}
  450.  
  451. \def\@hvsmash#1#2{\@mathbox#1\z@{#2}\ht\z@\z@ \dp\z@\z@ \wd\z@\z@
  452.    \box\z@}
  453.  
  454. \def\underline#1{\relax\ifmmode
  455.   \@xunderline{#1}\else $\m@th\@xunderline{\hbox{#1}}$\relax\fi}
  456.  
  457. \def\@xunderline#1{\mathchoice{\@xyunderline\displaystyle{#1}}%
  458.    {\@xyunderline
  459.     \textstyle{#1}}{\@xyunderline\scriptstyle{#1}}{\@xyunderline
  460.       \scriptscriptstyle{#1}}}
  461.  
  462. \def\@xyunderline#1#2{%
  463.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  464.    \if@visible \@hvsmash#1{\@@underline{\@bphantom\@smashboxa}}\fi
  465.   \@mathbox#1\@smashboxb{\@@underline{\box\@smashboxa}}%
  466.    \@bphantom\@smashboxb}
  467.  
  468. \let\@@overline=\overline
  469.  
  470. \def\overline#1{\mathchoice{\@xoverline\displaystyle{#1}}{\@xoverline
  471.     \textstyle{#1}}{\@xoverline\scriptstyle{#1}}{\@xoverline
  472.       \scriptscriptstyle{#1}}}
  473.  
  474. \def\@xoverline#1#2{%
  475.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  476.    \if@visible \@hvsmash#1{\@@overline{\@bphantom\@smashboxa}}\fi
  477.    \@mathbox#1\@smashboxb{\@@overline{\box\@smashboxa}}%
  478.    \@bphantom\@smashboxb}
  479. \def\frac#1#2{\mathchoice
  480.    {\@frac\displaystyle\textstyle{#1}{#2}\textfont}{\@frac
  481.          \textstyle\scriptstyle{#1}{#2}\textfont}{\@frac
  482.          \scriptstyle\scriptscriptstyle{#1}{#2}\scriptfont}{\@frac
  483.          \scriptscriptstyle\scriptscriptstyle{#1}{#2}\scriptscriptfont}}
  484.  
  485. \def\@frac#1#2#3#4#5{%
  486.    \@mathbox#1\@smashboxc{{\begingroup#3\endgroup\over#4}}%
  487.    \setbox\tw@\null
  488.    \ht\tw@ \ht\@smashboxc
  489.    \dp\tw@ \dp\@smashboxc
  490.    \wd\tw@ \wd\@smashboxc
  491.    \box\if@visible\@smashboxc\else\tw@\fi}
  492.  
  493. \def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\@xysqrt#1{#2}$}%
  494.   \dimen@\ht\z@ \advance\dimen@-\dp\z@
  495.   \mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu\box\z@}
  496.  
  497. \def\sqrt{\@ifnextchar[{\@sqrt}{\@xsqrt}}
  498. \def\@sqrt[#1]{\root #1\of}
  499. \def\@xsqrt#1{\mathchoice{\@xysqrt\displaystyle{#1}}{\@xysqrt
  500.      \textstyle{#1}}{\@xysqrt\scriptstyle{#1}}{\@xysqrt
  501.     \scriptscriptstyle{#1}}}
  502. \def\@xysqrt#1#2{\@mathbox#1\@smashboxa{#2}\if@visible
  503.     \@hvsmash#1{\@@sqrt{\@bphantom\@smashboxa}}\fi
  504.     \phantom{\@@sqrt{\@vbphantom\@smashboxa}}\box\@smashboxa}
  505.  
  506. \newbox\@smashboxa
  507. \newbox\@smashboxb
  508. \newbox\@smashboxc
  509. \def\@arrayrule{\if@visible\@addtopreamble{\hskip -.5\arrayrulewidth
  510.    \vrule \@width \arrayrulewidth\hskip -.5\arrayrulewidth}\fi}
  511.  
  512. \def\cline#1{\if@visible\@cline[#1]\fi}
  513.  
  514. \def\hline{\noalign{\ifnum0=`}\fi
  515.     \if@visible \hrule \@height \arrayrulewidth
  516.       \else \hrule \@width \z@
  517.     \fi
  518.     \futurelet \@tempa\@xhline}
  519.  
  520. \def\vline{\if@visible \vrule \@width \arrayrulewidth
  521.             \else \vrule \@width \arrayrulewidth \@height \z@
  522.            \@depth \z@ \fi}
  523. \message{output,}
  524. \let\@topfil\vfil
  525.  
  526. \def\@makecol{\if@makingslides\ifnum\c@page>\z@ \@extraslide\fi\fi
  527. \ifvoid\footins \setbox\@outputbox\box\@cclv \let\@botfil\vfil
  528.    \else\let\@botfil\relax\setbox\@outputbox
  529.      \vbox{\unvbox\@cclv\vfil
  530.            \vskip\skip\footins\footnoterule\unvbox\footins\vskip
  531.             \z@ plus.1fil\relax}\fi
  532.   \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
  533.      \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
  534.         \@topfil\unvbox\@outputbox\@botfil}\global\maxdepth\@maxdepth}
  535.  
  536. \def\@extraslide{\ifnum\c@note>\z@
  537.     \ClassWarning{slides}{Note \thenote\space too long}\else
  538.      \ifnum\c@overlay>\z@
  539.         \ClassWarning{slides}{Overlay \theoverlay\space too long}\else
  540.         \ClassWarning{slides}{Slide \theslide\space too long}\fi\fi}
  541. \message{init}
  542.  
  543. \@visibletrue
  544. \endinput
  545. %% 
  546. %% End of file `slides.def'.
  547.