diff --git a/Doc/lib/librandom.tex b/Doc/lib/librandom.tex
index ab4527f..66fda8d 100644
--- a/Doc/lib/librandom.tex
+++ b/Doc/lib/librandom.tex
@@ -9,66 +9,68 @@
 uniform and von Mises distributions are available.
 
 The module exports the following functions, which are exactly
-equivalent to those in the \code{whrandom} module: \code{choice},
-\code{randint}, \code{random}, \code{uniform}.  See the documentation
-for the \code{whrandom} module for these functions.
+equivalent to those in the \module{whrandom} module:
+\function{choice()}, \function{randint()}, \function{random()} and
+\function{uniform()}.  See the documentation for the \module{whrandom}
+module for these functions.
 
-The following functions specific to the \code{random} module are also
+The following functions specific to the \module{random} module are also
 defined, and all return real values.  Function parameters are named
 after the corresponding variables in the distribution's equation, as
 used in common mathematical practice; most of these equations can be
 found in any statistics text.
 
 \setindexsubitem{(in module random)}
-\begin{funcdesc}{betavariate}{alpha\, beta}
-Beta distribution.  Conditions on the parameters are \code{alpha>-1}
-and \code{beta>-1}.
+\begin{funcdesc}{betavariate}{alpha, beta}
+Beta distribution.  Conditions on the parameters are
+\code{\var{alpha}>-1} and \code{\var{beta}>-1}.
 Returned values will range between 0 and 1.
 \end{funcdesc}
 
-\begin{funcdesc}{cunifvariate}{mean\, arc}
+\begin{funcdesc}{cunifvariate}{mean, arc}
 Circular uniform distribution.  \var{mean} is the mean angle, and
 \var{arc} is the range of the distribution, centered around the mean
 angle.  Both values must be expressed in radians, and can range
 between 0 and \code{pi}.  Returned values will range between
-\code{mean - arc/2} and \code{mean + arc/2}.
+\code{\var{mean} - \var{arc}/2} and \code{\var{mean} + \var{arc}/2}.
 \end{funcdesc}
 
 \begin{funcdesc}{expovariate}{lambd}
-Exponential distribution.  \var{lambd} is 1.0 divided by the desired mean.
-(The parameter would be called ``lambda'', but that's also a reserved
-word in Python.)  Returned values will range from 0 to positive infinity.
+Exponential distribution.  \var{lambd} is 1.0 divided by the desired
+mean.  (The parameter would be called ``lambda'', but that is a
+reserved word in Python.)  Returned values will range from 0 to
+positive infinity.
 \end{funcdesc}
 
-\begin{funcdesc}{gamma}{alpha\, beta}
-Gamma distribution.  (\emph{Not} the gamma function!) 
-Conditions on the parameters are \code{alpha>-1} and \code{beta>0}.
+\begin{funcdesc}{gamma}{alpha, beta}
+Gamma distribution.  (\emph{Not} the gamma function!)  Conditions on
+the parameters are \code{\var{alpha}>-1} and \code{\var{beta}>0}.
 \end{funcdesc}
 
-\begin{funcdesc}{gauss}{mu\, sigma}
+\begin{funcdesc}{gauss}{mu, sigma}
 Gaussian distribution.  \var{mu} is the mean, and \var{sigma} is the
 standard deviation.  This is slightly faster than the
-\code{normalvariate} function defined below.
+\function{normalvariate()} function defined below.
 \end{funcdesc}
 
-\begin{funcdesc}{lognormvariate}{mu\, sigma}
+\begin{funcdesc}{lognormvariate}{mu, sigma}
 Log normal distribution.  If you take the natural logarithm of this
 distribution, you'll get a normal distribution with mean \var{mu} and
-standard deviation \var{sigma}  \var{mu} can have any value, and \var{sigma}
+standard deviation \var{sigma}.  \var{mu} can have any value, and \var{sigma}
 must be greater than zero.  
 \end{funcdesc}
 
-\begin{funcdesc}{normalvariate}{mu\, sigma}
+\begin{funcdesc}{normalvariate}{mu, sigma}
 Normal distribution.  \var{mu} is the mean, and \var{sigma} is the
 standard deviation.
 \end{funcdesc}
 
-\begin{funcdesc}{vonmisesvariate}{mu\, kappa}
+\begin{funcdesc}{vonmisesvariate}{mu, kappa}
 \var{mu} is the mean angle, expressed in radians between 0 and pi,
 and \var{kappa} is the concentration parameter, which must be greater
 then or equal to zero.  If \var{kappa} is equal to zero, this
 distribution reduces to a uniform random angle over the range 0 to
-\code{2*pi}.
+$2\pi$.
 \end{funcdesc}
 
 \begin{funcdesc}{paretovariate}{alpha}
@@ -76,7 +78,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{weibullvariate}{alpha, beta}
-Weibull distribution.  \var{alpha} is the scale parameter, and
+Weibull distribution.  \var{alpha} is the scale parameter and
 \var{beta} is the shape parameter.
 \end{funcdesc}
 
