############################################################
Spaces & Boxes
############################################################

All the predefined length parameters See section Predefined
lengths can be used in the arguments of the box-making
commands.

Horizontal space

       \dotfill: Stretchable horizontal dots.
       \hfill: Stretchable horizontal space.
       \hrulefill: Stretchable horizontal rule.
       \hspace: Fixed horizontal space. Vertical space
       \addvspace: Fixed vertical space.
       \bigskip: Fixed vertical space.
       \medskip: Fixed vertical space.
       \smallskip: Fixed vertical space.
       \vfill: Stretchable vertical space.
       \vspace: Fixed vertical space. Boxes
       \fbox: Framebox.
       \framebox: Framebox, adjustable position.
       lrbox: An environment like \sbox.
       \makebox: Box, adjustable position.
       \mbox: Box.
       \newsavebox: Declare a name for saving a box.
       \parbox: Box with text in paragraph mode.
       \raisebox: Raise or lower text.
       \rule: Lines and squares.
       \savebox: Like \makebox, but save the text for later use.
       \sbox: Like \mbox, but save the text for later use.
       \usebox: Print saved text.

############################################################
       \dotfill ::dotfill::
############################################################
The \dotfill command produces a "rubber length" that produces
dots instead of just spaces.
############################################################
       \hfill ::hfill::
############################################################
The \hfill fill command produces a "rubber length" which can
stretch or shrink horizontally. It will be filled with spaces.
############################################################
       \hrulefill ::hrulefill::
############################################################
The \hrulefill fill command produces a "rubber length" which
can stretch or shrink horizontally. It will be filled with a
horizontal rule.
############################################################
       \hspace ::hspace::
############################################################
\hspace[*]{length}
The \hspace command adds horizontal space. The length of the
space can be expressed in any terms that LaTeX understands,
i.e., points, inches, etc. You can add negative as well as
positive space with an \hspace command. Adding negative space
is like backspacing.

LaTeX removes horizontal space that comes at the end of a
line. If you don't want LaTeX to remove this space, include
the optional * argument. Then the space is never removed.
############################################################
       \addvspace ::addvspace::
############################################################
\addvspace{length}
The \addvspace command normally adds a vertical space of
height length. However, if vertical space has already been
added to the same point in the output by a previous \addvspace
command, then this command will not add more space than
needed to make the natural length of the total vertical space
equal to length.
############################################################
       \bigskip ::bigskip::
############################################################
The \bigskip command is equivalent to \vspace{bigskipamount}
where bigskipamount is determined by the document class.
############################################################
       \medskip ::medskip::
############################################################
The \medskip command is equivalent to \vspace{medskipamount}
where medskipamount is determined by the document class.
############################################################
       \smallskip ::smallskip::
############################################################
\smallskip
The \smallskip command is equivalent to \vspace{smallskipamount}
where smallskipamount is determined by the document class.
############################################################
       \vfill ::vfill::
############################################################
The \vfill fill command produces a rubber length which can
stretch or shrink vertically.
############################################################
       \vspace ::vspace::
############################################################
\vspace[*]{length}
The \vspace command adds vertical space. The length of the
space can be expressed in any terms that LaTeX understands,
i.e., points, inches, etc. You can add negative as well as
positive space with an \vspace command.

LaTeX removes vertical space that comes at the end of a page.
If you don't want LaTeX to remove this space, include the
optional * argument. Then the space is never removed.
############################################################
       \fbox ::fbox::
############################################################
\fbox{text}
The \fbox command is exactly the same as the \mbox command,
except that it puts a frame around the outside of the box
that it creates.
############################################################
       \framebox ::framebox::
############################################################
\framebox[width][position]{text}
The \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.
############################################################
       lrbox ::lrbox::
############################################################
\begin{lrbox}{cmd} text \end{lrbox}
This is the environment form of \sbox.
The text inside the environment is saved in the box cmd,
which must have been declared with \newsavebox.
############################################################
       \makebox ::makebox::
############################################################
\makebox[width][position]{text}
The \makebox command creates a box just wide enough to contain
the text specified. The width of the box is specified by the
optional width argument. The position of the text within the
box is determined by the optional position argument.

       c -- centred (default)
       l -- flushleft
       r -- flushright
       s -- stretch from left to right margin. The text must
               contain stretchable space for this to work.

See section \makebox.
############################################################
       \mbox ::mbox::
############################################################
\mbox{text}
The \mbox command creates a box just wide enough to hold the
text created by its argument.
Use this command to prevent text from being split across lines.
############################################################
       \newsavebox ::newsavebox::
############################################################
\newsavebox{cmd}
Declares cmd, which must be a command name that is not already
defined, to be a bin for saving boxes.
############################################################
       \parbox ::parbox::
############################################################
\parbox[position][height][inner-pos]{width}{text}
A parbox is a box whose contents are created in paragraph
mode. The \parbox has two mandatory arguments:

       width - specifies the width of the parbox, and
       text - the text that goes inside the parbox.

LaTeX will position a parbox so its centre lines up with the
centre of the text line. The optional position argument allows
you to line up either the top or bottom line in the parbox
(default is top). If the height argument is not given, the
box will have the natural height of the text.

The inner-pos argument controls the placement of the text
inside the box. If it is not specified, position is used.

       t -- text is placed at the top of the box.
       c -- text is centred in the box.
       b -- text is placed at the bottom of the box.
       s -- stretch vertically. The text must contain
               vertically stretchable space for this to work.

A \parbox command is used for a parbox containing a small piece
of text, with nothing fancy inside. In particular, you shouldn't
use any of the paragraph-making environments inside a \parbox
argument. For larger pieces of text, including ones containing
a paragraph-making environment, you should use a minipage
environment
See section minipage.
############################################################
       \raisebox ::raisebox::
############################################################
\raisebox{distance}[extend-above][extend-below]{text}
The \raisebox command is used to raise or lower text. The
first mandatory argument specifies how high the text is to
be raised (or lowered if it is a negative amount). The text
itself is processed in LR mode.

Sometimes it's useful to make LaTeX think something has a
different size than it really does - or a different size
than LaTeX would normally think it has. The \raisebox
command lets you tell LaTeX how tall it is. The first
optional argument, extend-above, makes LaTeX think that the
text extends above the line by the amount specified. The
second optional argument, extend-below, makes LaTeX think
that the text extends below the line by the amount specified.
############################################################
       \rule ::rule::
############################################################
\rule[raise-height]{width}{thickness}
The \rule command is used to produce horizontal lines. The
arguments are defined as follows:

       raise-height - specifies how high to raise the rule
               (optional)
       width - specifies the length of the rule (mandatory)
       thickness - specifies the thickness of the rule
               (mandatory)

############################################################
       \savebox ::savebox::
############################################################
\savebox{cmd}[width][pos]{text}
This command typeset text in a box just as for \makebox.
However, instead of printing the resulting box, it saves it
in bin cmd, which must have been declared with \newsavebox.
############################################################
       \sbox ::sbox::
############################################################
\sbox{text}
This commands typeset text in a box just as for \mbox.
However, instead of printing the resulting box, it saves it
in bin cmd, which must have been declared with \newsavebox.
############################################################
       \usebox ::usebox::
############################################################
\usebox{cmd}
Prints the box most recently saved in bin cmd by a \savebox
command.