diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/uwmslide/uwmslide.cls | 467 |
1 files changed, 467 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/uwmslide/uwmslide.cls b/Master/texmf-dist/tex/latex/uwmslide/uwmslide.cls new file mode 100644 index 00000000000..ba67d720061 --- /dev/null +++ b/Master/texmf-dist/tex/latex/uwmslide/uwmslide.cls @@ -0,0 +1,467 @@ +% CPES/WEMPEC/UW-Madison Slide Class... +% +% By Eric Benedict, 26 September 2000 +% WEMPEC, UW-Madison +% +%=============================================== + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{uwmslide}[2000/09/26 Univ. WI-Madison Slide Format] +%Pass options onto the slides class +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{slides}} +\ProcessOptions\relax +\LoadClass{article} +\RequirePackage{epsfig} +\usepackage{times} % Times works good for *.pdf conversions + +% Define a flag, \@@slide, to indicate if the current slide +% should include a \newpage command, 1=include it, 0=don't +\newcount\@@slide +\global\@@slide=1 + +% Define the 'adjustment' for the first slide after the title +% slide. Its a dirty trick, but seems to work... +\newlength{\@@adjslide} +\setlength{\@@adjslide}{-1.5in} + + +% Define the width of the left half of the slide +%\newdimen{\@@leftslidewidth} +%\global\@@leftslidewidth=4.25in % define a default, just to be safe +\newlength{\@@leftslidewidth} +\setlength{\@@leftslidewidth}{4.25in} % define a default, just to be safe +\newlength{\@@rightslidewidth} + + + +% Define a flag, \@@slidetype to indicate the type of double +% item slide which is being used. +% 0 = Not being used --> \slidedivider generates error msg +% 1 = plain doubleslide +% 2 = leftitem +% 3 = rightitem +% 4 = doubleitem +\newcount\@@slidetype +\global\@@slidetype=0 + +%========================== +% Set the paper size +%=========================== +\setlength\paperheight{8.5in} +\setlength\paperwidth{11in} +\special{! /landplus90 true store} % rotate 90 deg clockwise in dvips +\special{landscape} % set the paper size for dvips +\setlength\textwidth{9.5in} +\setlength\textheight{6in} +\setlength\hoffset{-0.25in} +\setlength\voffset{-0.25in} +\setlength\oddsidemargin{0in} +\setlength\evensidemargin{0in} + +\setlength\footskip{2bp} + + + +% Enlarge the headheight for the logo +\setlength\headheight{74bp} +\setlength\topmargin{-37bp} + +% Place the logo and rules for the header/footers. +\IfFileExists{logo.eps}{ +\renewcommand{\@oddhead}{\vbox{\psfig{file=logo.eps,height=72bp} \hfill\\[1.5bp] \rule{\textwidth}{0.4bp}}} +\renewcommand{\@evenhead}{\vbox{\psfig{file=logo.eps,height=72bp} \hfill\\[1.5bp] \rule{\textwidth}{0.4bp}}} +} % Logo file exists +{\ClassWarning{uwmslide}{Logo file logo.eps not found.\MessageBreak Omitting logo in header} +\renewcommand{\@oddhead}{\rule{\textwidth}{0.4bp}} +\renewcommand{\@evenhead}{\rule{\textwidth}{0.4bp}} +} % Logo file AWOL... +% +\renewcommand{\@oddfoot}{\parbox{\textwidth}{\rule{\textwidth}{0.4pt} \\[1pt] \rule{1pt}{0pt}\hfill {\rm \thepage}}} +\renewcommand{\@evenfoot}{\parbox{\textwidth}{\rule{\textwidth}{0.4pt} \\[1pt] \rule{1pt}{0pt}\hfill {\rm \thepage}}} + + + +%================================ +% +% Define the larger font sizes appropriate for slides +% (copied from the slitex.cls file...) +% +%================================ +\def\ifourteenpt{14.4} +\def\iseventeenpt{17.28} +\def\itwentypt{20.74} +\def\itwentyfourpt{24.88} +\def\itwentyninept{28.66} +\def\ithirtyfourpt{34.4} +\def\ifortyonept{41.28} +\def\@setfontsize@parms#1#2#3#4#5#6#7#8{% + \lineskip #1\relax% + \parskip #2\relax + \abovedisplayskip #3\relax + \belowdisplayskip #4\relax + \abovedisplayshortskip #5\relax + \belowdisplayshortskip #6\relax + \setbox\strutbox=\hbox{\vrule \@height#7\p@\@depth#8\p@\@width\z@}% + \baselineskip\baselinestretch\baselineskip + \normalbaselineskip\baselineskip} +\DeclareMathSizes{13.82}{13.82}{10}{7} +\DeclareMathSizes{16.59}{16.59}{12}{7} +\DeclareMathSizes{19.907}{19.907}{16.59}{13.82} +\DeclareMathSizes{23.89}{23.89}{19.907}{16.59} +\DeclareMathSizes{28.66}{28.66}{23.89}{19.907} +\DeclareMathSizes{34.4}{34.4}{28.66}{23.89} +\DeclareMathSizes{41.28}{41.28}{34.4}{28.66} +\renewcommand{\normalsize}{% + \@setfontsize\normalsize\itwentypt{28\p@ plus3\p@ minus4\p@}% + \@setfontsize@parms + {2pt}% + {30\p@ plus18\p@ minus9\p@}% + {15\p@ plus3\p@ minus3\p@}% + {10\p@ plus3\p@ minus3\p@}% + {10\p@ plus3\p@} + \abovedisplayshortskip + {17}{7}} +\normalsize +\renewcommand{\small}{\@setfontsize\small\iseventeenpt{19\p@ plus3\p@ minus\p@}% + \@setfontsize@parms + {2\p@}% + {15\p@ plus15\p@ minus7\p@}% + {12\p@ plus3\p@ minus3\p@}% + {9\p@ plus3\p@ minus3\p@}% + {6\p@ plus3\p@}% + \abovedisplayshortskip + {13.5}{5.6}} +\let\footnotesize=\small +\let\scriptsize=\small +\renewcommand{\tiny}{\@setfontsize\tiny\ifourteenpt{16\p@ plus2\p@ minus\p@}% + \@setfontsize@parms + {2pt}% + {14\p@ plus3\p@ minus10\p@}% + {11\p@ plus3\p@ minus10\p@}% + \abovedisplayskip + {8\p@ plus3\p@ minus5\p@}% + {\z@ plus3\p@}% + {10}{4}} +\renewcommand{\large}{\@setfontsize\large\itwentyfourpt{42\p@ plus8\p@ minus5\p@}% + \@setfontsize@parms + {2\p@}% + {40\p@ plus20\p@ minus4\p@}% + {20\p@ plus8\p@ minus3\p@}% + \abovedisplayskip + {10\p@ plus5\p@}% + \abovedisplayshortskip + {20}{8.5}} + +\renewcommand{\Large}{\@setfontsize\Large\itwentyninept{48\p@ plus10\p@ minus6\p@}% + \@setfontsize@parms + {2\p@}% + {48\p@ plus30\p@ minus6\p@}% + {24\p@ plus10\p@ minus6\p@}% + \abovedisplayskip + {12\p@ plus8\p@}% + \abovedisplayshortskip + {27}{11}} + +\renewcommand{\LARGE}{\@setfontsize\LARGE\ithirtyfourpt{52\p@ plus10\p@ minus6\p@}% + \@setfontsize@parms + {2\p@}% + {52\p@ plus30\p@ minus6\p@}% + {24\p@ plus10\p@ minus6\p@}% + \abovedisplayskip + {12\p@ plus8\p@}% + \abovedisplayshortskip + {27}{11}} + +\renewcommand{\huge}{\@setfontsize\huge\ifortyonept{60\p@ plus10\p@ minus6\p@}% + \@setfontsize@parms + {2\p@}% + {60\p@ plus30\p@ minus6\p@}% + {24\p@ plus10\p@ minus6\p@}% + \abovedisplayskip + {12\p@ plus8\p@}% + \abovedisplayshortskip + {27}{11}} + +\let\Huge\huge +\renewcommand\baselinestretch{} +\setlength\parindent{\z@} + + + +%====================================================== +% Adjust the spacing in between the list items (@listi=1st level, ii=2nd +% level, etc). +%====================================================== +\renewcommand{\@listi}{{\leftmargin\leftmargini + \parsep .25\parskip + \topsep \parsep + \itemsep\parskip + \partopsep \z@}} +\renewcommand{\@listii}{{\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \parsep .2\parskip + \topsep \parsep + \itemsep\parskip}} +\renewcommand{\@listiii}{{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep}} +\renewcommand{\@listiv}{{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep}} +\renewcommand{\@listv}{{\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep}} +\renewcommand{\@listvi}{{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep}} + + + + +%============================================================================= +% TITLEPAGE +% Re-define the footer so that it has the rule line, but no number at +% the start of the titlepage, then add the page number back in the +% footer for the rest of the slides... +%============================================================================= +\renewenvironment{titlepage}{% +\renewcommand{\@oddfoot}{\vbox{\rule{\textwidth}{0.4pt} \\[1pt] \rule{1pt}{0pt}}} + \newpage }{% + \newpage + } + +%===================================================================== +% MAKETITLE +% Adjust the \maketitle command slightly for slide usage +%===================================================================== +\renewcommand{\maketitle}{% + \begin{titlepage} + \let\footnotesize\large \let\footnoterule\relax \let\footnote\thanks + \null\vfill + \begin{center}% + {\Large \@title \par}% + \vskip 3em% + {\large + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + {\large \@date \par}% % Set date in \large size. + \end{center}%\par + \@thanks + \vfill\null + \end{titlepage} + \setcounter{footnote}{0} + \setcounter{page}{1} %title page is NOT counted + \let\thanks\relax + \let\maketitle\relax \ + \gdef\@thanks{} + \gdef\@author{} + \gdef\@title{} + \global\@@slide=0 % Set flag to indicate that the title page fix is +% % required for the next slide +} + + + + + +%=================================================== +% Slide Environment +% +% This environment creates a generic slide which +% has a title centered in Huge text at the top +% and the remaining body left unconstrained. +% +%=================================================== +\newenvironment{slide}[1]{% +\ifnum\@@slide=0 % Check for 1st slide + \global\@@slide=1 % Set flag so we won't come back + \vspace*{\@@adjslide} % Dirty trick to fix the offset which +% % appears on the 1st after the title slide... +\else + \newpage +\fi% +{\Huge \begin{center} #1\end{center}} +} +{} + + + + +%=================================================== +% Item Slide Environment +% +% This environment creates a slide which +% has a title centered in Huge text at the top +% and the remaining body consisting of an itemized +% list. +% +%=================================================== +\newenvironment{itemslide}[1]{% \begin{itemslide} things +\ifnum\@@slide=0 % Check for 1st slide + \global\@@slide=1 % Set flag so we won't come back + \vspace*{\@@adjslide} % Dirty trick to fix the offset which +% % appears on the 1st after the title slide... +\else + \newpage +\fi% +{\Huge \begin{center} #1\end{center}} +\begin{itemize} +} +{\end{itemize} +}%\end{itemslide} things + + + + +%=================================================== +% +% \slidedivider is used by the multiple-side items +% to seperate the left and right hand sides of each +% slide. +% +%=================================================== +\newcommand{\slidedivider}{% +\setlength\@@rightslidewidth{\m@ne\@@leftslidewidth} +\global\addtolength{\@@rightslidewidth}{8.5in} +\ifcase\@@slidetype +% Error Case +\ClassWarning{uwmslide}{\protect\slidedivider\space used outside of environment.\MessageBreak +Extra \protect\slidedivider\space command ignored} +% +\or % plain double slide +% +\end{minipage} +\hfill +\begin{minipage}[c]{\@@rightslidewidth} +% +\or % leftitem slide +% +\end{itemize} +\end{minipage} +\hfill +\begin{minipage}[c]{\@@rightslidewidth} +% +\or % rightitem slide +% +\end{minipage} +\hfill +\begin{minipage}[c]{\@@rightslidewidth} +\begin{itemize} +% +\or % doubleitem slide +% +\end{itemize} +\end{minipage} +\hfill +\begin{minipage}[c]{\@@rightslidewidth} +\begin{itemize} +% +\else +% +\fi +} + +%=================================================== +% Double Slide Environment +% +% This environment creates a slide with two +% equal spaced minipages. This can be used to +% put two pictures next to each other. It is +% also used for the leftitem, rightitem and doubleitem +% environments... +% +% This environment requires the \slidedivider +% command to be used in between the two slide +% halves. +%=================================================== +\newenvironment{doubleslide}[2][4.25in]{% \begin{doubleslide} things +\ifnum\@@slidetype=0 \global\@@slidetype=1 \fi % Set slide type +% if not already set +\ifnum\@@slide=0 % Check for 1st slide + \global\@@slide=1 % Set flag so we won't come back + \vspace*{\@@adjslide} % Dirty trick to fix the offset which +% % appears on the 1st after the title slide... +\else + \newpage +\fi% +%\global\@@leftslidewidth=#1 % let \slidedivider know the size +\setlength{\@@leftslidewidth}{#1} % let \slidedivider know the size +{\Huge \begin{center} #2\end{center}} +\begin{minipage}[c]{#1} +} +{\end{minipage} % End the minipage +\global\@@slidetype=0 % Clear the slide type flag +}%\end{doubleslide} things + + + + + +%=================================================== +% leftitem Slide Environment +% +% This environment creates a slide with two +% equal spaced minipages. The left hand side +% minipage is an itemized list. +% +% This environment requires the \slidedivider +% command to be used in between the two slide +% halves. +%=================================================== +\newenvironment{leftitem}[2][4.25in]{% \begin{leftitem} things +\global\@@slidetype=2 % Set type to leftitem +\begin{doubleslide}[#1]{#2} +\begin{itemize} +} +{\end{doubleslide}}%\end{leftitem} things + + + + + + +%=================================================== +% rightitem Slide Environment +% +% This environment creates a slide with two +% equal spaced minipages. The right hand side +% minipage is an itemized list. +% +% This environment requires the \slidedivider +% command to be used in between the two slide +% halves. +%=================================================== +\newenvironment{rightitem}[2][4.25in]{% \begin{rightitem} things +\global\@@slidetype=3 % Set type to rightitem +\begin{doubleslide}[#1]{#2} +} +{\end{itemize} +\end{doubleslide}}%\end{rightitem} things + + + + + + + +%=================================================== +% doubleitem Slide Environment +% +% This environment creates a slide with two +% equal spaced minipages. The right hand side +% minipage is an itemized list. +% +% This environment requires the \slidedivider +% command to be used in between the two slide +% halves. +%=================================================== +\newenvironment{doubleitem}[2][4.25in]{% \begin{doubleitem} things +\global\@@slidetype=4 % Set type to doubleitem +\begin{doubleslide}[#1]{#2} +\begin{itemize} +} +{\end{itemize} +\end{doubleslide}}%\end{doubleitem} things + |