%% %% This is file `isorot.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% isorot.dtx (with options: `rot') %% %% This program has been partly developed under US government %% funding and is not subject to copyright. %% %% This program is provided under the terms of the %% LaTeX Project Public License distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% %% Author: Peter Wilson (CUA) %% now at: peter.r.wilson@boeing.com %% \ProvidesPackage{isorot}[2000/02/15 v2.1 ISO rotation package] \newcount\PWRFc@tracing \DeclareOption{errorshow}{\PWRFc@tracing\z@} \DeclareOption{debugshow}{\PWRFc@tracing5\relax} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphics}} \ProcessOptions \newcommand\PWRF@trace[2]{% \ifnum\PWRFc@tracing>#1\relax \GenericWarning {(isorot)\@spaces\@spaces} {Package isorot: #2}% \fi } \NeedsTeXFormat{LaTeX2e} \RequirePackage{graphicx} \RequirePackage{lscape} \def\rotdriver#1{% \message{The .dvi file is to be processed by the #1 driver.} \typeout{Change rotdriver in the source accordingly if you do not have this.} \makeatletter\input{#1.def}\makeatother} \newif\if@rot@twoside \def\Grot@setnegangle#1{% \dimen@#1\p@ \dimen@-\dimen@ \edef\Grot@angle{\strip@pt\dimen@}} \newif\ifcl@ckwise \newcommand{\figuresleft}{% \@rot@twosidefalse \def\rot@LR{0}% } \newcommand{\figuresright}{% \@rot@twosidefalse \def\rot@LR{-1}% } \newcommand{\clockwise}{% \cl@ckwisetrue } \newcommand{\counterclockwise}{% \cl@ckwisefalse } \long\def\r@protected@write#1#2#3{% \begingroup \let\therpage\relax #2% \let\protect\@unexpandable@protect \edef\reserved@a{\write#1{#3}}% \reserved@a \endgroup \if@nobreak\ifvmode\nobreak\fi\fi } \def\therpage{\arabic{page}} \def\rot@label#1{\@bsphack \r@protected@write\@auxout{}% {\string\newlabel{#1}{{\@currentlabel}{\therpage}}}% \@esphack} \newcounter{r@tfl@t} \setcounter{r@tfl@t}{0} \if@twoside \@rot@twosidetrue \else \@rot@twosidefalse \fi \newcommand{\rotatedirection}[1]{% \def\@tempa{#1}\def\@tempb{clockwise}% \ifx\@temp\@tempb \cl@ckwisetrue \else \cl@ckwisefalse \fi} \clockwise \figuresright \def\sideways{% \Grot@setangle{90}% \setbox\z@\hbox\bgroup\ignorespaces} \def\endsideways{% \unskip\egroup \Grot@x\z@ \Grot@y\z@ \Grot@box } \def\turn#1{% \ifcl@ckwise \Grot@setnegangle{#1} \else \Grot@setangle{#1} \fi \setbox\z@\hbox\bgroup\ignorespaces} \def\endturn{% \unskip\egroup \Grot@x\z@ \Grot@y\z@ \Grot@box } \def\rotate#1{% \ifcl@ckwise \Grot@setnegangle{#1} \else \Grot@setangle{#1} \fi \setbox\z@\hbox\bgroup\ignorespaces} \def\endrotate{% \unskip\egroup \Grot@x\z@ \Grot@y\z@ \wd0\z@\dp0\z@\ht0\z@ \Grot@box } \def\turnbox#1#2{% \ifcl@ckwise \Grot@setnegangle{#1} \else \Grot@setangle{#1} \fi \setbox\z@\hbox{{#2}}% \Grot@x\z@ \Grot@y\z@ \wd0\z@\dp0\z@\ht0\z@ \Grot@box } \newsavebox\rot@float@box \def\@rotfloat#1{% \@ifnextchar[% {\@xrotfloat{#1}}% {\edef\@tempa{\noexpand\@xrotfloat{#1}[\csname fps@#1\endcsname]}\@tempa}% } \def\@xrotfloat#1[#2]{% \@float{#1}[#2]% \begin{lrbox}\rot@float@box \begin{minipage}\textheight } \def\end@rotfloat{% \end{minipage}\end{lrbox}% \global\addtocounter{r@tfl@t}{1}% \rot@label{RF\ther@tfl@t}% \def\R@@page{\pageref{RF\ther@fl@t}}% \wd\rot@float@box\z@ \ht\rot@float@box\z@ \dp\rot@float@box\z@ \vbox to \textheight{% \if@rot@twoside \def\R@@page{\pageref{RF\ther@tfl@t}}% \else \let\R@@page\rot@LR \fi \ifodd\R@@page \PWRF@trace\tw@{Adding sideways float on right hand page}% \vfill \centerline{\rotatebox{90}{\box\rot@float@box}}% \else \PWRF@trace\tw@{Adding sideways float on left hand page}% \centerline{\rotatebox{-90}{\box\rot@float@box}}% \vfill \fi }% \end@float } \def\@rotdblfloat{% \if@twocolumn\let\reserved@a\@rotdblflt\else\let\reserved@a\@rotfloat\fi \reserved@a} \def\@rotdblflt#1{\@ifnextchar[{\@rotxdblfloat{#1}}{\@rotxdblfloat{#1}[tp]}} \def\@rotxdblfloat#1[#2]{% \hsize\textwidth\linewidth\textwidth \@float{#1}[#2]% \begin{lrbox}\rot@float@box \begin{minipage}\textheight } \def\end@rotdblfloat{% \end{minipage}\end{lrbox}% \global\addtocounter{r@tfl@t}{1}% \rot@label{RF\ther@tfl@t}% \def\R@@page{\pageref{RF\ther@tfl@t}}% \@tempdima\ht\rot@float@box \advance\@tempdima by \dp\rot@float@box \PWRF@trace\thr@@{BOX wd: \the\wd\rot@float@box, ht: \the\ht\rot@float@box, dp: \the\dp\rot@float@box: so shift by .5 of \the\@tempdima}% \wd\rot@float@box\z@ \ht\rot@float@box\z@ \dp\rot@float@box\z@ \vbox to \textheight{% \if@rot@twoside \def\R@@page{\pageref{RF\ther@tfl@t}}% \else \let\R@@page\rot@LR \fi \ifodd\R@@page \PWRF@trace\tw@{Adding sideways float on right hand page}% \vfill \hbox to \textwidth{\hfill\rotatebox{90}{\box\rot@float@box}\hfill}% \else \PWRF@trace\tw@{Adding sideways float on left hand page}% \hbox to \textwidth{\hfill\rotatebox{-90}{\box\rot@float@box}\hfill}% \vfill \fi } \end@dblfloat } \@ifundefined{@initisofig}{% \newcommand{\@initisofig}{} \newcommand{\@initisotab}{} \newif\ifinfloat \newcommand{\rotcapfont}{}}{\newcommand{\rotcapfont}{\captionsize\bf}} \def\sidewaysfigure{% \@initisofig \@rotfloat{figure}} \def\endsidewaysfigure{\end@rotfloat\infloatfalse} \def\sidewaystable{% \@initisotab \@rotfloat{table}} \def\endsidewaystable{\end@rotfloat\infloatfalse} \newenvironment{sidewaysfigure*}{% \@initisofig \@rotdblfloat{figure}}{% \end@rotdblfloat\infloatfalse} \newenvironment{sidewaystable*}{% \@initisotab \@rotdblfloat{table}}{% \end@rotdblfloat\infloatfalse} \def\rotcaption{\refstepcounter\@captype\@dblarg{\@rotcaption\@captype}} \long\def\@rotcaption#1[#2]#3{% \addcontentsline{\csname ext@#1\endcsname}{#1}{% \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% \par \begingroup \@parboxrestore \normalsize \@makerotcaption{\csname fnum@#1\endcsname}{#3}% \endgroup} \long\def\@makerotcaption#1#2{% \hspace{\abovecaptionskip} \setbox\@tempboxa\hbox{{\rotcapfont #1 -- #2}}% \ifdim \wd\@tempboxa > .8\vsize \rotatebox{90}{% \begin{minipage}{.8\textheight}{\centering{\rotcapfont #1 -- #2}\par}\end{minipage}% }\par \else% \rotatebox{90}{\box\@tempboxa}% \fi \hspace{\belowcaptionskip} } \newcommand{\controtcaption}{\@controtcaption\@captype} \long\def\@controtcaption#1#2{% \begingroup \@parboxrestore \normalsize \@makerotcaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par \endgroup} \endinput %% %% End of file `isorot.sty'.