%% BEGIN sem-rot.sty \def\fileversion{1.0} \def\filedate{93/04/01} %% %% LaTeX style option `semrot.sty'. %% For use with LaTeX v2.09 and the `seminar' document style. %% %% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license %% or (at your option) any later version. The latest version of this %% license is in: %% %% http://www.latex-project.org/lppl.txt %% %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. %% %% %% The following is just an interface for seminar.sty: \def\leftsliderotation#1{\@rotate[l]{#1}} \def\rightsliderotation#1{\@rotate[r]{#1}} \sliderotation{left} %% %% And the rest is rotate.sty, as distributed with Rokicki's dvips. %% % These macros allow you to rotate or flip a \TeX\ box. Very useful for % sideways tables or upsidedown answers. % % To use, create a box containing the information you want to rotate. % (An hbox or vbox will do.) Now call \@rotr\boxnum to rotate the % material and create a new box with the appropriate (flipped) dimensions. % \@rotr rotates right, \@rotl rotates left, \@rotu turns upside down, and % \@rotf flips. These boxes may contain other rotated boxes. % \newdimen\@rotdimen \newbox\@rotbox \def\@vspec#1{\special{ps:#1}}% passes #1 verbatim to the output \def\@rotstart#1{\@vspec{gsave currentpoint currentpoint translate #1 neg exch neg exch translate}}% #1 can be any origin-fixing transformation \def\@rotfinish{\@vspec{currentpoint grestore moveto}}% gets back in synch % % First, the rotation right. The reference point of the rotated box % is the lower right corner of the original box. % \def\@rotr#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% \hbox to\@rotdimen{\hskip\ht#1\vbox to\wd#1{\@rotstart{90 rotate}% \box#1\vss}\hss}\@rotfinish} % % Next, the rotation left. The reference point of the rotated box % is the upper left corner of the original box. % \def\@rotl#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% \hbox to\@rotdimen{\vbox to\wd#1{\vskip\wd#1\@rotstart{270 rotate}% \box#1\vss}\hss}\@rotfinish}% % % Upside down is simple. The reference point of the rotated box % is the upper right corner of the original box. (The box's height % should be the current font's xheight, \fontdimen5\font, % if you want that xheight to be at the baseline after rotation.) % \def\@rotu#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% \hbox to\wd#1{\hskip\wd#1\vbox to\@rotdimen{\vskip\@rotdimen \@rotstart{-1 dup scale}\box#1\vss}\hss}\@rotfinish}% % % And flipped end for end is pretty ysae too. We retain the baseline. % \def\@rotf#1{\hbox to\wd#1{\hskip\wd#1\@rotstart{-1 1 scale}% \box#1\hss}\@rotfinish}% % % Now the user interface for LaTeX: \rotate[type]{text} where % ``type'' is `l' for left, `r' for right, `u' for upside-down, or % `f' for flip. `l' is the default. % \def\rotate{\@ifnextchar[{\@rotate}{\@rotate[l]}} \def\@rotate[#1]#2{\setbox\@rotbox=\hbox{#2}\@nameuse{@rot#1}\@rotbox} \endinput %% END sem-rot.sty