One of the surprises characteristic of TeX use is that you cannot change the width or height of the text within the document, simply by modifying the text size parameters; TeX can’t change the text width on the fly, and LaTeX only ever looks at text height when starting a new page.
So the simple rule is that the parameters should only be
changed in the preamble of the document, i.e., before the
\begin{document} statement (so before any typesetting has
happened.
To adjust text width within a document we define an environment:
\newenvironment{changemargin}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}{\end{list}}
The environment takes two arguments, and will indent the left and
right margins, respectively, by the parameters’ values. Negative
values will cause the margins to be narrowed, so
\begin{changemargin}{-1cm}{-1cm} narrows the left and right
margins by 1 centimetre.
Given that TeX can’t do this, how does it work? — well, the
environment (which is a close relation of the LaTeX
quote environment) doesn’t change the text width
as far as TeX is concerned: it merely moves text around inside the
width that TeX believes in.
The chngpage package provides ready-built commands to do the above; it includes provision for changing the shifts applied to your text according to whether you’re on an odd or an even page of a two-sided document. The package’s documentation (in the file itself) suggests a strategy for changing text dimensions between pages — as mentioned above, changing the text dimensions within the body of a page may lead to unpredictable results.
Changing the vertical dimensions of a page is clunkier still: the
LaTeX command \enlargethispage adjusts the size of the current
page by the size of its argument. Common uses are
\enlargethispage{\baselineskip}
to make the page one line longer, or
\enlargethispage{-\baselineskip}
to make the page one line shorter.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=chngmargonfly