\special
functionality.
Most DVI-to-PostScript translators allow you to do things like
use one \special
to start rotating TEX text and another
to stop the rotation.
The way interprets a DVI page makes this impossible.
All the rules, fonts and \special
s are collected in separate lists
for later processing, so any sequential connection between these
various page elements is lost.
However, assuming you have a PostScript printer, there is a way you can
rotate arbitrary TEX material using :
\nopagenumbers
in Plain TEX or \thispagestyle{empty}
in LATEX).
rotate.ps
.
rotate.ps
and make these changes:
rotate.ps
then
delete all lines from the top down to and including ``1 @bop0
''.
If standard PostScript printing was used to create rotate.ps
then
delete all lines from the top down to and including the line ending
with `` @setup
'' (note the space before the @
).
1 @bop1
'' with these lines:
0 0 transform % get \special location in device coords mtrx setmatrix % set TeX coords (units = dpi, res = 1in) itransform translate % make \special location the new origin res 2 mul % move right by 2in; adjust if necessary res -0.2 mul % move up by 0.2in; adjust if necessary translate % shift the origin -90 rotate % 90 degrees anticlockwiseIf standard PostScript printing was used, replace all lines from ``
end % OzTeXdict
'' to ``1 @bop1
'' with the above lines.
\special
command)
then remove the lines containing
``0 0 transform
'' and ``itransform translate
''
(but keep the ``mtrx setmatrix
'' line).
1 @eop
''.
\special{rotate.ps}
in the TEX file in which you want the
rotated material to appear. Leave an appropriate amount of
vertical space before the \special
.
translate
parameters in rotate.ps
(note that you don't need
to run TEX again).
rotate.tex
and table.tex
, which illustrate how this works.
The above method is not very practical if you have a lot of material that
needs to be rotated. In such a situation you should consider using a macro
package that generates \special
commands targeted for dvips;
see section