From 007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Jan 2006 00:49:07 +0000 Subject: doc/latex git-svn-id: svn://tug.org/texlive/trunk@84 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/isorot/README | 28 + Master/texmf-dist/doc/latex/isorot/rotman.pdf | Bin 0 -> 168935 bytes Master/texmf-dist/doc/latex/isorot/rotman.tex | 897 ++++++++++++++++++++++++++ 3 files changed, 925 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/isorot/README create mode 100644 Master/texmf-dist/doc/latex/isorot/rotman.pdf create mode 100644 Master/texmf-dist/doc/latex/isorot/rotman.tex (limited to 'Master/texmf-dist/doc/latex/isorot') diff --git a/Master/texmf-dist/doc/latex/isorot/README b/Master/texmf-dist/doc/latex/isorot/README new file mode 100644 index 00000000000..36ef2e23cd0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isorot/README @@ -0,0 +1,28 @@ + The isorot package is for rotation of document elements. It is a +combination of the lscape package and an extension of the rotating package. +It is designed for use with the iso class but can be used with any +`normal' class. The package requires the lscape and graphicx packages +to be available. + + The distribution is released under the LPPL and consists of the +following files: +README (this file) +isorot.ins +isorot.dtx +rotman.tex +rotman.pdf + + To install the package: +o run: latex isorot.ins (which will generate isorot.sty) +o Either latex rotman.tex or print rotman.pdf for the User Manual +o Move isorot.sty to a location where LaTeX will find it. +o For a copy of the commented code: + o run: latex isorot.dtx + o run: makeindex -s gind.ist isorot + o run: latex isorot.dtx + o Print isorot.dvi for a hardcopy of the commented code + + +2000/02/15 +Peter Wilson +peter.r.wilson@boeing.com diff --git a/Master/texmf-dist/doc/latex/isorot/rotman.pdf b/Master/texmf-dist/doc/latex/isorot/rotman.pdf new file mode 100644 index 00000000000..03ba0287191 Binary files /dev/null and b/Master/texmf-dist/doc/latex/isorot/rotman.pdf differ diff --git a/Master/texmf-dist/doc/latex/isorot/rotman.tex b/Master/texmf-dist/doc/latex/isorot/rotman.tex new file mode 100644 index 00000000000..6d2fe22d1a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/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{}| & +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{}|,\ixcom{rotdriver} where +\verb|| 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{}| & +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} -- cgit v1.2.3