From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex-dev/required/graphics/rotex.tex | 500 +++++++++++++++++++++++++++ 1 file changed, 500 insertions(+) create mode 100644 macros/latex-dev/required/graphics/rotex.tex (limited to 'macros/latex-dev/required/graphics/rotex.tex') diff --git a/macros/latex-dev/required/graphics/rotex.tex b/macros/latex-dev/required/graphics/rotex.tex new file mode 100644 index 0000000000..9dabfd37f7 --- /dev/null +++ b/macros/latex-dev/required/graphics/rotex.tex @@ -0,0 +1,500 @@ +\errorcontextlines32 +\documentclass[twoside]{report} +\usepackage[chatter]{rotating} +\usepackage{fancyvrb} +\makeatletter +\newsavebox{\@display} +\newcommand\@@Display[1]{% + \sbox\@display{% + \begin{minipage}[b]{.45\textwidth}% + #1\end{minipage}% + }\raisebox{\depth}{\usebox{\@display}}% +} + +\newcommand\@@VDisplay[1]{% + \sbox\@display{% + \begin{minipage}[b]{.45\textwidth}% + \BVerbatimInput[fontsize=\small]{#1}% + \end{minipage}}% + \usebox{\@display}% +} +\newcommand\SideBySide[2]{% +\bgroup\def\baselinestretch{1}% + \trivlist\item[]% + \leavevmode + \makebox[\textwidth][l]{\@@Display{#1}\hspace{1em}% + \@@VDisplay{#2}}% + \endtrivlist + \egroup +} +\newcommand\BeginExample{% + \nobreak + \VerbatimEnvironment + \catcode`\<=12 + \begin{VerbatimOut}{\jobname.ex}% +} +\newcommand{\EndExample}{\end{VerbatimOut}} + +\newenvironment{example} + {\nobreak + \VerbatimEnvironment + \catcode`\<=12 + \begin{VerbatimOut}{\jobname.ex}% + } + {\end{VerbatimOut} + \SideBySide {\input{\jobname.ex}}% + {\jobname.ex}} +\makeatother +%------------------------------------------------------- +\def\degrees{{\small$^{\mathrm{o}}$}} +%------------------------------------------------------- + +\begin{document} + +\title{Test of `rotating' package} +\author{Sebastian Rahtz and Leonor Barroca\thanks{Now maintained as part of the \LaTeX\ graphics bundle.}} +\date{November 19th 1994\thanks{Updated for graphics bundle 2016/05/22}} +\maketitle + +`Rotating' provides a generalised rotation environment, where the text +will be rotated (anti-clockwise) by the number of degrees specified as +a parameter to the environment, but no special arrangement is made to +find space for the result. + +\begin{example} +Start here +\begin{rotate}{-56} +Save whales +\end{rotate} +End here +\end{example} + +A complete example of rotating text without leaving space +would the `Save the whale' text +written at 10 degree intervals round the compass. We use +`rlap' to ensure that all the texts are printed at the same point. +Just to show that \TeX\ can handle PostScript muckings-about +properly\ldots +\begin{example} +\newcount\wang +\newsavebox{\wangtext} +\newdimen\wangspace +\def\wheel#1{\savebox{\wangtext}{#1}% +\wangspace\wd\wangtext +\advance\wangspace by 1cm% +\centerline{% +\rule{0pt}{\wangspace}% +\rule[-\wangspace]{0pt}{\wangspace}% +\wang=-180\loop\ifnum\wang<180 +\rlap{\begin{rotate}{\the\wang}% +\rule{1cm}{0pt}#1\end{rotate}}% +\advance\wang by 10\repeat}} +\wheel{Save the whale} +\end{example} + +If the user +desires \LaTeX\ to leave space for the rotated box, then `turn' is used: +\begin{example} + Start here \begin{turn}{56}% + Save the whale + \end{turn} end here +\end{example} +The environment `Sideways' is a special case, setting the rotation to $-90$, +and leaving the correct space for the rotated box. +\begin{example} +Start here +\begin{sideways}% +Save the whale +\end{sideways} +End here +\end{example} + +If you deal with whole paragraphs of text, you realize that \TeX\ +boxes are not as simple as they sometimes look: they have a height +{\em and} a depth. So when you rotate, you rotate about the point on +the left-hand edge of the box that meets the baseline. The results can +be unexpected, as shown in the full set of paragraph rotations in +Figures \ref{angles1} and \ref{angles2}. If you really want to turn a +paragraph so that it appears to rotate about the {\em real} bottom of +the \TeX\ box, +you have to adjust the box in the normal \LaTeX\ way: +\begin{example} +\newsavebox{\foo} +\savebox{\foo}{\parbox{1in}{Save +the whales Save the whale +Save the whale +Save the whale}}% +Start +\begin{turn}{45}\usebox{\foo}\end{turn} +End +\end{example} +\begin{example} +\savebox{\foo}{\parbox[b]{1in}{Save +the whales Save the whale +Save the whale +Save the whale}}% +Start +\begin{turn}{45}\usebox{\foo}\end{turn} +End +\end{example} + +\def\testrot#1{% +\savebox{\foo}{\parbox{1in}{Save +the whales Save the whale Save the whale Save the whale}}% +\framebox{---\begin{turn}{#1}\framebox{\usebox{\foo}}\end{turn}---}}% + +\begin{figure*} +\begin{tabular}{|c|c|c|} +\hline +\testrot{0} &\testrot{-40}&\testrot{-80}\\ +0\degrees & -40\degrees & -80\degrees \\ +\hline +\testrot{-120}&\testrot{-160}&\testrot{-200}\\ +120\degrees & -160\degrees & -200\degrees \\ +\hline +\testrot{-240}&\testrot{-280}&\testrot{-320}\\ +-240\degrees & -280\degrees & -320\degrees \\ +\hline +\end{tabular} +\caption{Rotation of paragraphs between 0 and -320 degrees \label{angles1}} +\end{figure*} + +\begin{figure*} +\begin{tabular}{|c|c|c|} +\hline +\testrot{-180} &\testrot{40}&\testrot{80}\\ +-180\degrees & 40\degrees & 80\degrees \\ +\hline +\testrot{120}&\testrot{160}&\testrot{200}\\ +120\degrees & 160\degrees & 200\degrees \\ +\hline +\testrot{240}&\testrot{280}&\testrot{320}\\ +240\degrees & 280\degrees & 320\degrees \\ +\hline +\end{tabular} +\caption{Rotation of paragraphs between 0 and 320 degrees\label{angles2}} +\end{figure*} + + +We can set tabular material in this way; at the same time, we +demonstrate that the rotation can be nested: +\begin{example} +\begin{sideways} +\rule{1in}{0pt} +\begin{tabular}{|lr|} +\em Word & \begin{rotate}{90}% +Occurrences\end{rotate} +\\ +\hline +hello & 33\\ +goodbye & 34\\ +\hline +\end{tabular} +\end{sideways} +\end{example} + +\begin{example} +\begin{quote} +\rule{0pt}{1.5in}\begin{tabular}{rrr} +\begin{rotate}{45}Column 1\end{rotate}& +\begin{rotate}{45}Column 2\end{rotate}& +\begin{rotate}{45}Column 3\end{rotate}\\ +\hline +1& 2& 3\\ +4& 5& 6\\ +7& 8& 9\\ +\hline +\end{tabular} +\end{quote} +\end{example} + +\begin{example} +\begin{quote} +\begin{tabular}{rrr} +\begin{turn}{45}Column 1\end{turn}& +\begin{turn}{45}Column 2\end{turn}& +\begin{turn}{45}Column 3\end{turn}\\ +\hline +1& 2& 3\\ +4& 5& 6\\ +7& 8& 9\\ +\hline +\end{tabular} +\end{quote} +\end{example} + +\begin{example} +\begin{quote} +\rule{0pt}{1.5in}\begin{tabular}{rrr} +\begin{rotate}{45}Column 1\end{rotate} +\rule{.5cm}{0pt}& +\begin{rotate}{45}Column 2\end{rotate} +\rule{.5cm}{0pt}& +\begin{rotate}{45}Column 3\end{rotate} +\rule{.5cm}{0pt}\\ +\hline +1& 2& 3\\ +4& 5& 6\\ +7& 8& 9\\ +\hline +\end{tabular} +\end{quote} +\end{example} + +\begin{example} +\begin{sideways} +\begin{tabular}{|l|c|c|c|c|c|p{1in}|} +\hline +&&\multicolumn{4}{c}{NUMBER OF SITES}\vline &ACCEPT or\\ +\cline{3-6} &STUDY AREA&&\multicolumn{3}{c}{% +IN BOUNDARY ZONE}\vline&REJECT\\ +\cline{4-6}&&&&\multicolumn{2}{c}{EXPECTED} +\vline&NULL\\ +\cline{5-6}&&TOT&OBS&FROM&TO&HYPOTH\\ +\cline{2-7} +&FULL SAMPLE&41&31&10.3&27.0&REJECT\\ +&SAMPLE AREA 1&23&16&4.3&16.7&ACCEPT\\ +&SAMPLE AREA 2&18&15&2.8&13.7&REJECT\\ +&RUSHEN&13&9&1.2&10.4&ACCEPT\\ +&ARBORY&10&7&0.6&8.8&ACCEPT\\ +&MAROWN&10&8&0.4&8.6&ACCEPT\\ +\rule{0.5cm}{0pt} +\begin{rotate}{90}PRIMARY UNITS% +\end{rotate}\rule{0.5cm}{0pt} +&SANTON&8&7&0.0&7.3&ACCEPT\\ +\hline +\end{tabular} +\end{sideways} +\end{example} + +If you are interested in setting rotated material in tables or +figures, this presents no problem. Figure \ref{fig1} shows how +PostScript files which are being incorporated using can be +rotated at will, while Figure \ref{fig2} shows, in contrast, how +`includegraphics' itself handles rotation. It is also possible to rotate the +whole of the figure environment, including caption, +by using the `sidewaysfigure' ands `sidewaystable' environments +in place of `figure' and `table'. + +Sideways figures and tables always take up the whole page. They can be +rotated so that the bottom ot the figures is on the left or the right; +the default is to always turn to the right. If the `twoside' option +has been given to the main document class, this package then starts +rotating sideways figures according to the page number (this requires +two passes through \LaTeX{} at least). If you want the `twoside' +option, but want the figures always in one direction, use the +`figuresright' or `riguresleft' options to `rotating'. + +The code used to produce figures +\ref{rotfloat1}--\ref{rotfloat4} is as follows: +\begin{description} + +\item[Figure \ref{rotfloat1}] +{\small\begin{verbatim} +\begin{sidewaystable} +\centering +\caption{This is a narrow table, which should be centred vertically +on the final page.\label{rotfloat1}} + \begin{tabular}{|ll|} +\hline + a & b \\ + c & d \\ + e & f \\ + g & h \\ + i & j \\ +\hline + \end{tabular} +\end{sidewaystable} +\end{verbatim} +} + +\item[Figure \ref{rotfloat2}] +{\scriptsize\begin{verbatim} +\begin{sidewaystable} +\centering +\begin{tabular}{|llllllllp{1in}lp{1in}|} +\hline +Context &Length &Breadth/ &Depth &Profile &Pottery &Flint &Animal &Stone &Other &C14 Dates \\ + & &Diameter & & & & & +Bones&&&\\ +\hline +&&&&&&&&&&\\ +\multicolumn{10}{|l}{\bf Grooved Ware}&\\ +784 &--- &0.9m &0.18m &Sloping U &P1 &$\times$46 & $\times$8 && $\times$2 bone& 2150$\pm$ 100 BC\\ +785 &--- &1.00m &0.12 &Sloping U &P2--4 &$\times$23 & $\times$21 & Hammerstone &---&---\\ +962 &--- &1.37m &0.20m &Sloping U &P5--6 &$\times$48 & $\times$57* & ---& ---&1990 $\pm$ 80 BC (Layer 4) 1870 $\pm$90 BC (Layer 1)\\ +983 &0.83m &0.73m &0.25m &Stepped U &--- &$\times$18 & $\times$8 & ---& Fired clay&---\\ +&&&&&&&&&&\\ +\multicolumn{10}{|l}{\bf Beaker}&\\ +552 &--- &0.68m &0.12m &Saucer &P7--14 &--- & --- & --- &--- &---\\ +790 &--- &0.60m &0.25m &U &P15 &$\times$12 & --- & Quartzite-lump&--- &---\\ +794 &2.89m &0.75m &0.25m &Irreg. &P16 &$\times$3 & --- & --- &--- &---\\ +\hline +\end{tabular} + +\caption[Grooved Ware and Beaker Features, their Finds and +Radiocarbon Dates]{Grooved Ware and Beaker Features, their +Finds and Radiocarbon Dates; For a breakdown of the Pottery +Assemblages see Tables I and III; for +the Flints see Tables II and IV; for the +Animal Bones see Table V.}\label{rotfloat2} +\end{sidewaystable} +\end{verbatim} +} + +\item[Figure \ref{rotfloat3}] +{\small\begin{verbatim} +\begin{table} +\centering +\rotcaption{Minimum number of individuals; effect of rotating table +and caption separately}\label{rotfloat3}% +\begin{sideways} +\begin{tabular}[b]{cccccccccp{1cm}} +\hline +Phase&Total&Cattle&Sheep&Pig&Red Deer&Horse&Dog&Goat&Other\\ +\hline +&1121&54&12&32&1&1&1&1&1 polecat\\ +3&8255&58&6&35&1&1&1&1&1 roe deer, 1 hare, 1 cat, 1 otter\\ +4&543&45&6&45&4&1&1&---&---\\ +\hline +&9919&157&24&112&6&3&3&2&5\\ +\hline +\end{tabular} +\end{sideways} +\end{table} +\end{verbatim} +} + +\item[Figure \ref{rotfloat4}] +{\small\begin{verbatim} +\begin{sidewaysfigure} + \centering + \includegraphics[width=.8\textheight,height=.4\textwidth]{cat} +\caption{A pathetically squashed rotated pussycat}\label{rotfloat4} +\end{sidewaysfigure} +\end{verbatim} +} +\end{description} + +\begin{figure} +\begin{example} +---\begin{turn}{156} +\includegraphics[width=1in]{cat} +\end{turn}--- +\end{example} + +\begin{example} +---\begin{sideways} +\includegraphics[width=1in]{cat} +\end{sideways}--- +\end{example} + +\begin{example} +---\includegraphics[width=1in]{cat}--- +\end{example} +\caption{A normal, and sideways, pictures within a figure\label{fig1}} +\end{figure} + +\begin{figure} +\begin{example} +\includegraphics[width=1in,% +angle=-56]{cat} +\end{example} + +\caption{Figures rotated with `includegraphics'\label{fig2}} +\end{figure} +\begin{sidewaystable} +\centering +\caption{This is a narrow table, which should be centred vertically +on the final page.\label{rotfloat1}} + \begin{tabular}{|ll|} +\hline + a & b \\ + c & d \\ + e & f \\ + g & h \\ + i & j \\ +\hline + \end{tabular} +\end{sidewaystable} + + + +\begin{sidewaystable} +\centering +\begin{tabular}{|llllllllp{1in}lp{1in}|} +\hline +Context &Length &Breadth/ &Depth &Profile &Pottery &Flint &Animal &Stone &Other &C14 Dates \\ + & &Diameter & & & & & +Bones&&&\\ +\hline +&&&&&&&&&&\\ +\multicolumn{10}{|l}{\bf Grooved Ware}&\\ +784 &--- &0.9m &0.18m &Sloping U &P1 &$\times$46 & $\times$8 && $\times$2 bone& 2150$\pm$ 100 BC\\ +785 &--- &1.00m &0.12 &Sloping U &P2--4 &$\times$23 & $\times$21 & Hammerstone &---&---\\ +962 &--- &1.37m &0.20m &Sloping U &P5--6 &$\times$48 & $\times$57* & ---& ---&1990 $\pm$ 80 BC (Layer 4) 1870 $\pm$90 BC (Layer 1)\\ +983 &0.83m &0.73m &0.25m &Stepped U &--- &$\times$18 & $\times$8 & ---& Fired clay&---\\ +&&&&&&&&&&\\ +\multicolumn{10}{|l}{\bf Beaker}&\\ +552 &--- &0.68m &0.12m &Saucer &P7--14 &--- & --- & --- &--- &---\\ +790 &--- &0.60m &0.25m &U &P15 &$\times$12 & --- & Quartzite-lump&--- &---\\ +794 &2.89m &0.75m &0.25m &Irreg. &P16 &$\times$3 & --- & --- &--- &---\\ +\hline +\end{tabular} + +\caption[Grooved Ware and Beaker Features, their Finds and +Radiocarbon Dates]{Grooved Ware and Beaker Features, their +Finds and Radiocarbon Dates; For a breakdown of the Pottery +Assemblages see Tables I and III; for +the Flints see Tables II and IV; for the +Animal Bones see Table V.}\label{rotfloat2} +\end{sidewaystable} + +\begin{table} +\centering +\hbox{ +\rotcaption{Minimum number of individuals; effect of rotating table +and caption separately}\label{rotfloat3}% +\begin{sideways} +\begin{tabular}[t]{cccccccccp{1cm}} +\hline +Phase&Total&Cattle&Sheep&Pig&Red Deer&Horse&Dog&Goat&Other\\ +\hline +&1121&54&12&32&1&1&1&1&1 polecat\\ +3&8255&58&6&35&1&1&1&1&1 roe deer, 1 hare, 1 cat, 1 otter\\ +4&543&45&6&45&4&1&1&---&---\\ +\hline +&9919&157&24&112&6&3&3&2&5\\ +\hline +\end{tabular} +\end{sideways} +} +\end{table} + + +\begin{sidewaysfigure} + \centerline{\includegraphics[width=.8\textheight,height=.4\textwidth]{cat}} +\caption{A pathetically squashed rotated pussycat (1)} +\end{sidewaysfigure} + +\begin{sidewaysfigure} + \centerline{\includegraphics[width=.8\textheight,height=.4\textwidth]{cat}} +\caption{A pathetically squashed rotated pussycat (2)} +\end{sidewaysfigure} + +\begin{sidewaysfigure} + \centerline{\includegraphics[width=.8\textheight,height=.4\textwidth]{cat}} +\caption{A pathetically squashed rotated pussycat (3)} +\end{sidewaysfigure} + +\begin{sidewaysfigure} + \centerline{\includegraphics[width=.8\textheight,height=.4\textwidth]{cat}} +\caption{A pathetically squashed rotated pussycat (4)} +\end{sidewaysfigure} + +\begin{sidewaysfigure} + \centerline{\includegraphics[width=.8\textheight,height=.4\textwidth]{cat}} +\caption{A pathetically squashed rotated pussycat}\label{rotfloat4} +\end{sidewaysfigure} + +\end{document} -- cgit v1.2.3