\documentclass{article}

\usepackage{shortvrb}
\usepackage
[dvips]
{graphics}

\listfiles

\MakeShortVerb{\|}

\DeclareGraphicsExtensions{ps,eps,ps.gz}

\catcode`\<\active
\def<#1>{{\fboxsep0pt...\fbox{#1}...}}


\graphicspath{{aa/}}


\begin{document}

Many of the examples in this file are shown `<like this>'. The dots
and frame are not produced by the commands defined in |graphics.sty|.
They are added to show the extent of the box, and its position
relative to the baseline. Normally the text would appear `like this'.



Include |a.ps| specifying different sizes of bounding box.
The last three clip to the specified size.

%<\includegraphics{a}>
%%
%<\includegraphics[150,150][100,100]{a}>
%%
%<\includegraphics*[150,150][100,100]{a}>
%%
%<\includegraphics*[136,172][86,122]{a}>
%%
%<\includegraphics*[110,110][100,100]{a}>

<\includegraphics{a}>
%
<\includegraphics[100,100][150,150]{a}>
%
<\includegraphics[150,150]{a}>
%

<\includegraphics*[100,100][150,150]{a}>
%
<\includegraphics*[86,122][136,172]{a}>
%
<\includegraphics*[100,100][110,110]{a}>


A box.

<{ABCxyz}>\par

Rotate the box about the reference point using |\rotatebox|.

<\rotatebox{0}{ABCxyz 0}>\par
<\rotatebox{45}{ABCxyz 45}>
<\rotatebox{90}{ABCxyz 90}>
<\rotatebox{135}{ABCxyz 135}>
<\rotatebox{180}{ABCxyz 180}>\par
<\rotatebox{225}{ABCxyz 225}>
<\rotatebox{270}{ABCxyz 270}>
<\rotatebox{315}{ABCxyz 315}>
<\rotatebox{360}{ABCxyz 360}>\par


The kernel of the graphics package actually has the ability to rotate
about an arbitrary point in the box. The standard interface does not give
direct access to this functionality, so here we need to specify the
centre of rotation using the low level functions provided by the
package. Other interfaces will give user-level access to this
functionality. 

Rotate around the true centre of the box.  So just set the coordinates
of the centre of rotation, and the angle, then call |\Grot@box|.

\setbox0=\hbox{ABCxyz 180}

Note that the box is rotated `in place' unlike the effect with
|\rotatebox{180}| which produces a box that has height equal to the
depth of the original box, and vice versa.

\makeatletter
\Grot@x=0.5\wd0
\Grot@y=0.5\ht0 \advance\Grot@y -0.5\dp0

\def\Grot@angle{180}

<\Grot@box>

Similarly using the standard interface, angles are always specified
anti-clockwise, in degrees, however other interfaces may give more
alternatives, for example a small change sets up angles clockwise in
radians, and then |\rotatebox{1.5707963}| produces:
\def\Grot@setangle#1{%
  \dimen@#1\p@
  \dimen@-57.2968\dimen@
  \edef\Grot@angle{\strip@pt\dimen@}}

<\rotatebox{1.5707963}{ABCxyz $\pi/2$}>\par

<ABCxyz>%
<\scalebox{2}{ABCxyz}>%
<\scalebox{2}[5]{ABCxyz}>%

<\reflectbox{ABCxyz}>%
<\scalebox{-1}[1]{ABCxyz}>%
<\scalebox{1}[-1]{ABCxyz}>%
<\scalebox{2}[-2]{ABCxyz}>%

<\resizebox{!}{!}{ABCxyz}>
<\resizebox{.3in}{!}{ABCxyz}>

<\resizebox{!}{.3in}{ABCxyz}>
<\resizebox*{!}{.3in}{ABCxyz}>

<\resizebox{1in}{.3in}{ABCxyz}>
<\resizebox*{1in}{.3in}{ABCxyz}>

\end{document}
