home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / textutil / tex / source / latex_2e_2 / slides.def < prev    next >
Encoding:
Text File  |  1994-09-26  |  18.4 KB  |  511 lines

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