%% Save file as: LSLIDE.STY Source: FILESERV@SHSU.BITNET % lslide.sty - version 2.0.1 (April 1992) % by Young U. Ryu % % o There is a sample file in the end of the commented area. % LaTeX (or AmSLaTeX) it at least twice and print. % ^^^^^ % The remainder of the original header information and example file are % in the file STY.LSLIDE_TEX on FILESERV/Niord. % % Noted modifications by Keith Farkas posted % to comp.text.tex on 21 Apr 92 15:43:52 GMT: % I have added a new vertical centering option to the slide style file % writen by Yong Ryu. The new option is \vertgroup and is like \vertcenter % with the exception that \vspace{2em} is placed after \subsection % rather than \vspace{\vfill}. \typeout{Presentation Slide Style File for LaTeX/AmSLaTeX, version 2.0.1} \typeout{by Young. U. Ryu - March 1992; modified by Keith Farkas - April 1992} \def\landscape{% \sloppy \textwidth 8.8in \textheight 6in \topmargin -.6in \oddsidemargin -.18in \evensidemargin\oddsidemargin} \def\portrait{% \sloppy \textwidth 7.5in \textheight 8.8in \topmargin -.65in \oddsidemargin -.8in \evensidemargin\oddsidemargin} % % Frame for the whole page % \@my@box@frame{thinkness}{hspace}{vspace}{...} % \newdimen \@tempdimc \newdimen \@tempdimd \def\@my@box@frame#1#2#3#4{\vbox{% \setbox\@tempboxa\hbox{#4}% \@tempdima#3 \advance\@tempdima #1 \advance\@tempdima \dp\@tempboxa \hbox{\lower \@tempdima% \hbox{\vbox{\hrule depth0pt height #1% \hbox{\vrule depth0pt width #1% \hskip#2% \vbox{\vskip#3 \box\@tempboxa\vskip#3}% \hskip#2% \vrule depth0pt width #1} \hrule depth0pt height #1}}}}} % % Shadow Frame for the whole page: % \@my@shadow@box@frame{frame thinkness}{shade thickness}{hspace}{vspace}{...} % \def\@my@shadow@box@frame#1#2#3#4#5{\vbox{% \setbox\@tempboxa\hbox{#5}% \@tempdima#4 \advance\@tempdima #1 \advance\@tempdima \dp\@tempboxa \setbox\@tempboxa% \hbox{\lower \@tempdima% \hbox{\vbox{\hrule depth0pt height #1% \hbox{\vrule depth0pt width #1% \hskip#3% \vbox{\vskip#4 \box\@tempboxa\vskip#4}% \hskip#3% \vrule depth0pt width #1} \hrule depth0pt height #1}}}% \@tempdimc\ht\@tempboxa \advance\@tempdimc-#2 \advance\@tempdimc\@tempdima \@tempdimd\wd\@tempboxa \hbox{\box\@tempboxa\relax% \lower\@tempdima\hbox{\vrule width#2 height\@tempdimc depth0pt}} \nointerlineskip\moveright#2 \vbox{\hrule height#2 width\@tempdimd depth0pt}}} % % Oval frame: by Tomoki Shiratori % \@my@oval@frame{thickness}{hspace}{vspace}{...} % thickness = \thinlines or \thicklines \def\@my@oval@frame#1#2#3#4{\vbox{% #1% \setbox0 = \vbox{% \vskip#3\relax #4\relax \vskip#3\relax}% \@tempdimc \ifdim \ht0 >\wd0 \wd0\else \ht0 \fi% \divide\@tempdimc 10\relax \@getcirc{\@tempdimc}% \@tempdimc\ht0% \advance\@tempdimc -\@tempdima% \advance\@tempdimc 2\@wholewidth% \@tempdimd .5\@tempdima \advance\@tempdimd -\@wholewidth% \setbox0 = \hbox{% \raise\@tempdimd\hbox{\vrule height\@tempdimc width\@wholewidth}% \hskip#2\relax \box0\relax \hskip#2\relax \raise\@tempdimd\hbox{\vrule height\@tempdimc width\@wholewidth}}% \@tempdimd\wd0 \@tempdimc\@tempdimd% \advance\@tempdimc -\@tempdima% \vskip -.5\@tempdima \vskip\@wholewidth% \hbox to\@tempdimd{% \@tempcntb\@tempcnta \advance\@tempcntb 3\relax {\@circlefnt \char\@tempcntb\kern -.5\@tempdima}% \vbox{\hrule height\@wholewidth width\@tempdimc}% {\@circlefnt \kern .5\@tempdima \kern -\@wholewidth \char\@tempcnta% \kern -\@tempdima \kern\@wholewidth}}% \vskip -.5\@tempdima% \box0\relax \vskip -.5\@tempdima% \hbox to\@tempdimd{% \@tempcntb\@tempcnta \advance\@tempcntb\tw@\relax {\@circlefnt \char\@tempcntb\kern -.5\@tempdima}% \vbox{\hrule height\@wholewidth width\@tempdimc}% {\advance\@tempcntb\m@ne% \@circlefnt \kern .5\@tempdima \kern -\@wholewidth \char\@tempcntb% \kern -\@tempdima \kern \@wholewidth}}% \vskip -.5\@tempdima \vskip\@wholewidth}}% % % modification of \@outputpage (from latex.tex) % \def\@outputpage{\begingroup\catcode`\ =10 \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot \let\@themargin\oddsidemargin \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \let\@themargin\evensidemargin \fi\fi \shipout \vbox{\normalsize \baselineskip\z@ \lineskip\z@ \let\par\@@par %% 15 Sep 87 \vskip \topmargin \moveright\@themargin \my@frame{% \vbox{\setbox\@tempboxa \vbox to\headheight{\vfil \hbox to\textwidth {\let\label\@gobble \let\index\@gobble \@thehead}} %% 22 Feb 87 \dp\@tempboxa\z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip\footskip \hbox to\textwidth{\let\label\@gobble \let\index\@gobble %% 22 Feb 87 \@thefoot}}% }% end of my@frame }% \global\@colht\textheight \endgroup\stepcounter{page}\let\firstmark\botmark} % % Heading and Footing % In part, from fancyheading.sty % \def\lhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} \def\chead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} \def\rhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} \def\lfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} \def\cfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} \def\rfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} \def\@slidehead#1#2#3#4#5{#1\hbox to\textwidth% {\vbox{\hbox{\rlap{\parbox[b]{\textwidth}% {\raggedright#2\strut}}\hfill\parbox[b]{\textwidth}% {\centering#3\strut}\hfill\llap{\parbox[b]{\textwidth}% {\raggedleft#4\strut}}}}}#5} \def\@slidefoot#1#2#3#4#5{#1\hbox to\textwidth% {\vbox{\hbox{\rlap{\parbox[t]{\textwidth}% {\raggedright#2\strut}}\hfill\parbox[t]{\textwidth}% {\centering#3\strut}\hfill\llap{\parbox[t]{\textwidth}% {\raggedleft#4\strut}}}}}#5} \def\ps@slide{% \def\@oddhead{\@slidehead\relax\@olhead\@ochead\@orhead\hss}% \def\@oddfoot{\@slidefoot\relax\@olfoot\@ocfoot\@orfoot\hss}% \def\@evenhead{\@slidehead\hss\@elhead\@echead\@erhead\relax}% \def\@evenfoot{\@slidefoot\hss\@elfoot\@ecfoot\@erfoot\relax}% } \def\ps@empty{% \def\@oddhead{\@slidehead\relax\space\space\space\hss}% \def\@oddfoot{\@slidefoot\relax\space\space\space\hss}% \def\@evenhead{\@slidehead\hss\space\space\space\relax}% \def\@evenfoot{\@slidefoot\hss\space\space\space\relax}% } % % by modifying \fbox in latex.tex % \Fbox{box sep}{box rule width/height}{...} % \def\Fbox#1#2#3{\@my@box@frame{#2}{#1}{#1}{#3}} % % Places a shadow box % \SFbox{box sep}{box rule width/height}{shade rule width/height}{...} % \def\SFbox#1#2#3#4{\@my@shadow@box@frame{#2}{#3}{#1}{#1}{#4}} % % by modifying \fbox in latex.tex % \Underline & \Underbar % \def\Underline#1{% \leavevmode% \setbox\@tempboxa\hbox{#1}% \@tempdima1pt \advance\@tempdima 3pt \advance\@tempdima \dp\@tempboxa \hbox{\lower \@tempdima% \hbox{\vbox{\hbox{\vbox{\box\@tempboxa\vskip3pt}}% \hrule height1pt}}}} % from plain.tex \def\Underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@ \m@th \Underline{\box\z@}$} % % Things to be entered in texts % \def\title{\@ifnextchar[{\@@Title}{\@Title}} \def\@Title#1{\def\slide@title{\uppercase{#1}} \def\slidetitle{#1}} \def\@@Title[#1]#2{\def\slide@title{\uppercase{#2}} \def\slidetitle{#1}} \def\slide@title{\hspace*{1pt}} \def\slidetitle{\hspace*{1pt}} \def\author{\@ifnextchar[{\@@Author}{\@Author}} \def\@@Author[#1]#2{\def\slide@author{#2}% \def\slideauthor{#1}} \def\@Author#1{\def\slide@author{#1} \def\slideauthor{#1}} \def\slide@author{\hspace*{1pt}} \def\slideauthor{\hspace*{1pt}} \def\organization#1{\def\authororga{#1}} \def\authororga{\hspace*{1pt}} \def\date#1{\def\slidedate{#1}} \def\slidedate{\today} % % section and subsection % \newcounter{sec@ctr} \setcounter{sec@ctr}{1} \def\section{\@ifnextchar[{\@@Section}{\@Section}} \def\@Section#1{\clearpage \thispagestyle{empty} \vspace*{\fill} \begin{center} \Hugesize\uppercase{#1} \end{center} \vspace*{\fill} \def\sectiontitle{#1} \Add@@secitem{toc}{\thesec@ctr}{#1} \addtocounter{sec@ctr}{1} \clearpage} \def\@@Section[#1]#2{\clearpage \thispagestyle{empty} \vspace*{\fill} \begin{center} \Hugesize\uppercase{#2} \end{center} \vspace*{\fill} \def\sectiontitle{#1} \Add@@secitem{toc}{\thesec@ctr}{#1} \addtocounter{sec@ctr}{1} \clearpage} \def\sectiontitle{\relax} \def\Add@@secitem#1#2#3{\if@filesw \begingroup \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \def\protect##1{\string\string\string##1\string\space \space}\@temptokena{\thepage}% \edef\@tempa{\write \@auxout{\string\@writefile{#1}{\protect \secitem{#2}{#3}{\the\@temptokena}}}}\@tempa \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi} \def\subsection#1{\subsec@begin@vspace \addtocounter{sec@ctr}{-1} \Add@@subsecitem{toc}{\thesec@ctr}{#1} \addtocounter{sec@ctr}{1} \hspace*{\fill} \sub@section@frame{\Largesize #1} \hspace*{\fill} \subsec@end@vspace} \def\Add@@subsecitem#1#2#3{\if@filesw \begingroup \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \def\protect##1{\string\string\string##1\string\space \space}\@temptokena{\thepage}% \edef\@tempa{\write \@auxout{\string\@writefile{#1}{\protect \subsecitem{#2}{#3}{\the\@temptokena}}}}\@tempa \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi} % % titlepage % \def\titlepage{\thispagestyle{empty} \vspace*{\fill} \begin{center} \Hugesize \slide@title \\ [2em] \Normalsize\slide@author \\ [.5em] \Normalsize\authororga \\ [1em] \Normalsize\slidedate \end{center} \vspace*{\fill} \setcounter{page}{0} \clearpage} % % tables of contents % \def\contentsname{CONTENTS} \newcounter{@@@dum@@@} \setcounter{@@@dum@@@}{0} \def\slidecontents{\@ifnextchar*{\@@slidecontents}{\@slidecontents}} \def\@slidecontents{\openin1 \jobname.toc \ifeof1 \typeout {No file \jobname.toc}\else\closein1\relax \def\secitem##1##2##3{% \ifnum\value{@@@dum@@@}=0% \setcounter{@@@dum@@@}{1}% \begin{citemize}\contsize\fi \item[$\bullet$] ##2 \dotfill\ ##3\ignorespaces} \def\subsecitem##1##2##3{\ignorespaces} \clearpage \thispagestyle{empty} \addtocounter{page}{-1} \subsec@begin@vspace \hspace*{\fill} \sub@section@frame{\Largesize\contentsname} \hspace*{\fill} \subsec@end@vspace \input{\jobname.toc} \ifnum\value{@@@dum@@@}=1% \setcounter{@@@dum@@@}{0}% \end{citemize}\fi \vspace*{\fill} \clearpage \fi} \def\@@slidecontents*{\openin1 \jobname.toc \ifeof1 \typeout {No file \jobname.toc}\else\closein1\relax \def\secitem##1##2##3{% \ifnum\value{@@@dum@@@}=0% \setcounter{@@@dum@@@}{1}% \begin{citemize}\contsize\fi \item[$\bullet$] ##2 \hspace{\fill}} \def\subsecitem##1##2##3{\ignorespaces} \clearpage \thispagestyle{empty} \addtocounter{page}{-1} \subsec@begin@vspace \hspace*{\fill} \sub@section@frame{\Largesize\contentsname} \hspace*{\fill} \subsec@end@vspace \input{\jobname.toc} \ifnum\value{@@@dum@@@}=1% \setcounter{@@@dum@@@}{0}% \end{citemize}\fi \vspace*{\fill} \clearpage \fi} \def\sectioncontents{\@ifnextchar*{\@@sectioncontents}{\@sectioncontents}} \newcounter{@@@dummy@@@} \setcounter{@@@dummy@@@}{0} \@ifundefined{checkmark}% {\def\mycheckmark{\surd}}% {\def\mycheckmark{\checkmark}} \def\mysecpointer{\Rightarrow} \def\@sectioncontents{\openin1 \jobname.toc \ifeof1 \typeout {No file \jobname.toc}\else\closein1\relax \def\secitem##1##2##3{% \ifnum\value{@@@dum@@@}=0% \setcounter{@@@dum@@@}{1}% \begin{citemize}\contsize\fi \ifnum\value{@@@dummy@@@}=1% \setcounter{@@@dummy@@@}{0}% \end{ccitemize}\fi \item[\ifnum\value{sec@ctr}>##1$\mycheckmark\;\bullet$% \else\ifnum\value{sec@ctr}=##1$\mysecpointer\bullet$% \else$\bullet$\fi\fi] ##2 \dotfill\ ##3\ignorespaces} \def\subsecitem##1##2##3{% \ifnum\value{sec@ctr}=##1% \ifnum\value{@@@dummy@@@}=0 \setcounter{@@@dummy@@@}{1} \begin{ccitemize}\contsizesize\fi \item[$\bullet$] ##2 \hspace*{\fill}\fi} \clearpage \thispagestyle{empty} \addtocounter{page}{-1} \subsec@begin@vspace \hspace*{\fill} \sub@section@frame{\Largesize\contentsname} \hspace*{\fill} \subsec@end@vspace \input{\jobname.toc} \ifnum\value{@@@dummy@@@}=1% \setcounter{@@@dummy@@@}{0}% \end{ccitemize}\fi \ifnum\value{@@@dum@@@}=1% \setcounter{@@@dum@@@}{0}% \end{citemize}\fi \vspace*{\fill} \clearpage \fi} \def\@@sectioncontents*{\openin1 \jobname.toc \ifeof1 \typeout {No file \jobname.toc}\else\closein1\relax \def\secitem##1##2##3{% \ifnum\value{@@@dum@@@}=0% \setcounter{@@@dum@@@}{1}% \begin{citemize}\contsize\fi \ifnum\value{@@@dummy@@@}=1% \setcounter{@@@dummy@@@}{0}% \end{ccitemize}\fi \item[\ifnum\value{sec@ctr}>##1$\mycheckmark\;\bullet$% \else\ifnum\value{sec@ctr}=##1$\mysecpointer\bullet$% \else$\bullet$\fi\fi] ##2 \hspace{\fill}} \def\subsecitem##1##2##3{% \ifnum\value{sec@ctr}=##1% \ifnum\value{@@@dummy@@@}=0 \setcounter{@@@dummy@@@}{1} \begin{ccitemize}\contsizesize\fi \item[$\bullet$] ##2 \hspace{\fill}\fi} \clearpage \thispagestyle{empty} \addtocounter{page}{-1} \subsec@begin@vspace \hspace*{\fill} \sub@section@frame{\Largesize\contentsname} \hspace*{\fill} \subsec@end@vspace \input{\jobname.toc} \ifnum\value{@@@dummy@@@}=1% \setcounter{@@@dummy@@@}{0}% \end{ccitemize}\fi \ifnum\value{@@@dum@@@}=1% \setcounter{@@@dum@@@}{0}% \end{citemize}\fi \clearpage \vspace*{\fill} \fi} \def\citemize{\list{\relax}% {\leftmargin=2.5em \rightmargin=.5em \labelwidth=2em \labelsep=.5em \def\makelabel##1{\hss\llap{##1}}}} \let\endcitemize =\endlist \def\ccitemize{\list{\relax}% {\leftmargin=1em \rightmargin=0em \labelwidth=.5em \labelsep=.5em \def\makelabel##1{\hss\llap{##1}}}} \let\endccitemize =\endlist % % modifications to enumerate env. % \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{\theenumi.\theenumii.} \def\theenumii{\arabic{enumii}} \def\p@enumii{\theenumi.} \def\labelenumiii{\theenumi.\theenumii.\theenumiii.} \def\theenumiii{\arabic{enumiii}} \def\p@enumiii{\theenumi.\theenumii.} \def\labelenumiv{\theenumi.\theenumii.\theenumiii.\theenumiv.} \def\theenumiv{\arabic{enumiv}} \def\p@enumiv{\theenumi.\theenumii.\theenumiii.} \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list {\csname label\@enumctr\endcsname}{\usecounter{\@enumctr} \labelsep = .2em \ifnum \@enumdepth = 1 \labelwidth = 1em \leftmargin=\leftskip \advance\leftmargin1.8em \else \ifnum \@enumdepth = 2 \labelwidth = 1.6em \leftmargin = 1.8em %\leftmargin = \labelwidth+\labelsep \else \ifnum \@enumdepth = 3 \labelwidth = 2.4em \leftmargin = 2.6em \else \labelwidth = 3.2em \leftmargin = 3.4em \fi \fi \fi \def\makelabel##1{\rlap{##1}\hss}}\fi} % % Font sizes % \def\Hugesize{\Huge} % in art12.sty, \Huge = \huge \def\Largesize{\huge} % in art11.sty, \Huge > \huge \def\Normalsize{\LARGE} \def\Smallsize{\Large} \def\contsize{\LARGE} \def\contsizesize{\Large} \def\smallcontentsfonts{% \def\contsize{\Large} \def\contsizesize{\large}} \def\smallerfonts{% \def\Hugesize{\huge} \def\Largesize{\LARGE} \def\Normalsize{\Large} \def\Smallsize{\large} \def\contsize{\Large} \def\contsizesize{\large} \def\smallcontentsfonts{% \def\contsize{\large} \def\contsizesize{\normalsize}}% } % % modifications to document env. % \let\@@@@document\document \def\document{\@@@@document \Normalsize} \let\@@end@@document\enddocument \def\enddocument{% \if@filesw \newwrite\tf@toc \immediate\openout\tf@toc=\jobname.toc \typeout{Writing toc file \jobname.toc}\fi \@@end@@document} % % slide environment % \newdimen\defaultskip \def\slide{\@ifnextchar[{\@@Slide}{\@Slide}} \def\@Slide{\@@Slide[0pt]} \def\@@Slide[#1]{\slide@begin@vspace \begingroup \advance\leftskip\defaultskip \advance\rightskip\defaultskip \advance\leftskip#1 \advance\rightskip#1 \advance\leftmargini\leftskip} \def\endslide{\par\endgroup \slide@end@vspace \clearpage} % % Page vertical spacing types % \def\vertcenter{% \def\subsec@begin@vspace{\vspace*{\fill}} \def\subsec@end@vspace{\vspace*{\fill}} \def\slide@begin@vspace{\vspace*{\fill}} \def\slide@end@vspace{\vspace*{\fill}}% } \def\vertgroup{% \def\subsec@begin@vspace{\relax} \def\subsec@end@vspace{\vspace*{2em}} \def\slide@begin@vspace{\vspace*{\fill}} \def\slide@end@vspace{\vspace*{\fill}}% } \def\verttop{% \def\subsec@begin@vspace{\relax} \def\subsec@end@vspace{\vspace*{2em}} \def\slide@begin@vspace{\relax} \def\slide@end@vspace{\relax}% } % % Page Frame Definitions % \def\doubleboxframe{% \def\my@frame##1{% \@my@box@frame{.4em}{.3em}{.3em}% {\@my@box@frame{1.6pt}{.8em}{.8em}{##1}}}} \def\shadowframe{% \def\my@frame##1{% \@my@shadow@box@frame{1.6pt}{3.2pt}{.8em}{.8em}{##1}}} \def\ovalframe{% \def\my@frame##1{\@my@oval@frame{\thicklines}{.4em}{.3em}{##1}}} % % Subsection frames % \def\boxsecframe{\def\sub@section@frame##1{\Fbox{3pt}{1pt}{##1}}} \def\shadowsecframe{\def\sub@section@frame##1{\SFbox{3pt}{1pt}{2pt}{##1}}} % % defaults % % slide head and foot \lhead{\slidetitle} \chead{\relax} % empty \rhead{\sectiontitle} \lfoot{\slideauthor} \cfoot{\relax} % empty \rfoot{\thepage} % \defaultskip=1em % \pagestyle{slide} % \portrait vs. \landspace \portrait % no parindent \parindent 0pt % \vertcenter vs. \verttop \vertcenter % vertical centering % \doubleboxframe vs. \shadowframe vs. \ovalframe \shadowframe % \boxsecframe vs. \shadowsecframe \shadowsecframe % hyphenation off. Comment the following line if you want hyphenation on \pretolerance=10000 % right-justification off % Comment the following two lines if you want right-justification on \@rightskip\@flushglue \rightskip\@rightskip % % use pointing hand % %\font\handsfont=hands scaled\magstep5 %\def\handright{{\handsfont \char"41}} %\def\handleft{{\handsfont \char"42}} %\def\mysecpointer{\mbox{\handright}\,} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% hands fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %%Do ftp login: %% %% anonymous@ymir.claremont.edu %% %%Go to the directory of hands.dir: %% %% cd tex %% cd mf %% cd hands %% %%Get all files: %% %% mget * %% %%Modifications to hands.mf %%^^^^^^^^^^^^^^^^^^^^^^^^^ %% ... ... %% size=10pt#; %% ... ... %% thinline#:=6/100em#; %% %%Run metafont on hands.mf with magnification of: %% %% 1.2**5 %% %%which is used in lslide.sty %%Probably, you may want to generate hands fonts with %%all magnifications: %% %% 1, root(1.2), 1.2, 1.2**2, 1.2**3, 1.2**4, 1.2**5 %%