diff --git a/Doc/librandom.tex b/Doc/librandom.tex
index ab4527f..66fda8d 100644
--- a/Doc/librandom.tex
+++ b/Doc/librandom.tex
@@ -9,66 +9,68 @@
 uniform and von Mises distributions are available.
 
 The module exports the following functions, which are exactly
-equivalent to those in the \code{whrandom} module: \code{choice},
-\code{randint}, \code{random}, \code{uniform}.  See the documentation
-for the \code{whrandom} module for these functions.
+equivalent to those in the \module{whrandom} module:
+\function{choice()}, \function{randint()}, \function{random()} and
+\function{uniform()}.  See the documentation for the \module{whrandom}
+module for these functions.
 
-The following functions specific to the \code{random} module are also
+The following functions specific to the \module{random} module are also
 defined, and all return real values.  Function parameters are named
 after the corresponding variables in the distribution's equation, as
 used in common mathematical practice; most of these equations can be
 found in any statistics text.
 
 \setindexsubitem{(in module random)}
-\begin{funcdesc}{betavariate}{alpha\, beta}
-Beta distribution.  Conditions on the parameters are \code{alpha>-1}
-and \code{beta>-1}.
+\begin{funcdesc}{betavariate}{alpha, beta}
+Beta distribution.  Conditions on the parameters are
+\code{\var{alpha}>-1} and \code{\var{beta}>-1}.
 Returned values will range between 0 and 1.
 \end{funcdesc}
 
-\begin{funcdesc}{cunifvariate}{mean\, arc}
+\begin{funcdesc}{cunifvariate}{mean, arc}
 Circular uniform distribution.  \var{mean} is the mean angle, and
 \var{arc} is the range of the distribution, centered around the mean
 angle.  Both values must be expressed in radians, and can range
 between 0 and \code{pi}.  Returned values will range between
-\code{mean - arc/2} and \code{mean + arc/2}.
+\code{\var{mean} - \var{arc}/2} and \code{\var{mean} + \var{arc}/2}.
 \end{funcdesc}
 
 \begin{funcdesc}{expovariate}{lambd}
-Exponential distribution.  \var{lambd} is 1.0 divided by the desired mean.
-(The parameter would be called ``lambda'', but that's also a reserved
-word in Python.)  Returned values will range from 0 to positive infinity.
+Exponential distribution.  \var{lambd} is 1.0 divided by the desired
+mean.  (The parameter would be called ``lambda'', but that is a
+reserved word in Python.)  Returned values will range from 0 to
+positive infinity.
 \end{funcdesc}
 
-\begin{funcdesc}{gamma}{alpha\, beta}
-Gamma distribution.  (\emph{Not} the gamma function!) 
-Conditions on the parameters are \code{alpha>-1} and \code{beta>0}.
+\begin{funcdesc}{gamma}{alpha, beta}
+Gamma distribution.  (\emph{Not} the gamma function!)  Conditions on
+the parameters are \code{\var{alpha}>-1} and \code{\var{beta}>0}.
 \end{funcdesc}
 
-\begin{funcdesc}{gauss}{mu\, sigma}
+\begin{funcdesc}{gauss}{mu, sigma}
 Gaussian distribution.  \var{mu} is the mean, and \var{sigma} is the
 standard deviation.  This is slightly faster than the
-\code{normalvariate} function defined below.
+\function{normalvariate()} function defined below.
 \end{funcdesc}
 
-\begin{funcdesc}{lognormvariate}{mu\, sigma}
+\begin{funcdesc}{lognormvariate}{mu, sigma}
 Log normal distribution.  If you take the natural logarithm of this
 distribution, you'll get a normal distribution with mean \var{mu} and
-standard deviation \var{sigma}  \var{mu} can have any value, and \var{sigma}
+standard deviation \var{sigma}.  \var{mu} can have any value, and \var{sigma}
 must be greater than zero.  
 \end{funcdesc}
 
-\begin{funcdesc}{normalvariate}{mu\, sigma}
+\begin{funcdesc}{normalvariate}{mu, sigma}
 Normal distribution.  \var{mu} is the mean, and \var{sigma} is the
 standard deviation.
 \end{funcdesc}
 
-\begin{funcdesc}{vonmisesvariate}{mu\, kappa}
+\begin{funcdesc}{vonmisesvariate}{mu, kappa}
 \var{mu} is the mean angle, expressed in radians between 0 and pi,
 and \var{kappa} is the concentration parameter, which must be greater
 then or equal to zero.  If \var{kappa} is equal to zero, this
 distribution reduces to a uniform random angle over the range 0 to
-\code{2*pi}.
+$2\pi$.
 \end{funcdesc}
 
 \begin{funcdesc}{paretovariate}{alpha}
@@ -76,7 +78,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{weibullvariate}{alpha, beta}
-Weibull distribution.  \var{alpha} is the scale parameter, and
+Weibull distribution.  \var{alpha} is the scale parameter and
 \var{beta} is the shape parameter.
 \end{funcdesc}
 
