____________
\begin{picture}(width,height)(x offset,y offset) . . picture commands . . \end{picture}The
picture
environment allows you to create just about any kind of
picture you want containing text, lines, arrows and circles. You tell
LaTeX where to put things in the picture by specifying their
coordinates. A coordinate is a number that may have a decimal point and
a minus sign -- a number like 5
, 2.3
or -3.1416
. A coordinate
specifies a length in multiples of the unit length \unitlength
, so if
\unitlength
has been set to 1cm
, then the coordinate 2.54 specifies
a length of 2.54 centimetres. You can change the value of \unitlength
anywhere you want, using the \setlength
command, but strange things
will happen if you try changing it inside the picture environment.
A position is a pair of coordinates, such as (2.4,-5)
, specifying the
point with x-coordinate 2.4
and y-coordinate -5
. Coordinates are
specified in the usual way with respect to an origin, which is normally
at the lower-left corner of the picture. Note that when a position
appears as an argument, it is not enclosed in braces; the parentheses
serve to delimit the argument.
The picture
environment has one mandatory argument, which is a
position. It specifies the size of the picture. The environment
produces a rectangular box with width and height determined by this
argument's x- and y-coordinates.
The picture
environment also has an optional
position argument,
following the size argument, that can change the origin. (Unlike
ordinary optional arguments, this argument is not contained in square
brackets.) The optional argument gives the coordinates of the point at
the lower-left corner of the picture (thereby determining the origin).
For example, if \unitlength
has been set to 1mm
, the command
\begin{picture}(100,200)(10,20) produces a picture of width 100
millimetres and height 200 millimetres, whose lower-left corner is the
point (10,20) and whose upper-right corner is therefore the point
(110,220). When you first draw a picture, you will omit the optional
argument, leaving the origin at the lower-left corner. If you then want
to modify your picture by shifting everything, you just add the
appropriate optional argument.
The environment's mandatory argument determines the nominal size of the picture. This need bear no relation to how large the picture really is; LaTeX will happily allow you to put things outside the picture, or even off the page. The picture's nominal size is used by LaTeX in determining how much room to leave for it.
Everything that appears in a picture is drawn by the \put
command. The
command
\put (11.3,-.3){...}
puts the object specified by ...
in the
picture, with its reference point at coordinates (11.3,-.3). The
reference points for various objects will be described below.
The \put
command creates an "LR box". You can put anything in the
text argument of the \put
command that you'd put into the argument of
an \mbox
and related commands. When you do this, the reference point
will be the lower left corner of the box.
\circle[*]{diameter}
\circle
command produces a circle with a diameter
as close to the specified one as possible. If the *
-form
of the command is used, LaTeX draws a solid circle.
Note that only circles up to 40 pt can be drawn.
\dashbox{dash_length}(width,height){...}
\dashbox
has an extra argument which specifies the width of each
dash. A dashed box looks best when the width and height are
multiples of the dash_length.
\frame{...}
\frame
command puts a rectangular frame around the object
specified in the argument. The reference point is the bottom left
corner of the frame. No extra space is put between the frame and the
object.
\framebox(width,height)[position]{...}
\framebox
command is exactly the same as the \makebox
command,
except that it puts a frame around the outside of the box that it
creates.
The framebox
command produces a rule of thickness \fboxrule
, and
leaves a space \fboxsep
between the rule and the contents of the box.
\line(x slope,y slope){length}
\line
command draws a line of the specified
length and slope.
Note that LaTeX can only draw lines with slope = x/y, where x and y have integer values from -6 through 6.
\linethickness{dimension}
\oval
to form the corners of an oval.
\makebox(width,height)[position]{...}
\makebox
command for the picture environment is similar to the
normal \makebox
command except that you must specify a
width and
height in multiples of \unitlength
.
The optional argument, [position], specifies the quadrant that your
text appears in. You may select up to two of the following:
* t
- Moves the item to the top of the rectangle
* b
- Moves the item to the bottom
* l
- Moves the item to the left
* r
- Moves the item to the right
*Note \makebox::.
\multiput(x coord,y coord)(delta x,delta y){number of copies}{object}
\multiput
command can be used when you are putting the same object
in a regular pattern across a picture.
\oval(width,height)[portion]
\oval
command produces a rectangle with rounded corners. The
optional argument, [portion], allows you to select part of the oval.
* t
- Selects the top portion
* b
- Selects the bottom portion
* r
- Selects the right portion
* l
- Selects the left portion
\put(x coord,y coord){ ... }
\put
command places the item specified by the mandatory argument
at the given coordinates.
\shortstack[position]{... \\ ... \\ ...}
\shortstack
command produces a stack of objects. The valid
positions are:
* r
- Moves the objects to the right of the stack
* l
- Moves the objects to the left of the stack
* c
- Moves the objects to the centre of the stack (default)
\vector(x slope,y slope){length}
\vector
command draws a line with an arrow of the specified length
and slope. The x and y values must lie between -4 and +4,
inclusive.