[2066] | 1 | %% |
---|
| 2 | %% This is file `rotating.sty', |
---|
| 3 | %% generated with the docstrip utility. |
---|
| 4 | %% |
---|
| 5 | %% The original source files were: |
---|
| 6 | %% |
---|
| 7 | %% rotating.dtx (with options: `package') |
---|
| 8 | %% Copyright (C) 1994 Sebastian Rahtz and Leonor Barroca. All |
---|
| 9 | %% rights reserved. Permission is granted to to customize the |
---|
| 10 | %% declarations in this file to serve the needs of your installation. |
---|
| 11 | %% However, no permission is granted to distribute a modified version of |
---|
| 12 | %% this file under its original name. |
---|
| 13 | %% |
---|
| 14 | \def\RInfo{1997/09/26, v2.13} |
---|
| 15 | %% File: rotating.dtx Copyright (C) 1995--1999 |
---|
| 16 | \ProvidesPackage{rotating}[\RInfo\space Rotation package] |
---|
| 17 | \NeedsTeXFormat{LaTeX2e} |
---|
| 18 | \newif\if@rot@twoside |
---|
| 19 | \DeclareOption{clockwise}{% this is for compatibility |
---|
| 20 | \AtBeginDocument{\setkeys{Grot}{units=360}}% |
---|
| 21 | } |
---|
| 22 | \DeclareOption{counterclockwise}{% |
---|
| 23 | \AtBeginDocument{\setkeys{Grot}{units=-360}}% |
---|
| 24 | } |
---|
| 25 | \DeclareOption{figuresleft}{% |
---|
| 26 | \@rot@twosidefalse |
---|
| 27 | \def\rot@LR{0}% |
---|
| 28 | } |
---|
| 29 | \DeclareOption{figuresright}{% |
---|
| 30 | \@rot@twosidefalse |
---|
| 31 | \def\rot@LR{-1}% |
---|
| 32 | } |
---|
| 33 | \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphics}} |
---|
| 34 | \ExecuteOptions{clockwise} |
---|
| 35 | \if@twoside |
---|
| 36 | \@rot@twosidetrue |
---|
| 37 | \else |
---|
| 38 | \@rot@twosidefalse |
---|
| 39 | \fi |
---|
| 40 | \def\rot@LR{-1} |
---|
| 41 | \ProcessOptions |
---|
| 42 | \RequirePackage{graphicx} |
---|
| 43 | \RequirePackage{ifthen} |
---|
| 44 | \def\rotdriver#1{\makeatletter\input{#1.def}\makeatother} |
---|
| 45 | \newcounter{r@tfl@t} |
---|
| 46 | \setcounter{r@tfl@t}{0} |
---|
| 47 | \def\sideways{% |
---|
| 48 | \Grot@setangle{90}% |
---|
| 49 | \setbox\z@\hbox\bgroup\ignorespaces} |
---|
| 50 | \def\endsideways{% |
---|
| 51 | \unskip\egroup |
---|
| 52 | \Grot@x\z@ |
---|
| 53 | \Grot@y\z@ |
---|
| 54 | \Grot@box |
---|
| 55 | } |
---|
| 56 | \def\turn#1{% |
---|
| 57 | \Grot@setangle{#1}% |
---|
| 58 | \setbox\z@\hbox\bgroup\ignorespaces} |
---|
| 59 | \def\endturn{% |
---|
| 60 | \unskip\egroup |
---|
| 61 | \Grot@x\z@ |
---|
| 62 | \Grot@y\z@ |
---|
| 63 | \Grot@box |
---|
| 64 | } |
---|
| 65 | \def\rotate#1{% |
---|
| 66 | \Grot@setangle{#1}% |
---|
| 67 | \setbox\z@\hbox\bgroup\ignorespaces} |
---|
| 68 | \def\endrotate{% |
---|
| 69 | \unskip\egroup |
---|
| 70 | \Grot@x\z@ |
---|
| 71 | \Grot@y\z@ |
---|
| 72 | \wd0\z@\dp0\z@\ht0\z@ |
---|
| 73 | \Grot@box |
---|
| 74 | } |
---|
| 75 | \def\turnbox#1#2{% |
---|
| 76 | \Grot@setangle{#1}% |
---|
| 77 | \setbox\z@\hbox{{#2}}% |
---|
| 78 | \Grot@x\z@\Grot@y\z@ |
---|
| 79 | \wd0\z@\dp0\z@\ht0\z@ |
---|
| 80 | \Grot@box |
---|
| 81 | } |
---|
| 82 | \newsavebox\rot@float@box |
---|
| 83 | \def\@rotfloat#1{% |
---|
| 84 | \@ifnextchar[% |
---|
| 85 | {\@xrotfloat{#1}}% |
---|
| 86 | {\edef\@tempa{\noexpand\@xrotfloat{#1}[\csname fps@#1\endcsname]}\@tempa}% |
---|
| 87 | } |
---|
| 88 | \def\@xrotfloat#1[#2]{% |
---|
| 89 | \@float{#1}[#2]% |
---|
| 90 | \begin{lrbox}\rot@float@box |
---|
| 91 | \begin{minipage}\textheight |
---|
| 92 | } |
---|
| 93 | \def\end@rotfloat{% |
---|
| 94 | \end{minipage}\end{lrbox}% |
---|
| 95 | \global\addtocounter{r@tfl@t}{1}% |
---|
| 96 | \rot@label{RF\ther@tfl@t}% |
---|
| 97 | \message{Adding sideways figure on }% |
---|
| 98 | \def\R@@page{\pageref{RF\ther@tfl@t}}% |
---|
| 99 | \wd\rot@float@box\z@ |
---|
| 100 | \ht\rot@float@box\z@ |
---|
| 101 | \dp\rot@float@box\z@ |
---|
| 102 | \vbox to \textheight{% |
---|
| 103 | \setkeys{Grot}{units=360}% |
---|
| 104 | \if@rot@twoside |
---|
| 105 | \def\R@@page{\pageref{RF\ther@tfl@t}}% |
---|
| 106 | \else |
---|
| 107 | \let\R@@page\rot@LR |
---|
| 108 | \fi |
---|
| 109 | \ifthenelse{\isodd{\R@@page}}{% |
---|
| 110 | \message{right hand page}% |
---|
| 111 | \vfill |
---|
| 112 | \centerline{\rotatebox{90}{\box\rot@float@box}}% |
---|
| 113 | }{% |
---|
| 114 | \message{left hand page}% |
---|
| 115 | \centerline{\rotatebox{-90}{\box\rot@float@box}}% |
---|
| 116 | \vfill |
---|
| 117 | }% |
---|
| 118 | }% |
---|
| 119 | \end@float |
---|
| 120 | } |
---|
| 121 | \def\sidewaysfigure{\@rotfloat{figure}} |
---|
| 122 | \let\endsidewaysfigure\end@rotfloat |
---|
| 123 | \def\sidewaystable{\@rotfloat{table}} |
---|
| 124 | \let\endsidewaystable\end@rotfloat |
---|
| 125 | \def\@rotdblfloat{% |
---|
| 126 | \if@twocolumn\let\reserved@a\@rotdbflt\else\let\reserved@a\@rotfloat\fi |
---|
| 127 | \reserved@a} |
---|
| 128 | \def\@rotdbflt#1{\@ifnextchar[{\@rotxdblfloat{#1}}{\@rotxdblfloat{#1}[tp]}} |
---|
| 129 | \def\@rotxdblfloat#1[#2]{% |
---|
| 130 | \hsize\textwidth\linewidth\textwidth |
---|
| 131 | \@float{#1}[#2]% |
---|
| 132 | \begin{lrbox}\rot@float@box |
---|
| 133 | \begin{minipage}\textheight |
---|
| 134 | } |
---|
| 135 | \def\end@rotdblfloat{% |
---|
| 136 | \end{minipage}\end{lrbox}% |
---|
| 137 | \global\addtocounter{r@tfl@t}{1}% |
---|
| 138 | \rot@label{RF\ther@tfl@t}% |
---|
| 139 | \message{Adding sideways figure on }% |
---|
| 140 | \def\R@@page{\pageref{RF\ther@tfl@t}}% |
---|
| 141 | \@tempdima\ht\rot@float@box |
---|
| 142 | \advance\@tempdima by \dp\rot@float@box |
---|
| 143 | \typeout{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}% |
---|
| 144 | \wd\rot@float@box\z@ |
---|
| 145 | \ht\rot@float@box\z@ |
---|
| 146 | \dp\rot@float@box\z@ |
---|
| 147 | \vbox to \textheight{% |
---|
| 148 | \setkeys{Grot}{units=360}% |
---|
| 149 | \if@rot@twoside |
---|
| 150 | \def\R@@page{\pageref{RF\ther@tfl@t}}% |
---|
| 151 | \else |
---|
| 152 | \let\R@@page\rot@LR |
---|
| 153 | \fi |
---|
| 154 | \ifthenelse{\isodd{\R@@page}}{% |
---|
| 155 | \message{right hand page}% |
---|
| 156 | \vfill |
---|
| 157 | \hbox to\textwidth{\hfill\rotatebox{90}{\box\rot@float@box}\hfill}% |
---|
| 158 | }{% |
---|
| 159 | \message{left hand page}% |
---|
| 160 | \hbox to \textwidth{\hfill\rotatebox{-90}{\box\rot@float@box}\hfill}% |
---|
| 161 | \vfill |
---|
| 162 | }% |
---|
| 163 | }% |
---|
| 164 | \end@dblfloat |
---|
| 165 | } |
---|
| 166 | \newenvironment{sidewaystable*} |
---|
| 167 | {\@rotdblfloat{table}} |
---|
| 168 | {\end@rotdblfloat} |
---|
| 169 | \newenvironment{sidewaysfigure*} |
---|
| 170 | {\@rotdblfloat{figure}} |
---|
| 171 | {\end@rotdblfloat} |
---|
| 172 | |
---|
| 173 | \long\def \r@protected@write#1#2#3{% |
---|
| 174 | \begingroup |
---|
| 175 | \let\therpage\relax |
---|
| 176 | #2% |
---|
| 177 | \let\protect\@unexpandable@protect |
---|
| 178 | \edef\reserved@a{\write#1{#3}}% |
---|
| 179 | \reserved@a |
---|
| 180 | \endgroup |
---|
| 181 | \if@nobreak\ifvmode\nobreak\fi\fi |
---|
| 182 | } |
---|
| 183 | \def\therpage{\arabic{page}} |
---|
| 184 | \def\rot@label#1{\@bsphack |
---|
| 185 | \r@protected@write\@auxout{}% |
---|
| 186 | {\string\newlabel{#1}{{\@currentlabel}{\therpage}}}% |
---|
| 187 | \@esphack} |
---|
| 188 | \def\rotcaption{\refstepcounter\@captype\@dblarg{\@rotcaption\@captype}} |
---|
| 189 | \long\def\@rotcaption#1[#2]#3{% |
---|
| 190 | \addcontentsline{\csname ext@#1\endcsname}{#1}{% |
---|
| 191 | \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% |
---|
| 192 | \par |
---|
| 193 | \begingroup |
---|
| 194 | \@parboxrestore |
---|
| 195 | \normalsize |
---|
| 196 | \@makerotcaption{\csname fnum@#1\endcsname}{#3}% |
---|
| 197 | \endgroup} |
---|
| 198 | \long\def\@makerotcaption#1#2{% |
---|
| 199 | \setbox\@tempboxa\hbox{#1: #2}% |
---|
| 200 | \ifdim \wd\@tempboxa > .8\vsize |
---|
| 201 | \rotatebox{90}{% |
---|
| 202 | \begin{minipage}{.8\textheight}#1: #2\end{minipage}% |
---|
| 203 | }\par |
---|
| 204 | \else% |
---|
| 205 | \rotatebox{90}{\box\@tempboxa}% |
---|
| 206 | \fi |
---|
| 207 | \hspace{12pt}% |
---|
| 208 | } |
---|
| 209 | \endinput |
---|
| 210 | %% |
---|
| 211 | %% End of file `rotating.sty'. |
---|