summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/isorot/rotman.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/isorot/rotman.tex')
-rw-r--r--macros/latex/contrib/isorot/rotman.tex897
1 files changed, 897 insertions, 0 deletions
diff --git a/macros/latex/contrib/isorot/rotman.tex b/macros/latex/contrib/isorot/rotman.tex
new file mode 100644
index 0000000000..6d2fe22d1a
--- /dev/null
+++ b/macros/latex/contrib/isorot/rotman.tex
@@ -0,0 +1,897 @@
+% rotman.tex User Manual for isorot package
+\documentclass[11pt]{article}
+\usepackage{isorot}
+
+%\makeatletter
+\ifx\pdfoutput\undefined\else
+ \pdfoutput=1
+\fi
+%\makeatother
+
+\setlength{\textheight}{8.0in}
+\setlength{\textwidth}{6.0in}
+\setlength{\oddsidemargin}{0.25in}
+\setlength{\evensidemargin}{0.25in}
+\setlength{\marginparwidth}{0.6in}
+\setcounter{secnumdepth}{4}
+\setcounter{tocdepth}{4}
+
+%
+% remainder of preamble is some special macro definitions
+\makeatletter
+% the \meta{} command
+%
+\begingroup
+\obeyspaces%
+\catcode`\^^M\active%
+\gdef\meta{\begingroup\obeyspaces\catcode`\^^M\active%
+\let^^M\do@space\let \do@space%
+\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\it}%
+\m@ta}%
+\endgroup
+\def\m@ta#1{\leavevmode\hbox\bgroup\texttt{<}\textit{#1}\/\texttt{>}\egroup
+ \endgroup}
+\def\do@space{\egroup\space
+ \hbox\bgroup\it\futurelet\next\sp@ce}
+\def\sp@ce{\ifx\next\do@space\expandafter\sp@@ce\fi}
+\def\sp@@ce#1{\futurelet\next\sp@ce}
+%
+\makeatother
+
+%
+\makeatletter
+%
+% the \latex command
+\newcommand{\latex}{\LaTeX}
+\newcommand{\tex}{\TeX}
+%
+% the \file{} command
+%
+\newcommand{\file}[1]{\textsf{#1}}
+%
+% example and note environments
+\newenvironment{example}{\begin{quotation}\small\textbf{Example: }}{\par\end{quotation}}
+\newenvironment{note}{\begin{quotation}\small\textbf{Note: }}{\par\end{quotation}}
+
+% internal refs
+\newcommand{\tref}[1]{Table~\ref{#1}}
+\newcommand{\fref}[1]{Figure~\ref{#1}}
+
+% index a command
+\newcommand{\bs}{\symbol{'134}}
+\newcommand{\ixcom}[1]{\index{#1/ @{\tt \protect\bs #1}}}
+% index an environment
+\newcommand{\ixenv}[1]{\index{#1 @{\tt #1} (environment)}}
+% index a starred environment
+\newcommand{\ixenvs}[1]{\index{#1s @{\tt #1*} (environment)}}
+% index an option
+\newcommand{\ixopt}[1]{\index{#1 @{\tt #1} (option)}}
+% index a package
+\newcommand{\ixpack}[1]{\index{#1 @\file{#1} (package)}}
+% index a class
+\newcommand{\ixclass}[1]{\index{#1 @\file{#1} (class)}}
+% index in typewriter font
+\newcommand{\ixtt}[1]{\index{#1@{\tt #1}}}
+% index LaTeX
+\newcommand{\ixltx}{\index{latex@\latex}}
+% index LaTeX 2e
+\newcommand{\ixltxe}{\index{latex2e@\latex 2e}}
+% index LaTeX v2.09
+\newcommand{\ixltxv}{\index{latex209@\latex{} v2.09}}
+\makeatother
+%
+% end of preamble
+%
+
+\title{The \file{isorot} Package User Manual}
+\author{Peter Wilson\\ \texttt{peter.r.wilson@boeing.com}}
+\date{15 February 2000}
+
+\begin{document}
+\pagenumbering{roman}
+\maketitle
+
+\begin{abstract}
+The facilities in the \file{isorot} package are described. The package
+was initially designed for use with the \file{iso} class but can be used
+with the `normal' classes as well. The package enables the rotation of
+document elements, like text or tables of figures.
+\end{abstract}
+\tableofcontents
+\listoffigures
+\listoftables
+\clearpage
+\pagestyle{headings}
+\pagenumbering{arabic}
+
+
+\section{Introduction}
+
+ The \file{isorot} package enables the rotation of document elements on
+a page. It uses the \latex{} \verb|\special| command to perform its
+effects, and thus can only be used
+with a limited number of \TeX{} to print routes. The facilities
+available are summarized in \tref{tab4}.
+
+ \file{isorot} is a modification of the \file{rotation.sty} file
+created by Rahtz and Barroca~\cite{rahtz}. Further examples of the usage
+of their style are given in Goosens \emph{et al}~\cite{goosens}. The
+package also uses David Carlisle's \file{graphicx} and \file{lscape}
+packages.
+
+\begin{note}Several examples of the effects of the commands described herein
+are shown. In many cases the results are not pretty. This should act as
+a warning that using rotational elements requires more care than
+most other document elements.\end{note} %end note
+
+\begin{sidewaystable}
+\ixcom{rotdriver} \ixcom{clockwise} \ixcom{counterclockwise}
+\ixcom{figuresright} \ixcom{figuresleft} \ixcom{rotcaption}
+\ixcom{controtcaption}
+\ixenv{sideways} \ixenv{turn} \ixenv{rotate} \ixenv{sidewaystable}
+\ixenv{sidewaysfigure} \ixenv{landscape}
+\centering
+\caption{The rotation facilities} \label{tab4}
+\begin{tabular}{|l|l|} \hline
+\textbf{Facility} & \textbf{Effect} \\ \hline
+\multicolumn{2}{|c|}{\textbf{Commands}} \\ \hline
+\verb|\rotdriver{<driver>}| &
+declare the name of the dvi to Postscript translator (default {\tt dvips}) \\
+\verb|\clockwise| &
+sets rotation direction clockwise for positive angles (the default) \\
+\verb|\counterclockwise| &
+sets rotation direction counterclockwise for positive angles \\
+\verb|\figuresright| &
+sets rotation direction for sideways floats counterclockwise (the default) \\
+\verb|\figuresleft| &
+sets rotation direction for sideways floats clockwise \\
+\verb|\rotcaption| &
+like the \verb|caption| command, but rotates the caption through 90 degrees \\
+\verb|\controtcaption| &
+like the \verb|contcaption| command, but rotates the caption through 90 degrees \\ \hline
+\multicolumn{2}{|c|}{\textbf{Environments}} \\ \hline
+\verb|sideways| &
+rotates the contents through 90 degrees counterclockwise \\
+\verb|turn| &
+rotates the contents through the given angle \\
+\verb|rotate| &
+rotates the contents through the given angle, but no space allowed for the result\\
+\verb|sidewaystable| &
+like the \verb|table| environment, but rotated 90 degrees \\
+\verb|sidewaystable*| &
+twocolumn version of \verb|sidewaystable| \\
+\verb|sidewaysfigure| &
+like the \verb|figure| environment, but rotated 90 degrees \\
+\verb|sidewaysfigure*| &
+twocolumn version of \verb|sidewaysfigure| \\
+\verb|landscape| &
+prints all enclosed pages in landscape mode \\ \hline
+\end{tabular}
+\end{sidewaystable}
+
+\section{Options}
+
+ The \file{isorot} facility has one option,
+namely \verb|debugshow|\ixopt{debugshow}. Calling this option produces
+messages on the screen and in the \file{log} file regarding the actions
+being taken.
+
+\begin{note} This option is principally of interest to the maintainer
+of the facility. \end{note}
+
+ The font used for the captions of rotated figures or tables is controlled
+by the \verb|rotcapfont| command. Under normal circumstances this is a null
+command but when used with the \file{iso} class it is defined as: \\
+\verb|\newcommand{\rotcapfont}{\captionsisize\bf}| \\
+ where \verb|\captionsize| is defined in the class. You can renew
+\verb|\rotcapfont| to change the caption font to your liking.
+
+\section{DVI drivers}
+
+ The \file{isorot} facility supports only a limited number of
+dvi to postscript translators. The default translator is \emph{dvips}.
+ The following command must be put in
+the preamble of the document if \emph{dvips} is not being used:
+\verb|\rotdriver{<drivername>}|,\ixcom{rotdriver} where
+\verb|<drivername>| is one of the following:\footnote{I have been able to
+try the {\tt dvips} driver
+but not the others. If anyone has experience with the other drivers, or has
+extended the range of drivers, I would like to be given the results.} %end footnote
+
+\begin{enumerate}
+\item \verb|dvipdf| for the \emph{dvipdf}
+ translator;\ixtt{dvipdf}
+\item \verb|dvips| for Tom Rockicki's \emph{dvips}
+ translator;\ixtt{dvips}
+\item \verb|dvipsone| for Y\&Y's \emph{dvipsone}
+ translator;\ixtt{dvipsone}
+\item \verb|dvitops| for James Clark's \emph{dvitops}
+ translator;\ixtt{dvitops}
+\item \verb|dviwindo| for Y\&Y's \emph{dviwindo}
+ translator;\ixtt{dviwindo}
+\item \verb|pctex32| for Personal TeX's PC TeX for 32 bit Windows
+ (\emph{pctex32})
+ translator;\ixtt{pctex32}
+\item \verb|pctexps| for Personal TeX's PC PTI Laser/PS (\emph{pctexps})
+ translator;\ixtt{pctexps}
+\item \verb|pubps| for the Arbortext's \emph{pubps}
+ translator.\ixtt{pubps}
+\item \verb|textures| for Blue Sky's \emph{Textures}
+ translator;\ixtt{textures}
+
+\end{enumerate}
+
+ The \file{isorot} package can also be used in documents processed
+by pdfLaTeX.
+
+\section{Rotational directions}
+
+ \file{isorot} enables the textual and other elements of a document
+to be rotated from their normal horizontal layout. In some cases elements
+can be rotated through arbitrary angles, whereas in others only 90 degree
+rotation is possible.
+
+ By default, a rotation through a positive number of
+degrees corresponds to a clockwise rotation. The command
+\verb|\counterclockwise|\ixcom{counterclockwise}
+sets the following rotations to be counterclockwise for positive angles.
+The command \verb|\clockwise|\ixcom{clockwise}
+sets the following rotations to be clockwise for positive angles.
+These commands can be used to toggle the rotational behavior.
+
+
+ Rotated floating environments are normally rotated so that they are
+printed with a counterclockwise rotation (i.e. the original bottom of the float
+is placed at the right hand side of the paper),
+which is what is normally required.
+This behavior can be altered by the command
+\verb|\figuresleft|,\ixcom{figuresleft}
+which will give the reverse effect. The command
+\verb|\figuresright|\ixcom{figuresright}
+will set the behavior to the default.
+These commands can be used to toggle the rotational behavior of
+floats.
+
+
+\section{Rotation of text}
+
+ The \verb|sideways|\ixenv{sideways}
+environment rotates the contents of the environment
+by 90 degrees counterclockwise, and leaves space for the result.
+
+ The \verb|\begin{turn}{|\meta{angle}\verb|}|\ixenv{turn}
+environment rotates the contents by the given number
+of degrees in the direction specified by the most recent of the
+\verb|\clockwise|\ixcom{clockwise} or
+\verb|\counterclockwise|\ixcom{counterclockwise}
+commands, leaving space for the result.
+
+ The \verb|\begin{rotate}{|\meta{angle}\verb|}|\ixenv{rotate}
+environment rotates the contents by the given number
+of degrees in the direction specified by the most recent of the
+\verb|\clockwise|\ixcom{clockwise} or
+\verb|\counterclockwise|\ixcom{counterclockwise}
+commands, but no arrangements are made for leaving space for the result.
+
+
+\begin{example}Some simple rotations: \label{ex:1}
+
+This code
+\begin{verbatim}
+Default rotation direction: \\
+A
+\begin{sideways}%
+B C
+\end{sideways}
+D E F G H I J K L M
+\begin{turn}{-90}%
+Minus 90 turn
+\end{turn}
+N O P
+\begin{rotate}{90}%
+Plus 90 rotate
+\end{rotate}
+Q \\
+and continue on with another line after rotations.
+\end{verbatim}
+produces the following (note how space is allowed for the \verb|turn|ed
+text, whereas the \verb|rotate|d text runs into the text below).
+
+Default rotation direction: \\
+A
+\begin{sideways}%
+B C
+\end{sideways}
+D E F G H I J K L M
+\begin{turn}{-90}%
+Minus 90 turn
+\end{turn}
+N O P
+\begin{rotate}{90}%
+Plus 90 rotate
+\end{rotate}
+Q \\
+and continue on with another line after rotations.
+\end{example} % end example
+\begin{example}This example shows the effect of using the
+\verb|\counterclockwise|\ixcom{counterclockwise}
+command.
+
+This code
+\begin{verbatim}
+Flip rotation direction: \\
+\counterclockwise
+A
+\begin{sideways}%
+B C
+\end{sideways}
+D E F G H I J K L M
+\begin{turn}{-90}%
+Minus 90 turn
+\end{turn}
+N O P
+\begin{rotate}{90}%
+Plus 90 rotate
+\end{rotate}
+Q \\
+Set rotation direction back to default value.
+\clockwise
+\end{verbatim}
+
+produces the following, which should be compared with example~\ref{ex:1}.
+
+Flip rotation direction: \\
+\counterclockwise
+A
+\begin{sideways}%
+B C
+\end{sideways}
+D E F G H I J K L M
+\begin{turn}{-90}%
+Minus 90 turn
+\end{turn}
+N O P
+\begin{rotate}{90}%
+Plus 90 rotate
+\end{rotate}
+Q \\
+Set rotation direction back to default value.
+\clockwise
+\end{example} % end example
+
+
+ Although the examples so far have only shown the rotation of text, boxes
+can also be rotated.
+
+\begin{example}Rotating a box.
+
+This code
+\begin{verbatim}
+\newsavebox{\foo}
+\newlength{\fool}
+\settowidth{\fool}{Hurrah for ISO.}
+\savebox{\foo}{\parbox{\fool}{Hurrah for ISO. Hurrah for ISO.
+ Hurrah for ISO. Hurrah for ISO.}}
+Start
+\usebox{\foo}
+\&
+\begin{turn}{-45}\usebox{\foo}\end{turn}
+\&
+\begin{turn}{45}\usebox{\foo}\end{turn}
+End
+\end{verbatim}
+produces:
+
+\newsavebox{\foo}
+\newlength{\fool}
+\settowidth{\fool}{Hurrah for ISO.}
+\savebox{\foo}{\parbox{\fool}{Hurrah for ISO. Hurrah for ISO.
+ Hurrah for ISO. Hurrah for ISO.}}
+Start
+\usebox{\foo}
+\&
+\begin{turn}{-45}\usebox{\foo}\end{turn}
+\&
+\begin{turn}{45}\usebox{\foo}\end{turn}
+End
+
+\end{example} %end example
+
+ Elements can be rotated through arbitrary angles, and also rotated
+elements can be nested inside other rotated elements.
+
+
+\begin{example}Repeated rotation:
+
+ The following example code shows that text can be rotated through any angle.
+The result is shown in \fref{fig:wheel}.
+\begin{verbatim}
+\newcount\prwc
+\newsavebox{\prwtext}
+\newdimen\prwspace
+\def\wheel#1#2{%
+ \savebox{\prwtext}{#1\begin{sideways}#2\end{sideways}}%
+ \prwspace\wd\prwtext%
+ \advance\prwspace by 1cm%
+ \centerline{%
+ \rule{0pt}{\prwspace}%
+ \rule[-\prwspace]{0pt}{\prwspace}%
+ \prwc=-180\loop\ifnum\prwc<180
+ \rlap{\begin{rotate}{\the\prwc}%
+ \rule{1cm}{0pt}\usebox{\prwtext}\end{rotate}}%
+ \advance\prwc by 20\repeat}}
+\begin{figure}
+\wheel{Express yourself ---}{Hooray for STEP!}
+\caption{Example rotation through multiple angles}
+\label{fig:wheel}
+\end{figure}
+\end{verbatim}
+
+\newcount\prwc
+\newsavebox{\prwtext}
+\newdimen\prwspace
+\def\wheel#1#2{%
+ \savebox{\prwtext}{#1\begin{sideways}#2\end{sideways}}%
+ \prwspace\wd\prwtext%
+ \advance\prwspace by 1cm%
+ \centerline{%
+ \rule{0pt}{\prwspace}%
+ \rule[-\prwspace]{0pt}{\prwspace}%
+ \prwc=-180\loop\ifnum\prwc<180
+ \rlap{\begin{rotate}{\the\prwc}%
+ \rule{1cm}{0pt}\usebox{\prwtext}\end{rotate}}%
+ \advance\prwc by 20\repeat}}
+\begin{figure}
+\vspace*{1cm}
+\wheel{Express yourself ---}{Hooray for STEP!}
+\vspace*{1cm}
+\caption{Example rotation through multiple angles}
+\label{fig:wheel}
+\end{figure}
+\end{example} %end example
+
+ Later in the manual, Figures~\ref{fig:angles1} and~\ref{fig:angles2}
+also show rotations through a
+range of angles, both positive and negative.
+
+\begin{example}Nested rotations. \label{ex:sidetabular}
+
+This code
+\begin{verbatim}
+ Here is some text before a \verb|sideways| environment.
+And some more, and more and more garble gobble cluck
+click clack clock cluck and so on and on and on.
+\begin{center}
+\begin{sideways}
+\rule{1in}{0pt}
+\begin{tabular}{|lr|}
+\begin{rotate}{-45}\emph{Word}\end{rotate} & \begin{rotate}{-90}%
+Occurrences\end{rotate}
+\\
+\hline
+hello & 33 \\
+goodbye & 34 \\
+\hline
+\end{tabular}
+\end{sideways}
+\end{center}
+ Here is some text after a \verb|sideways| environment.
+ And some more, and more and more garble gobble cluck
+click clack clock cluck and so on and on and on.
+\end{verbatim}
+produces:
+
+ Here is some text before a \verb|sideways| environment.
+And some more, and more and more garble gobble cluck
+click clack clock cluck and so on and on and on.
+\begin{center}
+\begin{sideways}
+%\rule{1in}{0pt}
+\begin{tabular}{|lr|}
+\begin{rotate}{-45}\emph{Word}\end{rotate} & \begin{rotate}{-90}%
+Occurrences\end{rotate} \\ \hline
+hello & 33 \\
+goodbye & 34 \\ \hline
+\end{tabular}
+\end{sideways}
+\end{center}
+ Here is some text after a \verb|sideways| environment.
+ And some more, and more and more garble gobble cluck
+click clack clock cluck and so on and on and on.
+\end{example} %end example
+
+
+
+\section{Rotations of tables and figures}
+
+ The previous examples have demonstrated the rotation of textual elements.
+For instance, the last one showed that tabular material can be rotated using
+the \verb|sideways|\ixenv{sideways}
+environment. (Actually, any of the previously
+mentioned environments could have been used instead.)
+Two further environments are provided which rotate a \latex{} float through
+90 degrees. These are:
+\begin{itemize}
+\item \verb|sidewaystable|\ixenv{sidewaystable}, which
+ corresponds to the standard \latex{} \verb|table|\ixenv{table}
+ environment; and
+\item \verb|sidewaysfigure|\ixenv{sidewaysfigure}, which
+ corresponds to the standard \latex{} \verb|figure|\ixenv{figure}
+ environment.
+\end{itemize}
+There are also starred versions of these, namely
+\verb|sidewaystable*|\ixenvs{sidewaystable} and
+\verb|sidewaysfigure*|\ixenvs{sidewaysfigure}, for use in twocolumn mode.
+However, the correspondence with the standard environments is not strictly
+complete as a sideways float is alway placed on a page by itself.
+
+ The direction of rotation may be controlled by the
+\verb|\figuresright|\ixcom{figuresright} and
+\verb|\figuresleft|\ixcom{figuresleft} commands.
+
+\begin{example}Table~\ref{tab4} was produced by the code below: \label{ex:4}
+
+\begin{verbatim}
+\begin{sidewaystable}
+\centering
+\caption{The rotation facilities} \label{tab4}
+\begin{tabular}{|l|l|} \hline
+\textbf{Facility} & \textbf{Effect} \\ \hline
+\multicolumn{2}{|c|}{\textbf{Commands}} \\ \hline
+\verb|\rotdriver{<driver>}| &
+declare the name of the dvi to Postscript translator (default {\tt dvips}) \\
+......
+\verb|sidewaysfigure| &
+like the \verb|figure| environment, but rotated 90 degrees \\ \hline
+\end{tabular}
+\end{sidewaystable}
+\end{verbatim}
+\end{example} % end example
+
+
+
+\section{Rotation of float captions and bodies}
+
+ Sometimes it may be useful to rotate a caption independently of the
+rotation of a figure or table. The command
+\verb|\rotcaption|\ixcom{rotcaption} is analogous
+to the normal \verb|\caption|\ixcom{caption} command,
+and inserts the caption rotated
+by 90~degrees. There is also the companion command
+\verb|\controtcaption|\ixcom{controtcaption}, analagous to the
+\verb|\contcaption|\ixcom{contcaption} command,
+for continuation captions.
+
+%\newsavebox{\picbox}
+
+\begin{figure}
+\centering
+\caption{Example figure with a standard caption.} \label{fig:nocrot}
+\setlength{\unitlength}{0.2in}
+\footnotesize
+\begin{picture}(17,2)
+\thicklines
+\put(0,0){\begin{picture}(4,1)
+ \put(1.5,0.5){\oval(3,1)}
+ \put(1.5,0.5){\makebox(0,0){2,5 (1)}}
+ \put(3,0.5){\line(1,0){1.0}}
+ \put(4.25,0.5){\circle{0.5}}
+ \end{picture}}
+
+\put(4.5,0){\begin{picture}(8,1)
+ \put(0,0){\dashbox{0.25}(4,1){date}}
+ \put(4,0.5){\line(1,0){3.5}}
+ \put(7.75,0.5){\circle{0.5}}
+ \put(6,1){\makebox(0,0){A[1:3]}}
+ \end{picture}}
+
+\put(12.5,0){\begin{picture}(4,1)
+ \put(0,0){\framebox(4,1){INTEGER}}
+ \put(3.75,0){\line(0,1){1}}
+ \end{picture}}
+\end{picture}
+\normalsize
+\setlength{\unitlength}{1pt}
+\end{figure}
+
+
+\begin{example}Float with a regular caption.
+
+Figure~\ref{fig:nocrot} is produced by the code below:
+\begin{verbatim}
+\begin{figure}
+\centering
+\caption{Example figure with a standard caption.} \label{fig:nocrot}
+\setlength{\unitlength}{0.2in}
+\footnotesize
+\begin{picture}(17,2)
+\thicklines
+\put(0,0){\begin{picture}(4,1)
+ \put(1.5,0.5){\oval(3,1)}
+ \put(1.5,0.5){\makebox(0,0){2,5 (1)}}
+ \put(3,0.5){\line(1,0){1.0}}
+ \put(4.25,0.5){\circle{0.5}}
+ \end{picture}}
+\put(4.5,0){\begin{picture}(8,1)
+ \put(0,0){\dashbox{0.25}(4,1){date}}
+ \put(4,0.5){\line(1,0){3.5}}
+ \put(7.75,0.5){\circle{0.5}}
+ \put(6,1){\makebox(0,0){A[1:3]}}
+ \end{picture}}
+\put(12.5,0){\begin{picture}(4,1)
+ \put(0,0){\framebox(4,1){INTEGER}}
+ \put(3.75,0){\line(0,1){1}}
+ \end{picture}}
+\end{picture}
+\normalsize
+\setlength{\unitlength}{1pt}
+\end{figure}
+\end{verbatim}
+\end{example} % end example
+
+\begin{example}Float with a rotated caption.
+
+Figure~\ref{fig:crot} is produced by the code below:
+\begin{verbatim}
+\begin{figure}
+\centering
+\rotcaption{Figure~\protect\ref{fig:nocrot} with a rotated caption.}
+ \label{fig:crot}
+\setlength{\unitlength}{0.2in}
+\footnotesize
+\begin{picture}(17,2)
+...
+\end{picture}
+\normalsize
+\setlength{\unitlength}{1pt}
+\end{figure}
+\end{verbatim}
+\end{example} % end example
+
+
+\begin{figure}
+\centering
+\rotcaption{Figure~\protect\ref{fig:nocrot} with a rotated caption.}
+ \label{fig:crot}
+\setlength{\unitlength}{0.2in}
+\footnotesize
+\begin{picture}(17,2)
+\thicklines
+\put(0,0){\begin{picture}(4,1)
+ \put(1.5,0.5){\oval(3,1)}
+ \put(1.5,0.5){\makebox(0,0){2,5 (1)}}
+ \put(3,0.5){\line(1,0){1.0}}
+ \put(4.25,0.5){\circle{0.5}}
+ \end{picture}}
+\put(4.5,0){\begin{picture}(8,1)
+ \put(0,0){\dashbox{0.25}(4,1){date}}
+ \put(4,0.5){\line(1,0){3.5}}
+ \put(7.75,0.5){\circle{0.5}}
+ \put(6,1){\makebox(0,0){A[1:3]}}
+ \end{picture}}
+\put(12.5,0){\begin{picture}(4,1)
+ \put(0,0){\framebox(4,1){INTEGER}}
+ \put(3.75,0){\line(0,1){1}}
+ \end{picture}}
+\end{picture}
+\normalsize
+\setlength{\unitlength}{1pt}
+\end{figure}
+
+ As can be seen from \fref{fig:crot} the advisability of rotating a caption
+depends on the size of the body of the float. It may be better in certain
+cases to leave the caption in its regular position and rotate the body of
+the float instead.
+
+\def\prwrot#1{%
+\settowidth{\fool}{ISOROT}
+\savebox{\foo}{\parbox{\fool}{ISOROT ISOROT ISOROT ISOROT}}%
+\framebox{---\begin{turn}{#1}\framebox{\usebox{\foo}}\end{turn}---}}%
+\def\degrees{{\small$^{o}$}}
+
+\begin{figure}
+\centering
+\begin{tabular}{|c|c|c|} \hline
+\prwrot{0} &\prwrot{-40}&\prwrot{-80}\\
+0\degrees & -40\degrees & -80\degrees \\ \hline
+\prwrot{-120}&\prwrot{-160}&\prwrot{-200}\\
+-120\degrees & -160\degrees & -200\degrees \\ \hline
+\prwrot{-240}&\prwrot{-280}&\prwrot{-320}\\
+-240\degrees & -280\degrees & -320\degrees \\ \hline
+\end{tabular}
+\caption{Rotation of paragraphs between 0 and -320 degrees} \label{fig:angles1}
+\end{figure}
+
+
+\begin{example}Regular caption and float.
+
+Figure~\ref{fig:angles1} is a regular figure and caption. It is produced by
+the following code:
+\begin{verbatim}
+\def\prwrot#1{%
+\settowidth{\fool}{ISOROT}
+\savebox{\foo}{\parbox{\fool}{ISOROT ISOROT ISOROT ISOROT}}%
+\framebox{---\begin{turn}{#1}\framebox{\usebox{\foo}}\end{turn}---}}%
+\def\degrees{{\small$^{o}$}}
+\end{verbatim}
+
+\begin{verbatim}
+\begin{figure}
+\centering
+\begin{tabular}{|c|c|c|} \hline
+\prwrot{0} &\prwrot{-40}&\prwrot{-80}\\
+0\degrees & -40\degrees & -80\degrees \\ \hline
+\prwrot{-120}&\prwrot{-160}&\prwrot{-200}\\
+-120\degrees & -160\degrees & -200\degrees \\ \hline
+\prwrot{-240}&\prwrot{-280}&\prwrot{-320}\\
+-240\degrees & -280\degrees & -320\degrees \\ \hline
+\end{tabular}
+\caption{Rotation of paragraphs between 0 and -320 degrees} \label{fig:angles1}
+\end{figure}
+\end{verbatim}
+\end{example} % end example
+
+
+\begin{figure}
+\centering
+\begin{sideways}
+\begin{tabular}{|c|c|c|} \hline
+\prwrot{0} &\prwrot{40}&\prwrot{80}\\
+0\degrees & 40\degrees & 80\degrees \\ \hline
+\prwrot{120}&\prwrot{160}&\prwrot{200}\\
+120\degrees & 160\degrees & 200\degrees \\ \hline
+\prwrot{240}&\prwrot{280}&\prwrot{320}\\
+240\degrees & 280\degrees & 320\degrees \\ \hline
+\end{tabular}
+\end{sideways}
+\caption[Rotation of paragraphs between 0 and 320 degrees]%
+ {Rotation of paragraphs between 0 and 320 degrees (with figure
+ body turned sideways)}\label{fig:angles2}
+\end{figure}
+
+\begin{example}Regular caption and rotated float body.
+
+Figure~\ref{fig:angles2} is a regular figure and caption where the figure
+contents have been rotated. It was produced by the following code.
+\begin{verbatim}
+\begin{figure}
+\centering
+\begin{sideways}
+\begin{tabular}{|c|c|c|} \hline
+\prwrot{0} &\prwrot{40}&\prwrot{80}\\
+0\degrees & 40\degrees & 80\degrees \\ \hline
+\prwrot{120}&\prwrot{160}&\prwrot{200}\\
+120\degrees & 160\degrees & 200\degrees \\ \hline
+\prwrot{240}&\prwrot{280}&\prwrot{320}\\
+240\degrees & 280\degrees & 320\degrees \\ \hline
+\end{tabular}
+\end{sideways}
+\caption[Rotation of paragraphs between 0 and 320 degrees]%
+ {Rotation of paragraphs between 0 and 320 degrees (with figure
+ body turned sideways)}\label{fig:angles2}
+\end{figure}
+\end{verbatim}
+\end{example} % end example
+
+\begin{landscape}
+\section{Landscaping}
+
+ \latex{} normally prints in portrait mode.
+The \verb|landscape|\ixenv{landscape} environment
+prints all the enclosed stuff in landscape mode, except for headers
+and footers which are not rotated.
+
+\begin{example} Landscaping
+
+The source for this part of the document is:
+\begin{verbatim}
+\begin{landscape}
+\section{Landscaping}
+
+ \latex{} normally prints in portrait mode. The ...
+...
+... long, wide tables.
+\end{landscape}
+\end{verbatim}
+\end{example}
+
+ The environment starts by clearing the current page and then switches
+to portrait mode. At the end of the environment the current page is cleared
+and the next page is back to normal portrait mode.
+
+ All the other rotation commands and environments produce boxes and
+\latex{} will not break a box across a page. The \verb|landscape| environemt
+does not produce a box and so many pages can be printed in landscape mode
+with \latex{} taking care of the page breaking for you.
+
+ Landscape mode is not particularly useful for normal text as the
+lines are far too long for comfortable reading. Where it can be useful
+is where you have a table that is too wide to fit on a portrait page, so
+needs to be rotated, yet is also too long to fit on the page when it is
+rotated. The \file{supertabular}\ixpack{supertabular},
+the \file{longtable}\ixpack{longtable},
+and the \file{xtab}\ixpack{xtab}
+packages provide facilities for automatically breaking long tables across
+pages. Any of these can be used in conjunction with landscaping to both
+rotate and automatically page break long, wide tables.
+\end{landscape}
+
+
+%%%%%%%%%%%%%%
+%\end{document}
+%%%%%%%%%%%%%
+
+\bibliographystyle{alpha}
+\begin{thebibliography}{GMS94}
+
+\bibitem[GMS94]{goosens}
+Michel Goossens, Frank Mittelbach and Alexander Samarin.
+\newblock \textit{The LaTeX Companion}.
+\newblock Addison-Wesley Publishing Co. 1994.
+
+\bibitem[RB92]{rahtz}
+Sebastian Rahtz and Leonor Barroca.
+\newblock \textit{A style option for rotated objects in LaTeX}.
+\newblock TUGBoat, volume 13, number 2, pp 156--180, July 1992.
+
+\end{thebibliography}
+
+\end{document}
+
+\begin{references}
+\reference{LAMPORT, L.,}{LaTeX --- A Document Preparation System,}
+ {Addison-Wesley Publishing Co., 2nd edition, 1994.} \label{lamport}
+\reference{WILSON, P.R.,}{LaTeX files for typesetting ISO standards:
+ Source code,}
+ {NISTIR, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. June 1996.} \label{isoe}
+\reference{WILSON, P.R.,}{LaTeX package files for ISO~10303: User manual,}
+ {NISTIR, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. June 1996.} \label{stepsty}
+\reference{RAHTZ, S., and BARROCA, L.,}{A style option for rotated
+ objects in \latex,}{ TUGBoat, volume 13, number 2, pp 156--180,
+ July 1992.} \label{rahtz}
+\reference{GOOSSENS, M., MITTELBACH, F. and SAMARIN, A.,}{%
+ The LaTeX Companion,}
+ {Addison-Wesley Publishing Co., 1994.} \label{goosens}
+\reference{GOOSSENS, M., and RAHTZ, S.,}{%
+ The LaTeX Web Companion --- Integrating TeX, HTML and XML,}
+ {Addison-Wesley Publishing Co., 1999.} \label{lwebcom}
+\reference{CHEN, P. and HARRISON, M.A.,}{Index preparation and
+ processing,}{Software--Practice and Experience, 19(9):897--915,
+ September 1988.} \label{chen}
+\reference{KOPKA, H. and DALY, P.W.,}{A Guide to LaTeX,}
+ {Addison-Wesley Publishing Co., 1993.} \label{kopka}
+\reference{WALSH, N.,}{Making TeX Work,}{O'Reilly \& Associates, Inc.,
+ 103 Morris Street, Suite A, Sebastopol, CA 95472. 1994. } \label{walsh}
+\reference{ISO 8879:1986,}{Information processing ---
+ Text and office systems ---
+ Standard Generalized Markup Language (SGML).}{} \label{sgml}
+\reference{GOLDFARB, C.F.,}{The SGML Handbook,}
+ {Oxford University Press, 1990.} \label{goldfarb}
+\reference{BRYAN, M.,}{SGML --- An Author's Guide to the Standard Generalized
+ Markup Language,}{Addison-Wesley Publishing Co., 1988. } \label{bryan}
+\reference{PHILLIPS, L. and LUBELL, J.,}{An SGML Environment for STEP,}%
+ {NISTIR 5515, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. November 1994.} \label{pandl}
+\reference{WILSON, P. R.,}{LTX2X: A LaTeX to X Auto-tagger,}%
+ {NISTIR, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. June 1996.} \label{ltx2x}
+\reference{RESSLER, S.,}{The National PDES Testbed Mail Server User's Guide,}
+ {NSTIR 4508, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. January 1991.} \label{ressler}
+\reference{RINAUDOT, G.R.,}{STEP On Line Information Service (SOLIS),}
+ {NISTIR 5511, National Institute of Standards and Technology,
+ Gaithersburg, MD 20899. October 1994. } \label{rinaudot}
+\reference{KROL, E.,}{The Whole Internet --- User's Guide \& Catalog,}
+ {O'Reilly \& Associates, Inc.,
+ 103 Morris Street, Suite A, Sebastopol, CA 95472. 1993. } \label{krol}
+\reference{WILSON, P.R.,}{The hyphenat package,}%
+ {1999. (Available from CTAN)} \label{bib:hyphenat}
+\reference{WILSON, P.R.,}{The xtab package,}%
+ {1998. (Available from CTAN)} \label{bib:xtab}
+\end{references}
+
+
+
+\end{document}