changeset 9051:1bf0ce0930be

Grammar check TexInfo in all .m files Cleanup documentation sources to follow a few consistent rules. Spellcheck was NOT done. (but will be in another changeset)
author Rik <rdrider0-list@yahoo.com>
date Fri, 27 Mar 2009 22:31:03 -0700
parents 656ad518f385
children 089bd295e4f7
files doc/interpreter/basics.txi scripts/elfun/lcm.m scripts/general/accumarray.m scripts/general/bicubic.m scripts/general/bitcmp.m scripts/general/bitget.m scripts/general/bitset.m scripts/general/circshift.m scripts/general/colon.m scripts/general/cplxpair.m scripts/general/cumtrapz.m scripts/general/dblquad.m scripts/general/del2.m scripts/general/diff.m scripts/general/display.m scripts/general/gradient.m scripts/general/idivide.m scripts/general/ind2sub.m scripts/general/interp1.m scripts/general/interp1q.m scripts/general/interp2.m scripts/general/interp3.m scripts/general/interpft.m scripts/general/interpn.m scripts/general/loadobj.m scripts/general/logspace.m scripts/general/mod.m scripts/general/nthroot.m scripts/general/polyarea.m scripts/general/quadgk.m scripts/general/quadl.m scripts/general/quadv.m scripts/general/rat.m scripts/general/runlength.m scripts/general/saveobj.m scripts/general/sub2ind.m scripts/general/subsindex.m scripts/general/trapz.m scripts/general/triplequad.m scripts/geometry/delaunay.m scripts/geometry/delaunay3.m scripts/geometry/delaunayn.m scripts/geometry/dsearch.m scripts/geometry/dsearchn.m scripts/geometry/inpolygon.m scripts/geometry/trimesh.m scripts/geometry/triplot.m scripts/geometry/tsearchn.m scripts/geometry/voronoi.m scripts/geometry/voronoin.m scripts/help/gen_doc_cache.m scripts/help/get_first_help_sentence.m scripts/image/autumn.m scripts/image/bone.m scripts/image/brighten.m scripts/image/contrast.m scripts/image/cool.m scripts/image/copper.m scripts/image/flag.m scripts/image/gmap40.m scripts/image/gray2ind.m scripts/image/hot.m scripts/image/image.m scripts/image/image_viewer.m scripts/image/imfinfo.m scripts/image/imshow.m scripts/image/imwrite.m scripts/image/jet.m scripts/image/prism.m scripts/image/rainbow.m scripts/image/spring.m scripts/image/summer.m scripts/image/winter.m scripts/io/dlmwrite.m scripts/linear-algebra/cond.m scripts/linear-algebra/condest.m scripts/linear-algebra/cross.m scripts/linear-algebra/dot.m scripts/linear-algebra/krylov.m scripts/linear-algebra/onenormest.m scripts/linear-algebra/rank.m scripts/linear-algebra/rref.m scripts/miscellaneous/bincoeff.m scripts/miscellaneous/bunzip2.m scripts/miscellaneous/bzip2.m scripts/miscellaneous/compare_versions.m scripts/miscellaneous/copyfile.m scripts/miscellaneous/debug.m scripts/miscellaneous/flops.m scripts/miscellaneous/getfield.m scripts/miscellaneous/gunzip.m scripts/miscellaneous/gzip.m scripts/miscellaneous/intwarning.m scripts/miscellaneous/license.m scripts/miscellaneous/ls.m scripts/miscellaneous/mkoctfile.m scripts/miscellaneous/namelengthmax.m scripts/miscellaneous/pack.m scripts/miscellaneous/perl.m scripts/miscellaneous/setfield.m scripts/miscellaneous/unpack.m scripts/miscellaneous/warning_ids.m scripts/miscellaneous/zip.m scripts/optimization/fsolve.m scripts/optimization/fzero.m scripts/optimization/glpk.m scripts/optimization/glpkmex.m scripts/optimization/lsqnonneg.m scripts/optimization/qp.m scripts/optimization/sqp.m scripts/pkg/pkg.m scripts/plot/contourc.m scripts/plot/contourf.m scripts/plot/cylinder.m scripts/plot/errorbar.m scripts/plot/fplot.m scripts/plot/plot.m scripts/plot/rose.m scripts/plot/slice.m scripts/plot/stem3.m scripts/plot/surface.m scripts/plot/surfl.m scripts/plot/surfnorm.m scripts/polynomial/compan.m scripts/polynomial/convn.m scripts/polynomial/mkpp.m scripts/polynomial/pchip.m scripts/polynomial/poly.m scripts/polynomial/polygcd.m scripts/polynomial/polyint.m scripts/polynomial/polyout.m scripts/polynomial/polyval.m scripts/polynomial/polyvalm.m scripts/polynomial/residue.m scripts/polynomial/roots.m scripts/polynomial/spline.m scripts/polynomial/unmkpp.m scripts/set/intersect.m scripts/set/ismember.m scripts/set/setdiff.m scripts/set/setxor.m scripts/signal/arch_fit.m scripts/signal/arma_rnd.m scripts/signal/bartlett.m scripts/signal/blackman.m scripts/signal/fftshift.m scripts/signal/filter2.m scripts/signal/hamming.m scripts/signal/hanning.m scripts/signal/rectangle_lw.m scripts/signal/triangle_lw.m scripts/signal/yulewalker.m scripts/sparse/colperm.m scripts/sparse/normest.m scripts/sparse/pcg.m scripts/sparse/pcr.m scripts/sparse/spalloc.m scripts/sparse/spaugment.m scripts/sparse/spconvert.m scripts/sparse/spdiags.m scripts/sparse/speye.m scripts/sparse/spfun.m scripts/sparse/sphcat.m scripts/sparse/spones.m scripts/sparse/sprand.m scripts/sparse/sprandn.m scripts/sparse/sprandsym.m scripts/sparse/spvcat.m scripts/sparse/spy.m scripts/sparse/svds.m scripts/sparse/treelayout.m scripts/sparse/treeplot.m scripts/specfun/bessel.m scripts/specfun/factor.m scripts/specfun/factorial.m scripts/specfun/legendre.m scripts/specfun/nchoosek.m scripts/specfun/perms.m scripts/specfun/reallog.m scripts/specfun/realpow.m scripts/specfun/realsqrt.m scripts/special-matrix/hadamard.m scripts/special-matrix/invhilb.m scripts/special-matrix/pascal.m scripts/statistics/base/histc.m scripts/statistics/base/iqr.m scripts/statistics/base/kendall.m scripts/statistics/base/kurtosis.m scripts/statistics/base/meansq.m scripts/statistics/base/median.m scripts/statistics/base/mode.m scripts/statistics/base/prctile.m scripts/statistics/base/quantile.m scripts/statistics/base/ranks.m scripts/statistics/base/run_count.m scripts/statistics/base/skewness.m scripts/statistics/base/std.m scripts/statistics/base/studentize.m scripts/statistics/distributions/discrete_rnd.m scripts/statistics/distributions/empirical_rnd.m scripts/statistics/distributions/exprnd.m scripts/statistics/distributions/geornd.m scripts/statistics/distributions/hygepdf.m scripts/statistics/distributions/hygernd.m scripts/statistics/distributions/kolmogorov_smirnov_cdf.m scripts/statistics/distributions/logistic_rnd.m scripts/statistics/distributions/lognrnd.m scripts/statistics/distributions/nbinrnd.m scripts/statistics/distributions/stdnormal_inv.m scripts/statistics/distributions/trnd.m scripts/statistics/distributions/wblrnd.m scripts/statistics/distributions/wienrnd.m scripts/statistics/models/logistic_regression.m scripts/statistics/tests/anova.m scripts/statistics/tests/cor_test.m scripts/statistics/tests/kolmogorov_smirnov_test.m scripts/statistics/tests/kruskal_wallis_test.m scripts/statistics/tests/manova.m scripts/strings/base2dec.m scripts/strings/bin2dec.m scripts/strings/dec2base.m scripts/strings/dec2bin.m scripts/strings/dec2hex.m scripts/strings/hex2dec.m scripts/strings/index.m scripts/strings/rindex.m scripts/strings/strcmpi.m scripts/strings/strncmpi.m scripts/strings/strrep.m scripts/strings/substr.m scripts/testfun/assert.m scripts/testfun/demo.m scripts/testfun/example.m scripts/testfun/fail.m scripts/testfun/speed.m scripts/testfun/test.m scripts/time/datestr.m scripts/time/datetick.m scripts/time/datevec.m scripts/time/etime.m
diffstat 240 files changed, 661 insertions(+), 509 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/basics.txi
+++ b/doc/interpreter/basics.txi
@@ -190,7 +190,7 @@
 @itemx --braindead
 @cindex @code{--traditional}
 @cindex @code{--braindead}
-For compatibility with @sc{Matlab}, set initial values for
+For compatibility with @sc{matlab}, set initial values for
 user preferences to the following values
 
 @example
--- a/scripts/elfun/lcm.m
+++ b/scripts/elfun/lcm.m
@@ -23,14 +23,14 @@
 ## the list of all the arguments.  For example,
 ##
 ## @example
-## lcm (a1, ..., ak)
+## lcm (a1, @dots{}, ak)
 ## @end example
 ##
 ## @noindent
 ## is the same as
 ##
 ## @example
-## lcm ([a1, ..., ak]).
+## lcm ([a1, @dots{}, ak]).
 ## @end example
 ##
 ## All elements must be the same size or scalar.
--- a/scripts/general/accumarray.m
+++ b/scripts/general/accumarray.m
@@ -22,25 +22,25 @@
 ## @deftypefnx {Function File} {} accumarray (@var{csubs}, @var{vals}, @dots{})
 ##
 ## Create an array by accumulating the elements of a vector into the
-## positions defined by their subscripts. The subscripts are defined by
-## the rows of the matrix @var{subs} and the values by @var{vals}. Each row
+## positions defined by their subscripts.  The subscripts are defined by
+## the rows of the matrix @var{subs} and the values by @var{vals}.  Each row
 ## of @var{subs} corresponds to one of the values in @var{vals}.
 ##
 ## The size of the matrix will be determined by the subscripts themselves.
-## However, if @var{sz} is defined it determines the matrix size. The length
+## However, if @var{sz} is defined it determines the matrix size.  The length
 ## of @var{sz} must correspond to the number of columns in @var{subs}.
 ##
 ## The default action of @code{accumarray} is to sum the elements with the
-## same subscripts. This behavior can be modified by defining the @var{fun}
-## function. This should be a function or function handle that accepts a 
-## column vector and returns a scalar. The result of the function should not
+## same subscripts.  This behavior can be modified by defining the @var{fun}
+## function.  This should be a function or function handle that accepts a 
+## column vector and returns a scalar.  The result of the function should not
 ## depend on the order of the subscripts.
 ##
 ## The elements of the returned array that have no subscripts associated with
-## them are set to zero. Defining @var{fillval} to some other value allows
+## them are set to zero.  Defining @var{fillval} to some other value allows
 ## these values to be defined.
 ##
-## By default @code{accumarray} returns a full matrix. If @var{issparse} is
+## By default @code{accumarray} returns a full matrix.  If @var{issparse} is
 ## logically true, then a sparse matrix is returned instead.
 ##
 ## An example of the use of @code{accumarray} is:
--- a/scripts/general/bicubic.m
+++ b/scripts/general/bicubic.m
@@ -17,11 +17,11 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{zi}=} bicubic (@var{x}, @var{y}, @var{z}, @var{xi}, @var{yi}, @var{extrapval})
+## @deftypefn {Function File} {@var{zi} =} bicubic (@var{x}, @var{y}, @var{z}, @var{xi}, @var{yi}, @var{extrapval})
 ##
 ## Return a matrix @var{zi} corresponding to the bicubic
 ## interpolations at @var{xi} and @var{yi} of the data supplied
-## as @var{x}, @var{y} and @var{z}. Points outside the grid are set
+## as @var{x}, @var{y} and @var{z}.  Points outside the grid are set
 ## to @var{extrapval}.
 ##
 ## See @url{http://wiki.woodpecker.org.cn/moin/Octave/Bicubic}
--- a/scripts/general/bitcmp.m
+++ b/scripts/general/bitcmp.m
@@ -22,12 +22,14 @@
 ## @var{k} is omitted @code{k = log2 (bitmax) + 1} is assumed.
 ##
 ## @example
+## @group
 ## bitcmp(7,4)
 ## @result{} 8
 ## dec2bin(11)
 ## @result{} 1011
 ## dec2bin(bitcmp(11, 6))
 ## @result{} 110100
+## @end group
 ## @end example
 ## @seealso{bitand, bitor, bitxor, bitset, bitget, bitcmp, bitshift, bitmax}
 ## @end deftypefn
--- a/scripts/general/bitget.m
+++ b/scripts/general/bitget.m
@@ -22,8 +22,10 @@
 ## the lowest significant bit is @var{n} = 1.
 ##
 ## @example
+## @group
 ## bitget (100, 8:-1:1)
 ## @result{} 0  1  1  0  0  1  0  0 
+## @end group
 ## @end example
 ## @seealso{bitand, bitor, bitxor, bitset, bitcmp, bitshift, bitmax}
 ## @end deftypefn
--- a/scripts/general/bitset.m
+++ b/scripts/general/bitset.m
@@ -24,8 +24,10 @@
 ## The lowest significant bit is: @var{n} = 1
 ##
 ## @example
+## @group
 ## dec2bin (bitset (10, 1))
 ## @result{} 1011
+## @end group
 ## @end example
 ## @seealso{bitand, bitor, bitxor, bitget, bitcmp, bitshift, bitmax}
 ## @end deftypefn
--- a/scripts/general/circshift.m
+++ b/scripts/general/circshift.m
@@ -18,9 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} circshift (@var{x}, @var{n})
-## Circularly shifts the values of the array @var{x}. @var{n} must be
+## Circularly shifts the values of the array @var{x}.  @var{n} must be
 ## a vector of integers no longer than the number of dimensions in 
-## @var{x}. The values of @var{n} can be either positive or negative,
+## @var{x}.  The values of @var{n} can be either positive or negative,
 ## which determines the direction in which the values or @var{x} are
 ## shifted.  If an element of @var{n} is zero, then the corresponding
 ## dimension of @var{x} will not be shifted.  For example
--- a/scripts/general/colon.m
+++ b/scripts/general/colon.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{r} =} colon (@var{a}, @var{b})
 ## @deftypefnx {Function File} {@var{r} =} colon (@var{a}, @var{b}, @var{c})
-## Method of a class to construct a range with the @code{:} operator. For
+## Method of a class to construct a range with the @code{:} operator.  For
 ## example.
 ##
 ## @example
--- a/scripts/general/cplxpair.m
+++ b/scripts/general/cplxpair.m
@@ -20,19 +20,19 @@
 ## @deftypefn {Function File} {} cplxpair (@var{z}, @var{tol}, @var{dim})
 ## Sort the numbers @var{z} into complex conjugate pairs ordered by 
 ## increasing real part.  With identical real parts, order by increasing
-## imaginary magnitude. Place the negative imaginary complex number
-## first within each pair. Place all the real numbers after all the 
+## imaginary magnitude.  Place the negative imaginary complex number
+## first within each pair.  Place all the real numbers after all the 
 ## complex pairs (those with @code{abs (imag (@var{z}) / @var{z}) < 
 ## @var{tol})}, where the default value of @var{tol} is @code{100 * 
 ## @var{eps}}.
 ##
 ## By default the complex pairs are sorted along the first non-singleton
-## dimension of @var{z}. If @var{dim} is specified, then the complex
+## dimension of @var{z}.  If @var{dim} is specified, then the complex
 ## pairs are sorted along this dimension.
 ##
-## Signal an error if some complex numbers could not be paired. Requires
+## Signal an error if some complex numbers could not be paired.  Requires
 ## all complex numbers to be exact conjugates within tol, or signals an 
-## error. Note that there are no guarantees on the order of the returned
+## error.  Note that there are no guarantees on the order of the returned
 ## pairs with identical real parts but differing imaginary parts.
 ##
 ## @c Using 'smallexample' to make text fit in page when using 'smallbook'
--- a/scripts/general/cumtrapz.m
+++ b/scripts/general/cumtrapz.m
@@ -23,8 +23,8 @@
 ## 
 ## Cumulative numerical integration using trapezoidal method.
 ## @code{cumtrapz (@var{y})} computes the cumulative integral of the 
-## @var{y} along the first non-singleton dimension. If the argument 
-## @var{x} is omitted a equally spaced vector is assumed. @code{cumtrapz 
+## @var{y} along the first non-singleton dimension.  If the argument 
+## @var{x} is omitted a equally spaced vector is assumed.  @code{cumtrapz 
 ## (@var{x}, @var{y})} evaluates the cumulative integral with respect 
 ## to @var{x}.
 ##  
--- a/scripts/general/dblquad.m
+++ b/scripts/general/dblquad.m
@@ -18,16 +18,16 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} dblquad (@var{f}, @var{xa}, @var{xb}, @var{ya}, @var{yb}, @var{tol}, @var{quadf}, @dots{})
-## Numerically evaluate a double integral. The function over with to
+## Numerically evaluate a double integral.  The function over with to
 ## integrate is defined by @code{@var{f}}, and the interval for the
 ## integration is defined by @code{[@var{xa}, @var{xb}, @var{ya},
-## @var{yb}]}. The function @var{f} must accept a vector @var{x} and a
+## @var{yb}]}.  The function @var{f} must accept a vector @var{x} and a
 ## scalar @var{y}, and return a vector of the same length as @var{x}. 
 ##
 ## If defined, @var{tol} defines the absolute tolerance to which to
 ## which to integrate each sub-integral.
 ##
-## Additional arguments, are passed directly to @var{f}. To use the default
+## Additional arguments, are passed directly to @var{f}.  To use the default
 ## value for @var{tol} one may pass an empty matrix.
 ## @seealso{triplequad, quad, quadv, quadl, quadgk, trapz}
 ## @end deftypefn
--- a/scripts/general/del2.m
+++ b/scripts/general/del2.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {@var{d} =} del2 (@var{m}, @var{h})
 ## @deftypefnx {Function File} {@var{d} =} del2 (@var{m}, @var{dx}, @var{dy}, @dots{})
 ##
-## Calculates the discrete Laplace operator. If @var{m} is a matrix this is
+## Calculates the discrete Laplace operator.  If @var{m} is a matrix this is
 ## defined as
 ##
 ## @iftex
@@ -44,14 +44,14 @@
 ## derivative over the higher dimensions.
 ##
 ## The spacing between evaluation points may be defined by @var{h}, which is a
-## scalar defining the spacing in all dimensions. Or alternatively, the spacing
+## scalar defining the spacing in all dimensions.  Or alternatively, the spacing
 ## in each dimension may be defined separately by @var{dx}, @var{dy}, etc. 
 ## Scalar spacing values give equidistant spacing, whereas vector spacing 
-## values can be used to specify variable spacing. The length of the vectors
-## must match the respective dimension of @var{m}. The default spacing value
+## values can be used to specify variable spacing.  The length of the vectors
+## must match the respective dimension of @var{m}.  The default spacing value
 ## is 1.
 ##
-## You need at least 3 data points for each dimension. Boundary points are
+## You need at least 3 data points for each dimension.  Boundary points are
 ## calculated as the linear extrapolation of the interior points.
 ##
 ## @seealso{gradient, diff}
--- a/scripts/general/diff.m
+++ b/scripts/general/diff.m
@@ -41,7 +41,7 @@
 ## non-singleton dimension.
 ##
 ## The dimension along which to take the difference can be explicitly
-## stated with the optional variable @var{dim}. In this case the 
+## stated with the optional variable @var{dim}.  In this case the 
 ## @var{k}-th order differences are calculated along this dimension.
 ## In the case where @var{k} exceeds @code{size (@var{x}, @var{dim})}
 ## then an empty matrix is returned.
--- a/scripts/general/display.m
+++ b/scripts/general/display.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} display (@var{a})
-## Display the contents of an object. If @var{a} is an object of the
+## Display the contents of an object.  If @var{a} is an object of the
 ## class "myclass", then @code{display} is called in a case like
 ##
 ## @example
--- a/scripts/general/gradient.m
+++ b/scripts/general/gradient.m
@@ -26,23 +26,23 @@
 ## @deftypefnx {Function File} {[@dots{}] =} gradient (@var{f}, @var{x0}, @var{x}, @var{y}, @dots{})
 ##
 ## Calculate the gradient of sampled data, or of a function.  If @var{m}
-## is a vector, calculate the one dimensional gradient of @var{m}. If
+## is a vector, calculate the one dimensional gradient of @var{m}.  If
 ## @var{m} is a matrix the gradient is calculated for each dimension.
 ##
 ## @code{[@var{dx}, @var{dy}] = gradient (@var{m})} calculates the one
 ## dimensional gradient for @var{x} and @var{y} direction if @var{m} is a
-## matrix. Additional return arguments can be use for multi-dimensional
+## matrix.  Additional return arguments can be use for multi-dimensional
 ## matrices.
 ##
 ## A constant spacing between two points can be provided by the
-## @var{s} parameter. If @var{s} is a scalar, it is assumed to be the spacing
+## @var{s} parameter.  If @var{s} is a scalar, it is assumed to be the spacing
 ## for all dimensions. 
 ## Otherwise, separate values of the spacing can be supplied by
-## the @var{x}, @dots{} arguments. Scalar values specify an equidistant spacing.
+## the @var{x}, @dots{} arguments.  Scalar values specify an equidistant spacing.
 ## Vector values for the @var{x}, @dots{} arguments specify the coordinate for that
-## dimension. The length must match their respective dimension of @var{m}.
+## dimension.  The length must match their respective dimension of @var{m}.
 ## 
-## At boundary points a linear extrapolation is applied. Interior points
+## At boundary points a linear extrapolation is applied.  Interior points
 ## are calculated with the first approximation of the numerical gradient
 ##
 ## @example
@@ -52,10 +52,10 @@
 ## If the first argument @var{f} is a function handle, the gradient of the
 ## function at the points in @var{x0} is approximated using central
 ## difference.  For example, @code{gradient (@@cos, 0)} approximates the
-## gradient of the cosine function in the point @math{x0 = 0}. As with
+## gradient of the cosine function in the point @math{x0 = 0}.  As with
 ## sampled data, the spacing values between the points from which the
 ## gradient is estimated can be set via the @var{s} or @var{dx},
-## @var{dy}, @dots{} arguments. By default a spacing of 1 is used.
+## @var{dy}, @dots{} arguments.  By default a spacing of 1 is used.
 ## @end deftypefn
 
 ## Author:  Kai Habel <kai.habel@gmx.de>
--- a/scripts/general/idivide.m
+++ b/scripts/general/idivide.m
@@ -46,6 +46,7 @@
 ## An example demonstrating these rounding rules is
 ##
 ## @example
+## @group
 ## idivide (int8 ([-3, 3]), int8 (4), "fix")
 ## @result{} int8 ([0, 0])
 ## idivide (int8 ([-3, 3]), int8 (4), "round")
@@ -54,6 +55,7 @@
 ## @result{} int8 ([0, 1])
 ## idivide (int8 ([-3, 3]), int8 (4), "floor")
 ## @result{} int8 ([-1, 0])
+## @end group
 ## @end example
 ##
 ## @seealso{ldivide, rdivide}
--- a/scripts/general/ind2sub.m
+++ b/scripts/general/ind2sub.m
@@ -24,9 +24,11 @@
 ## in a 3-by-3 matrix into a subscript.  The matrix is linearly indexed
 ## moving from one column to next, filling up all rows in each column.
 ## @example
+## @group
 ## [r, c] = ind2sub ([3, 3], 8)
 ## @result{} r =  2
 ## c =  3
+## @end group
 ## @end example
 ## @seealso{sub2ind}
 ## @end deftypefn
--- a/scripts/general/interp1.m
+++ b/scripts/general/interp1.m
@@ -22,9 +22,9 @@
 ## @deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, @var{extrap})
 ## @deftypefnx {Function File} {@var{pp} =} interp1 (@dots{}, 'pp')
 ##
-## One-dimensional interpolation. Interpolate @var{y}, defined at the
-## points @var{x}, at the points @var{xi}. The sample points @var{x} 
-## must be strictly monotonic. If @var{y} is an array, treat the columns
+## One-dimensional interpolation.  Interpolate @var{y}, defined at the
+## points @var{x}, at the points @var{xi}.  The sample points @var{x} 
+## must be strictly monotonic.  If @var{y} is an array, treat the columns
 ## of @var{y} separately.
 ##
 ## Method is one of:
@@ -45,8 +45,8 @@
 ##
 ## Appending '*' to the start of the above method forces @code{interp1}
 ## to assume that @var{x} is uniformly spaced, and only @code{@var{x}
-## (1)} and @code{@var{x} (2)} are referenced. This is usually faster,
-## and is never slower. The default method is 'linear'.
+## (1)} and @code{@var{x} (2)} are referenced.  This is usually faster,
+## and is never slower.  The default method is 'linear'.
 ##
 ## If @var{extrap} is the string 'extrap', then extrapolate values beyond
 ## the endpoints.  If @var{extrap} is a number, replace values beyond the
--- a/scripts/general/interp1q.m
+++ b/scripts/general/interp1q.m
@@ -20,9 +20,9 @@
 ## @deftypefn {Function File} {@var{yi} =} interp1q (@var{x}, @var{y}, @var{xi})
 ## One-dimensional linear interpolation without error checking.
 ## Interpolates @var{y}, defined at the points @var{x}, at the points
-## @var{xi}. The sample points @var{x} must be a strictly monotonically
-## increasing column vector. If @var{y} is an array, treat the columns
-## of @var{y} separately. If @var{y} is a vector, it must be a column
+## @var{xi}.  The sample points @var{x} must be a strictly monotonically
+## increasing column vector.  If @var{y} is an array, treat the columns
+## of @var{y} separately.  If @var{y} is a vector, it must be a column
 ## vector of the same length as @var{x}.
 ##
 ## Values of @var{xi} beyond the endpoints of the interpolation result
@@ -30,7 +30,7 @@
 ##
 ## Note that the error checking is only a significant portion of the
 ## execution time of this @code{interp1} if the size of the input arguments
-## is relatively small. Therefore, the benefit of using @code{interp1q}
+## is relatively small.  Therefore, the benefit of using @code{interp1q}
 ## is relatively small.
 ## @seealso{interp1}
 ## @end deftypefn
--- a/scripts/general/interp2.m
+++ b/scripts/general/interp2.m
@@ -18,16 +18,16 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{zi}=} interp2 (@var{x}, @var{y}, @var{z}, @var{xi}, @var{yi})
-## @deftypefnx {Function File} {@var{zi}=} interp2 (@var{Z}, @var{xi}, @var{yi})
-## @deftypefnx {Function File} {@var{zi}=} interp2 (@var{Z}, @var{n})
-## @deftypefnx {Function File} {@var{zi}=} interp2 (@dots{}, @var{method})
-## @deftypefnx {Function File} {@var{zi}=} interp2 (@dots{}, @var{method}, @var{extrapval})
+## @deftypefn {Function File} {@var{zi} =} interp2 (@var{x}, @var{y}, @var{z}, @var{xi}, @var{yi})
+## @deftypefnx {Function File} {@var{zi} =} interp2 (@var{Z}, @var{xi}, @var{yi})
+## @deftypefnx {Function File} {@var{zi} =} interp2 (@var{Z}, @var{n})
+## @deftypefnx {Function File} {@var{zi} =} interp2 (@dots{}, @var{method})
+## @deftypefnx {Function File} {@var{zi} =} interp2 (@dots{}, @var{method}, @var{extrapval})
 ##
-## Two-dimensional interpolation. @var{x}, @var{y} and @var{z} describe a
-## surface function. If @var{x} and @var{y} are vectors their length
-## must correspondent to the size of @var{z}. @var{x} and @var{y} must be
-## monotonic. If they are matrices they  must have the @code{meshgrid} 
+## Two-dimensional interpolation.  @var{x}, @var{y} and @var{z} describe a
+## surface function.  If @var{x} and @var{y} are vectors their length
+## must correspondent to the size of @var{z}.  @var{x} and @var{y} must be
+## monotonic.  If they are matrices they must have the @code{meshgrid} 
 ## format. 
 ##
 ## @table @code
@@ -36,20 +36,20 @@
 ## matrices @var{xi}, @var{yi}.  
 ##
 ## If the last argument is a string, the interpolation method can
-## be specified. The method can be 'linear', 'nearest' or 'cubic'.
-## If it is omitted 'linear' interpolation  is assumed.
+## be specified.  The method can be 'linear', 'nearest' or 'cubic'.
+## If it is omitted 'linear' interpolation is assumed.
 ##
-## @item  interp2 (@var{z}, @var{xi}, @var{yi})
+## @item interp2 (@var{z}, @var{xi}, @var{yi})
 ## Assumes @code{@var{x} = 1:rows (@var{z})} and @code{@var{y} = 
 ## 1:columns (@var{z})}
 ## 
 ## @item interp2 (@var{z}, @var{n}) 
-## Interleaves the matrix @var{z} n-times. If @var{n} is omitted a value
+## Interleaves the matrix @var{z} n-times.  If @var{n} is omitted a value
 ## of @code{@var{n} = 1} is assumed.
 ## @end table
 ##
 ## The variable @var{method} defines the method to use for the
-## interpolation. It can take one of the following values 
+## interpolation.  It can take one of the following values 
 ##
 ## @table @asis
 ## @item 'nearest'
@@ -66,8 +66,8 @@
 ## @end table
 ##
 ## If a scalar value @var{extrapval} is defined as the final value, then
-## values outside the mesh as set to this value. Note that in this case 
-## @var{method} must be defined as well. If @var{extrapval} is not
+## values outside the mesh as set to this value.  Note that in this case 
+## @var{method} must be defined as well.  If @var{extrapval} is not
 ## defined then NA is assumed. 
 ##
 ## @seealso{interp1}
--- a/scripts/general/interp3.m
+++ b/scripts/general/interp3.m
@@ -24,19 +24,19 @@
 ## @deftypefnx {Function File} {@var{vi} =} interp3 (@dots{}, @var{method})
 ## @deftypefnx {Function File} {@var{vi} =} interp3 (@dots{}, @var{method}, @var{extrapval})
 ##
-## Perform 3-dimensional interpolation. Each element of the 3-dimensional 
+## Perform 3-dimensional interpolation.  Each element of the 3-dimensional 
 ## array @var{v} represents a value at a location given by the parameters 
-## @var{x}, @var{y}, and @var{z}. The parameters @var{x}, @var{x}, and 
+## @var{x}, @var{y}, and @var{z}.  The parameters @var{x}, @var{x}, and 
 ## @var{z} are either 3-dimensional arrays of the same size as the array 
-## @var{v} in the 'meshgrid' format or vectors. The parameters @var{xi}, etc 
+## @var{v} in the 'meshgrid' format or vectors.  The parameters @var{xi}, etc 
 ## respect a similar format to @var{x}, etc, and they represent the points 
 ## at which the array @var{vi} is interpolated.
 ##
 ## If @var{x}, @var{y}, @var{z} are omitted, they are assumed to be 
 ## @code{x = 1 : size (@var{v}, 2)}, @code{y = 1 : size (@var{v}, 1)} and
-## @code{z = 1 : size (@var{v}, 3)}. If @var{m} is specified, then
+## @code{z = 1 : size (@var{v}, 3)}.  If @var{m} is specified, then
 ## the interpolation adds a point half way between each of the interpolation 
-## points. This process is performed @var{m} times. If only @var{v} is 
+## points.  This process is performed @var{m} times.  If only @var{v} is 
 ## specified, then @var{m} is assumed to be @code{1}.
 ##
 ## Method is one of:
--- a/scripts/general/interpft.m
+++ b/scripts/general/interpft.m
@@ -20,10 +20,10 @@
 ## @deftypefn {Function File} {} interpft (@var{x}, @var{n})
 ## @deftypefnx {Function File} {} interpft (@var{x}, @var{n}, @var{dim})
 ##
-## Fourier interpolation. If @var{x} is a vector, then @var{x} is
-## resampled with @var{n} points. The data in @var{x} is assumed to be
-## equispaced. If @var{x} is an array, then operate along each column of
-## the array separately. If @var{dim} is specified, then interpolate
+## Fourier interpolation.  If @var{x} is a vector, then @var{x} is
+## resampled with @var{n} points.  The data in @var{x} is assumed to be
+## equispaced.  If @var{x} is an array, then operate along each column of
+## the array separately.  If @var{dim} is specified, then interpolate
 ## along the dimension @var{dim}.
 ##
 ## @code{interpft} assumes that the interpolated function is periodic,
--- a/scripts/general/interpn.m
+++ b/scripts/general/interpn.m
@@ -29,14 +29,14 @@
 ## at a location given by the parameters @var{x1}, @var{x2}, @dots{}, @var{xn}. 
 ## The parameters @var{x1}, @var{x2}, @dots{}, @var{xn} are either 
 ## @var{n}-dimensional arrays of the same size as the array @var{v} in 
-## the 'ndgrid' format or vectors. The parameters @var{y1}, etc respect a 
+## the 'ndgrid' format or vectors.  The parameters @var{y1}, etc respect a 
 ## similar format to @var{x1}, etc, and they represent the points at which
 ## the array @var{vi} is interpolated.
 ##
 ## If @var{x1}, @dots{}, @var{xn} are omitted, they are assumed to be 
-## @code{x1 = 1 : size (@var{v}, 1)}, etc. If @var{m} is specified, then
+## @code{x1 = 1 : size (@var{v}, 1)}, etc.  If @var{m} is specified, then
 ## the interpolation adds a point half way between each of the interpolation 
-## points. This process is performed @var{m} times. If only @var{v} is 
+## points.  This process is performed @var{m} times.  If only @var{v} is 
 ## specified, then @var{m} is assumed to be @code{1}.
 ##
 ## Method is one of:
@@ -56,7 +56,7 @@
 ## The default method is 'linear'.
 ##
 ## If @var{extrapval} is the scalar value, use it to replace the values
-## beyond the endpoints with that number. If @var{extrapval} is missing,
+## beyond the endpoints with that number.  If @var{extrapval} is missing,
 ## assume NA.
 ## @seealso{interp1, interp2, spline, ndgrid}
 ## @end deftypefn
--- a/scripts/general/loadobj.m
+++ b/scripts/general/loadobj.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{b} =} loadobj (@var{a})
 ## Method of a class to manipulate an object after loading it tfrom a file. 
 ## The function @code{loadobj} is called when the object @var{a} is loaded 
-## using the @code{load} function. An example of the use of @code{saveobj}
+## using the @code{load} function.  An example of the use of @code{saveobj}
 ## might be to add fields to an object that don't make sense to be saved.
 ## For example
 ##
--- a/scripts/general/logspace.m
+++ b/scripts/general/logspace.m
@@ -57,7 +57,7 @@
 ## @ifnottex
 ## 10^base and 10^pi,
 ## @end ifnottex
-## in order to  be compatible with the corresponding @sc{Matlab}
+## in order to be compatible with the corresponding @sc{matlab}
 ## function.
 ##
 ## Also for compatibility, return the second argument if fewer than two
--- a/scripts/general/mod.m
+++ b/scripts/general/mod.m
@@ -18,14 +18,14 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Mapping Function} {} mod (@var{x}, @var{y})
-## Compute modulo function. Conceptually this is given by
+## Compute modulo function.  Conceptually this is given by
 ##
 ## @example
 ## x - y .* floor (x ./ y)
 ## @end example
 ##
 ## and is written in a manner that the correct modulus is returned for
-##integer types. This function handles negative values correctly. That
+##integer types.  This function handles negative values correctly.  That
 ##is @code{mod (-1, 3)} is 2, not -1 as @code{rem (-1, 3)} returns.
 ## Also, @code{mod (@var{x}, 0)} returns @var{x}.
 ##
--- a/scripts/general/nthroot.m
+++ b/scripts/general/nthroot.m
@@ -23,7 +23,7 @@
 ## @deftypefn {Function File} {} nthroot (@var{x}, @var{n})
 ## 
 ## Compute the n-th root of @var{x}, returning real results for real 
-## components of @var{x}. For example
+## components of @var{x}.  For example
 ##
 ## @example
 ## @group
--- a/scripts/general/polyarea.m
+++ b/scripts/general/polyarea.m
@@ -20,9 +20,9 @@
 ## @deftypefn {Function File} {} polyarea (@var{x}, @var{y})
 ## @deftypefnx {Function File} {} polyarea (@var{x}, @var{y}, @var{dim})
 ##
-## Determines area of a polygon by triangle method. The variables
+## Determines area of a polygon by triangle method.  The variables
 ## @var{x} and @var{y} define the vertex pairs, and must therefore have
-## the same shape. They can be either vectors or arrays. If they are
+## the same shape.  They can be either vectors or arrays.  If they are
 ## arrays then the columns of @var{x} and @var{y} are treated separately
 ## and an area returned for each.
 ##
--- a/scripts/general/quadgk.m
+++ b/scripts/general/quadgk.m
@@ -22,10 +22,10 @@
 ## @deftypefnx {Function File} {[@var{q}, @var{err}] =} quadgk (@dots{})
 ## Numerically evaluate integral using adaptive Guass-Konrod quadrature.
 ## The formulation is based on a proposal by L.F. Shampine,
-## @cite{"Vectorized adaptive quadrature in MATLAB", Journal of
+## @cite{"Vectorized adaptive quadrature in @sc{matlab}", Journal of
 ## Computational and Applied Mathematics, pp131-140, Vol 211, Issue 2,
 ## Feb 2008} where all function evalutions at an iteration are
-## calculated with a single call to @var{f}. Therefore the function
+## calculated with a single call to @var{f}.  Therefore the function
 ## @var{f} must be of the form @code{@var{f} (@var{x})} and accept
 ## vector values of @var{x} and return a vector of the same length
 ## representing the function evalutaions at the given values of @var{x}.
@@ -33,9 +33,9 @@
 ## inline function or string.
 ##
 ## The bounds of the quadrature @code{[@var{a}, @var{b}]} can be finite
-## or infinite and contain weak end singularities. Variable
+## or infinite and contain weak end singularities.  Variable
 ## transformation will be used to treat infinite intervals and weaken
-## the singularities. For example
+## the singularities.  For example
 ##
 ## @example
 ## quadgk(@@(x) 1 ./ (sqrt (x) .* (x + 1)), 0, Inf)
@@ -47,35 +47,35 @@
 ## @code{quadgk} should do the same.
 ##
 ## The absolute tolerance can be passed as a fourth argument in a manner
-## compatible with @code{quadv}. Equally the user can request that
+## compatible with @code{quadv}.  Equally the user can request that
 ## information on the convergence can be printed is the fifth argument
 ## is logicallly true.
 ##
 ## Alternatively, certain properties of @code{quadgk} can be passed as
-## pairs @code{@var{prop}, @var{val}}. Valid properties are
+## pairs @code{@var{prop}, @var{val}}.  Valid properties are
 ##
 ## @table @code
 ## @item AbsTol
-## Defines the absolute error tolerance for the quadrature. The default
+## Defines the absolute error tolerance for the quadrature.  The default
 ## absolute tolerance is 1e-10.
 ##
 ## @item RelTol
-## Defines the relative error tolerance for the quadrature. The default
+## Defines the relative error tolerance for the quadrature.  The default
 ## relative tolerance is 1e-5.
 ##
 ## @item MaxIntervalCount
 ## @code{quadgk} initially subdivides the interval on which to perform
-## the quadrature into 10 intervals. Sub-intervals that have an
-## unacceptable error are sub-divided and re-evaluated. If the number of
+## the quadrature into 10 intervals.  Sub-intervals that have an
+## unacceptable error are sub-divided and re-evaluated.  If the number of
 ## sub-intervals exceeds at any point 650 sub-intervals then a poor
 ## convergence is signaled and the current estimate of the integral is
-## returned. The property 'MaxIntervalCount' can be used to alter the
+## returned.  The property 'MaxIntervalCount' can be used to alter the
 ## number of sub-intervals that can exist before exiting.
 ##
 ## @item WayPoints
 ## If there exists discontinuities in the first derivative of the
 ## function to integrate, then these can be flagged with the
-## @code{"WayPoints"} property. This forces the ends of a sub-interval
+## @code{"WayPoints"} property.  This forces the ends of a sub-interval
 ## to fall on the breakpoints of the function and can result in
 ## significantly improved estimated of the error in the integral, faster
 ## computation or both.  For example,
@@ -94,12 +94,14 @@
 ##
 ## If any of @var{a}, @var{b} or @var{waypoints} is complex, then the
 ## quadrature is treated as a contour integral along a piecewise
-## continuous path defined by the above. In this case the integral is
-## assuemd to have no edge singularities. For example
+## continuous path defined by the above.  In this case the integral is
+## assuemd to have no edge singularities.  For example
 ##
 ## @example
+## @group
 ## quadgk (@@(z) log (z), 1+1i, 1+1i, "WayPoints",
 ##         [1-1i, -1,-1i, -1+1i])
+## @end group
 ## @end example
 ##
 ## @noindent
--- a/scripts/general/quadl.m
+++ b/scripts/general/quadl.m
@@ -24,13 +24,13 @@
 ##
 ## Numerically evaluate integral using adaptive Lobatto rule.
 ## @code{quadl (@var{f}, @var{a}, @var{b})} approximates the integral of
-## @code{@var{f}(@var{x})} to machine precision. @var{f} is either a
+## @code{@var{f}(@var{x})} to machine precision.  @var{f} is either a
 ## function handle, inline function or string containing the name of
-## the function to evaluate. The function @var{f} must return a vector
+## the function to evaluate.  The function @var{f} must return a vector
 ## of output values if given a vector of input values.
 ##
 ## If defined, @var{tol} defines the relative tolerance to which to
-## which to integrate @code{@var{f}(@var{x})}. While if @var{trace} is
+## which to integrate @code{@var{f}(@var{x})}.  While if @var{trace} is
 ## defined, displays the left end point of the current interval, the 
 ## interval length, and the partial integral.
 ##
--- a/scripts/general/quadv.m
+++ b/scripts/general/quadv.m
@@ -27,7 +27,7 @@
 ## @code{quadv (@var{f}, @var{a}, @var{b})} approximates the integral of
 ## @code{@var{f}(@var{x})} to the default absolute tolerance of @code{1e-6}. 
 ## @var{f} is either a function handle, inline function or string
-## containing the name of the function to evaluate. The function @var{f}
+## containing the name of the function to evaluate.  The function @var{f}
 ## must accept a string, and can return a vector representing the
 ## approximation to @var{n} different sub-functions.
 ##
--- a/scripts/general/rat.m
+++ b/scripts/general/rat.m
@@ -24,9 +24,11 @@
 ## by @var{tol} using a continued fraction expansion.  For example,
 ##
 ## @example
+## @group
 ## rat(pi) = 3 + 1/(7 + 1/16) = 355/113
 ## rat(e) = 3 + 1/(-4 + 1/(2 + 1/(5 + 1/(-2 + 1/(-7))))) 
 ##        = 1457/536
+## @end group
 ## @end example
 ##
 ## Called with two arguments returns the numerator and denominator separately
--- a/scripts/general/runlength.m
+++ b/scripts/general/runlength.m
@@ -22,8 +22,10 @@
 ## vector of lengths and the value that was repeated.
 ##
 ## @example
+## @group
 ## runlength ([2, 2, 0, 4, 4, 4, 0, 1, 1, 1, 1])
 ## @result{}  [2, 1, 3, 1, 4]
+## @end group
 ## @end example
 ## @end deftypefn
 
--- a/scripts/general/saveobj.m
+++ b/scripts/general/saveobj.m
@@ -20,10 +20,10 @@
 ## @deftypefn {Function File} {@var{b} =} saveobj (@var{a})
 ## Method of a class to manipulate an object prior to saving it to a file. 
 ## The function @code{saveobj} is called when the object @var{a} is saved 
-## using the @code{save} function. An example of the use of @code{saveobj}
+## using the @code{save} function.  An example of the use of @code{saveobj}
 ## might be to remove fields of the object that don't make sense to be saved
 ## or it might be used to ensure that certain fields of the object are
-## initialized before the object is saved. For example
+## initialized before the object is saved.  For example
 ##
 ## @example
 ## @group
--- a/scripts/general/sub2ind.m
+++ b/scripts/general/sub2ind.m
@@ -27,8 +27,10 @@
 ## all rows in each column.
 ##
 ## @example
+## @group
 ## linear_index = sub2ind ([3, 3], 2, 3)
 ## @result{} 8
+## @end group
 ## @end example
 ## @seealso{ind2sub}
 ## @end deftypefn
--- a/scripts/general/subsindex.m
+++ b/scripts/general/subsindex.m
@@ -18,12 +18,12 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{idx} =} subsindex (@var{a})
-## Convert an object to an index vector. When @var{a} is a class object 
+## Convert an object to an index vector.  When @var{a} is a class object 
 ## defined with a class constructor, then @code{subsindex} is the
 ## overloading method that allows the conversion of this class object to
-## a valid indexing vector. It is important to note that
+## a valid indexing vector.  It is important to note that
 ## @code{subsindex} must return a zero-based real integer vector of the
-## class "double". For example, if the class constructor
+## class "double".  For example, if the class constructor
 ##
 ## @example
 ## @group
--- a/scripts/general/trapz.m
+++ b/scripts/general/trapz.m
@@ -21,10 +21,10 @@
 ## @deftypefnx {Function File} {@var{z} =} trapz (@var{x}, @var{y})
 ## @deftypefnx {Function File} {@var{z} =} trapz (@dots{}, @var{dim})
 ## 
-## Numerical integration using trapezoidal method. @code{trapz
+## Numerical integration using trapezoidal method.  @code{trapz
 ## (@var{y})} computes the integral of the @var{y} along the first
-## non-singleton dimension. If the argument @var{x} is omitted a 
-## equally spaced vector is assumed. @code{trapz (@var{x}, @var{y})} 
+## non-singleton dimension.  If the argument @var{x} is omitted a 
+## equally spaced vector is assumed.  @code{trapz (@var{x}, @var{y})} 
 ## evaluates the integral with respect to @var{x}.
 ##  
 ## @seealso{cumtrapz}
--- a/scripts/general/triplequad.m
+++ b/scripts/general/triplequad.m
@@ -18,17 +18,17 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} triplequad (@var{f}, @var{xa}, @var{xb}, @var{ya}, @var{yb}, @var{za}, @var{zb}, @var{tol}, @var{quadf}, @dots{})
-## Numerically evaluate a triple integral. The function over with to
+## Numerically evaluate a triple integral.  The function over which to
 ## integrate is defined by @code{@var{f}}, and the interval for the
 ## integration is defined by @code{[@var{xa}, @var{xb}, @var{ya},
-## @var{yb}, @var{za}, @var{zb}]}. The function @var{f} must accept a
+## @var{yb}, @var{za}, @var{zb}]}.  The function @var{f} must accept a
 ## vector @var{x} and a scalar @var{y}, and return a vector of the same
 ## length as @var{x}.
 ##
 ## If defined, @var{tol} defines the absolute tolerance to which to
 ## which to integrate each sub-integral.
 ##
-## Additional arguments, are passed directly to @var{f}. To use the default
+## Additional arguments, are passed directly to @var{f}.  To use the default
 ## value for @var{tol} one may pass an empty matrix.
 ## @seealso{dblquad, quad, quadv, quadl, quadgk, trapz}
 ## @end deftypefn
--- a/scripts/geometry/delaunay.m
+++ b/scripts/geometry/delaunay.m
@@ -17,8 +17,8 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{tri}=} delaunay (@var{x}, @var{y})
-## @deftypefnx {Function File} {@var{tri}=} delaunay (@var{x}, @var{y}, @var{opt})
+## @deftypefn {Function File} {@var{tri} =} delaunay (@var{x}, @var{y})
+## @deftypefnx {Function File} {@var{tri} =} delaunay (@var{x}, @var{y}, @var{opt})
 ## The return matrix of size [n, 3] contains a set triangles which are
 ## described by the indices to the data point x and y vector.
 ## The triangulation satisfies the Delaunay circumcircle criterion.
--- a/scripts/geometry/delaunay3.m
+++ b/scripts/geometry/delaunay3.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{T} =} delaunay3 (@var{x}, @var{y}, @var{z})
 ## @deftypefnx {Function File} {@var{T} =} delaunay3 (@var{x}, @var{y}, @var{z}, @var{opt})
-## A matrix of size [n, 4] is returned. Each row contains a 
+## A matrix of size [n, 4] is returned.  Each row contains a 
 ## set of tetrahedron which are
 ## described by the indices to the data point vectors (x,y,z).
 ##
--- a/scripts/geometry/delaunayn.m
+++ b/scripts/geometry/delaunayn.m
@@ -24,21 +24,21 @@
 ## points such that no n-sphere defined by the n-triangles contains
 ## any other points from the set.
 ## The input matrix @var{P} of size @code{[n, dim]} contains @var{n}
-## points in a space of dimension dim. The return matrix @var{T} has the
+## points in a space of dimension dim.  The return matrix @var{T} has the
 ## size @code{[m, dim+1]}.  It contains for each row a set of indices to
 ## the points, which describes a simplex of dimension dim.  For example,
 ## a 2d simplex is a triangle and 3d simplex is a tetrahedron.
 ## 
 ## Extra options for the underlying Qhull command can be specified by the
-## second argument. This argument is a cell array of strings. The default
+## second argument.  This argument is a cell array of strings.  The default
 ## options depend on the dimension of the input: 
 ## 
 ## @itemize 
-## @item  2D and 3D: @var{opt} = @code{@{"Qt", "Qbb", "Qc"@}}
-## @item  4D and higher: @var{opt} = @code{@{"Qt", "Qbb", "Qc", "Qz"@}} 
+## @item 2D and 3D: @var{opt} = @code{@{"Qt", "Qbb", "Qc"@}}
+## @item 4D and higher: @var{opt} = @code{@{"Qt", "Qbb", "Qc", "Qz"@}} 
 ## @end itemize
 ## 
-## If @var{opt} is [], then the default arguments are used. If @var{opt}
+## If @var{opt} is [], then the default arguments are used.  If @var{opt}
 ## is @code{@{"@w{}"@}}, then none of the default arguments are used by Qhull. 
 ## See the Qhull documentation for the available options. 
 ## 
--- a/scripts/geometry/dsearch.m
+++ b/scripts/geometry/dsearch.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{idx} =} dsearch (@var{x}, @var{y}, @var{tri}, @var{xi}, @var{yi})
 ## @deftypefnx {Function File} {@var{idx} =} dsearch (@var{x}, @var{y}, @var{tri}, @var{xi}, @var{yi}, @var{s})
 ## Returns the index @var{idx} or the closest point in @code{@var{x}, @var{y}}
-## to the elements @code{[@var{xi}(:), @var{yi}(:)]}. The variable @var{s} is
+## to the elements @code{[@var{xi}(:), @var{yi}(:)]}.  The variable @var{s} is
 ## accepted but ignored for compatibility.
 ## @seealso{dsearchn, tsearch}
 ## @end deftypefn
--- a/scripts/geometry/dsearchn.m
+++ b/scripts/geometry/dsearchn.m
@@ -22,9 +22,9 @@
 ## @deftypefnx {Function File} {@var{idx} =} dsearchn (@var{x}, @var{xi})
 ## @deftypefnx {Function File} {[@var{idx}, @var{d}] =} dsearchn (@dots{})
 ## Returns the index @var{idx} or the closest point in @var{x} to the elements
-## @var{xi}. If @var{outval} is supplied, then the values of @var{xi} that are
+## @var{xi}.  If @var{outval} is supplied, then the values of @var{xi} that are
 ## not contained within one of the simplicies @var{tri} are set to 
-## @var{outval}. Generally, @var{tri} is returned from @code{delaunayn 
+## @var{outval}.  Generally, @var{tri} is returned from @code{delaunayn 
 ## (@var{x})}.
 ## @seealso{dsearch, tsearch}
 ## @end deftypefn
--- a/scripts/geometry/inpolygon.m
+++ b/scripts/geometry/inpolygon.m
@@ -1,5 +1,5 @@
 ## Copyright (C) 2006, 2007, 2008, 2009 Frederick (Rick) A Niles
-##               and Søren Hauberg
+##               and S�ren Hauberg
 ##
 ## This file is part of Octave.
 ##
@@ -22,7 +22,7 @@
 ##
 ## For a polygon defined by @code{(@var{xv}, @var{yv})} points, determine
 ## if the points @code{(@var{x}, @var{y})} are inside or outside the polygon.
-## The variables @var{x}, @var{y}, must have the same dimension. The optional
+## The variables @var{x}, @var{y}, must have the same dimension.  The optional
 ## output @var{on} gives the points that are on the polygon.
 ##
 ## @end deftypefn
@@ -30,7 +30,7 @@
 ## Author: Frederick (Rick) A Niles <niles@rickniles.com>
 ## Created: 14 November 2006
 
-## Vectorized by Søren Hauberg <soren@hauberg.org>
+## Vectorized by S�ren Hauberg <soren@hauberg.org>
 
 ## The method for determining if a point is in in a polygon is based on
 ## the algorithm shown on
--- a/scripts/geometry/trimesh.m
+++ b/scripts/geometry/trimesh.m
@@ -19,10 +19,10 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} trimesh (@var{tri}, @var{x}, @var{y}, @var{z})
 ## @deftypefnx {Function File} {@var{h} =} trimesh (@dots{})
-## Plot a triangular mesh in 3D. The variable @var{tri} is the triangular
+## Plot a triangular mesh in 3D.  The variable @var{tri} is the triangular
 ## meshing of the points @code{(@var{x}, @var{y})} which is returned 
-## from @code{delaunay}. The variable @var{z} is value at the point 
-## @code{(@var{x}, @var{y})}. The output argument @var{h} is the graphic 
+## from @code{delaunay}.  The variable @var{z} is value at the point 
+## @code{(@var{x}, @var{y})}.  The output argument @var{h} is the graphic 
 ## handle to the plot.
 ## @seealso{triplot, delaunay3}
 ## @end deftypefn
--- a/scripts/geometry/triplot.m
+++ b/scripts/geometry/triplot.m
@@ -20,10 +20,10 @@
 ## @deftypefn {Function File} {} triplot (@var{tri}, @var{x}, @var{y})
 ## @deftypefnx {Function File} {} triplot (@var{tri}, @var{x}, @var{y}, @var{linespec})
 ## @deftypefnx {Function File} {@var{h} =} triplot (@dots{})
-## Plot a triangular mesh in 2D. The variable @var{tri} is the triangular
+## Plot a triangular mesh in 2D.  The variable @var{tri} is the triangular
 ## meshing of the points @code{(@var{x}, @var{y})} which is returned from
-## @code{delaunay}. If given, the @var{linespec} determines the properties
-## to use for the lines. The output argument @var{h} is the graphic handle
+## @code{delaunay}.  If given, the @var{linespec} determines the properties
+## to use for the lines.  The output argument @var{h} is the graphic handle
 ## to the plot.
 ## @seealso{plot, trimesh, delaunay}
 ## @end deftypefn
--- a/scripts/geometry/tsearchn.m
+++ b/scripts/geometry/tsearchn.m
@@ -18,9 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{idx}, @var{p}] =} tsearchn (@var{x}, @var{t}, @var{xi})
-## Searches for the enclosing Delaunay convex hull. For @code{@var{t} =
+## Searches for the enclosing Delaunay convex hull.  For @code{@var{t} =
 ## delaunayn (@var{x})}, finds the index in @var{t} containing the
-## points @var{xi}. For points outside the convex hull, @var{idx} is NaN.
+## points @var{xi}.  For points outside the convex hull, @var{idx} is NaN.
 ## If requested @code{tsearchn} also returns the barycentric coordinates @var{p}
 ## of the enclosing triangles.
 ## @seealso{delaunay, delaunayn}
--- a/scripts/geometry/voronoi.m
+++ b/scripts/geometry/voronoi.m
@@ -23,7 +23,7 @@
 ## @deftypefnx {Function File} {[@var{vx}, @var{vy}] =} voronoi (@dots{})
 ## plots voronoi diagram of points @code{(@var{x}, @var{y})}.
 ## The voronoi facets with points at infinity are not drawn.
-## [@var{vx}, @var{vy}] = voronoi(...) returns the vertices instead of plotting the
+## [@var{vx}, @var{vy}] = voronoi(@dots{}) returns the vertices instead of plotting the
 ## diagram. plot (@var{vx}, @var{vy}) shows the voronoi diagram.
 ##
 ## A fourth optional argument, which must be a string, contains extra options
--- a/scripts/geometry/voronoin.m
+++ b/scripts/geometry/voronoin.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {[@var{C}, @var{F}] =} voronoin (@var{pts}, @var{options})
 ## computes n- dimensional voronoi facets.  The input matrix @var{pts}
 ## of size [n, dim] contains n points of dimension dim.
-## @var{C} contains the points of the voronoi facets. The list @var{F}
+## @var{C} contains the points of the voronoi facets.  The list @var{F}
 ## contains for each facet the indices of the voronoi points.
 ##
 ## A second optional argument, which must be a string, contains extra options
--- a/scripts/help/gen_doc_cache.m
+++ b/scripts/help/gen_doc_cache.m
@@ -1,4 +1,4 @@
-## Copyright (C) 2009 Søren Hauberg
+## Copyright (C) 2009 S�ren Hauberg
 ##
 ## This program is free software; you can redistribute it and/or modify it
 ## under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
 ## @deftypefn {Function File} gen_doc_cache (@var{out_file}, @var{directory})
 ## Generate documentation caches for all functions in a given directory.
 ##
-## A documentation cache is generated for all functions in @var{directory}. The
+## A documentation cache is generated for all functions in @var{directory}.  The
 ## resulting cache is saved in the file @var{out_file}.
 ## The cache is used to speed up @code{lookfor}.
 ##
--- a/scripts/help/get_first_help_sentence.m
+++ b/scripts/help/get_first_help_sentence.m
@@ -1,4 +1,4 @@
-## Copyright (C) 2009 Søren Hauberg
+## Copyright (C) 2009 S�ren Hauberg
 ##
 ## This program is free software; you can redistribute it and/or modify it
 ## under the terms of the GNU General Public License as published by
@@ -19,20 +19,22 @@
 ## Return the first sentence of a function help text.
 ##
 ## The function reads the first sentence of the help text of the function
-## @var{name}. The first sentence is defined as the text after the function
+## @var{name}.  The first sentence is defined as the text after the function
 ## declaration until either the first period (".") or the first appearance of
-## two consecutive end-lines ("\n\n"). The text is truncated to a maximum length
+## two consecutive end-lines ("\n\n").  The text is truncated to a maximum length
 ## of @var{max_len}, which defaults to 80.
 ##
 ## The optional output argument @var{status} returns the status reported by
-## @code{makeinfo}. If only one output argument is requested, and @var{status}
+## @code{makeinfo}.  If only one output argument is requested, and @var{status}
 ## is non-zero, a warning is displayed.
 ##
 ## As an example, the first sentence of this help text is
 ##
 ## @example
+## @group
 ## get_first_help_sentence ("get_first_help_sentence")
 ## @print{} ans = Return the first sentence of a function help text.
+## @end group
 ## @end example
 ## @end deftypefn
 
--- a/scripts/image/autumn.m
+++ b/scripts/image/autumn.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} autumn (@var{n})
-## Create color colormap. This colormap is red through orange to yellow.
+## Create color colormap.  This colormap is red through orange to yellow.
 ## The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/image/bone.m
+++ b/scripts/image/bone.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} bone (@var{n})
-## Create color colormap. This colormap is a gray colormap with a light 
-## blue tone. The argument @var{n} should be a scalar.  If it
+## Create color colormap.  This colormap is a gray colormap with a light 
+## blue tone.  The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/brighten.m
+++ b/scripts/image/brighten.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {@var{map_out} =} brighten (@var{map}, @var{beta})
 ## @deftypefnx {Function File} {@var{map_out} =} brighten (@var{h}, @var{beta})
 ## @deftypefnx {Function File} {@var{map_out} =} brighten (@var{beta})
-## Darkens or brightens the given colormap. If the @var{map} argument 
-## is omitted, the function is applied to the current colormap. The first
+## Darkens or brightens the given colormap.  If the @var{map} argument 
+## is omitted, the function is applied to the current colormap.  The first
 ## argument can also be a valid graphics handle @var{h}, in which case 
 ## @code{brighten} is applied to the colormap associated with this handle.
 ##
--- a/scripts/image/contrast.m
+++ b/scripts/image/contrast.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} contrast (@var{x}, @var{n})
-## Return a gray colormap that maximizes the contrast in an image. The
-## returned colormap will have @var{n} rows. If @var{n} is not defined
+## Return a gray colormap that maximizes the contrast in an image.  The
+## returned colormap will have @var{n} rows.  If @var{n} is not defined
 ## then the size of the current colormap is used instead.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/cool.m
+++ b/scripts/image/cool.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} cool (@var{n})
-## Create color colormap. The colormap is cyan to magenta. The argument 
+## Create color colormap.  The colormap is cyan to magenta.  The argument 
 ## @var{n} should be a scalar.  If it is omitted, the length of the current
 ## colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/image/copper.m
+++ b/scripts/image/copper.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} copper (@var{n})
-## Create color colormap. This colormap is black to a light copper tone.
+## Create color colormap.  This colormap is black to a light copper tone.
 ## The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/image/flag.m
+++ b/scripts/image/flag.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} flag (@var{n})
-## Create color colormap. This colormap cycles through red, white, blue 
-## and black. The argument @var{n} should be a scalar.  If it
+## Create color colormap.  This colormap cycles through red, white, blue 
+## and black.  The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/gmap40.m
+++ b/scripts/image/gmap40.m
@@ -18,11 +18,11 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} gmap40 (@var{n})
-## Create a color colormap. The colormap is red, green, blue, yellow,
-## magenta and cyan. These are the colors that are allowed with patch
+## Create a color colormap.  The colormap is red, green, blue, yellow,
+## magenta and cyan.  These are the colors that are allowed with patch
 ## objects using gnuplot 4.0, and so this colormap function is specially
 ## designed for users of gnuplot 4.0.  The argument @var{n} should be 
-## a scalar.  If it is omitted, a length of 6 is assumed. Larger values
+## a scalar.  If it is omitted, a length of 6 is assumed.  Larger values
 ## of @var{n} result in a repetition of the above colors
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/gray2ind.m
+++ b/scripts/image/gray2ind.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{img}, @var{map}] =} gray2ind (@var{I}, @var{n})
 ## Convert a gray scale intensity image to an Octave indexed image.
-## The indexed image will consist of @var{n} different intensity values. If not
+## The indexed image will consist of @var{n} different intensity values.  If not
 ## given @var{n} will default to 64.
 ## @end deftypefn
 
--- a/scripts/image/hot.m
+++ b/scripts/image/hot.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} hot (@var{n})
-## Create color colormap. This colormap is black through dark red, red, 
-## orange, yellow to white. The argument @var{n} should be a scalar.  If it
+## Create color colormap.  This colormap is black through dark red, red, 
+## orange, yellow to white.  The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/image.m
+++ b/scripts/image/image.m
@@ -30,7 +30,7 @@
 ## function.
 ##
 ## The axis values corresponding to the matrix elements are specified in
-## @var{x} and @var{y}. If you're not using gnuplot 4.2 or later, these
+## @var{x} and @var{y}.  If you're not using gnuplot 4.2 or later, these
 ## variables are ignored.
 ## @seealso{imshow, imagesc, colormap, image_viewer}
 ## @end deftypefn
--- a/scripts/image/image_viewer.m
+++ b/scripts/image/image_viewer.m
@@ -1,4 +1,4 @@
-## Copyright (C) 2006, 2007, 2008 Søren Hauberg
+## Copyright (C) 2006, 2007, 2008 S�ren Hauberg
 ##
 ## This file is part of Octave.
 ##
@@ -31,7 +31,7 @@
 ## When called with one input argument images will be displayed by saving
 ## the image to a file and the system command @var{command} will be called
 ## to view the image.  The @var{command} must be a string containing
-## @code{%s} and possibly @code{%f}. The @code{%s} will be replaced by
+## @code{%s} and possibly @code{%f}.  The @code{%s} will be replaced by
 ## the filename of the image, and the @code{%f} will (if present) be
 ## replaced by the zoom factor given to the @code{image} function.
 ## For example,
@@ -56,7 +56,7 @@
 ##
 ## With three input arguments it is possible to change the zooming.
 ## Some programs (like @code{xloadimage}) require the zoom factor to be
-## between 0 and 100, and not 0 and 1 like Octave assumes. This is
+## between 0 and 100, and not 0 and 1 like Octave assumes.  This is
 ## solved by setting the third argument to 100.
 ##
 ## @seealso{image, imshow}
--- a/scripts/image/imfinfo.m
+++ b/scripts/image/imfinfo.m
@@ -22,7 +22,7 @@
 ## Read image information from a file.
 ##
 ## @code{imfinfo} returns a structure containing information about the image
-## stored in the file @var{filename}. The output structure contains the
+## stored in the file @var{filename}.  The output structure contains the
 ## following fields.
 ##
 ## @table @samp
@@ -39,7 +39,7 @@
 ## @item BitDepth
 ## Number of bits per channel per pixel.
 ## @item Format
-## Image format (e.g. @code{"jpeg"}).
+## Image format (e.g., @code{"jpeg"}).
 ## @item LongFormat
 ## Long form image format description.
 ## @item XResolution
@@ -54,13 +54,13 @@
 ## Time in 1/100ths of a second (0 to 65535) which must expire before displaying
 ## the next image in an animated sequence.
 ## @item AnimationIterations
-## Number of iterations to loop an animation (e.g. Netscape loop extension) for.
+## Number of iterations to loop an animation (e.g., Netscape loop extension) for.
 ## @item ByteOrder
-## Endian option for formats that support it. Is either @code{"little-endian"},
+## Endian option for formats that support it.  Is either @code{"little-endian"},
 ## @code{"big-endian"}, or @code{"undefined"}.
 ## @item Gamma
-## Gamma level of the image. The same color image displayed on two different
-## workstations  may  look  different due to differences in the display monitor.
+## Gamma level of the image.  The same color image displayed on two different
+## workstations may look different due to differences in the display monitor.
 ## @item Matte
 ## @code{true} if the image has transparency.
 ## @item ModulusDepth
@@ -71,10 +71,10 @@
 ## @item QuantizeColors
 ## Preferred number of colors in the image.
 ## @item ResolutionUnits
-## Units of image resolution. Is either @code{"pixels per inch"},
+## Units of image resolution.  Is either @code{"pixels per inch"},
 ## @code{"pixels per centimeter"}, or @code{"undefined"}.
 ## @item ColorType
-## Image type. Is either @code{"grayscale"}, @code{"indexed"}, @code{"truecolor"},
+## Image type.  Is either @code{"grayscale"}, @code{"indexed"}, @code{"truecolor"},
 ## or @code{"undefined"}.
 ## @item View
 ## FlashPix viewing parameters.
--- a/scripts/image/imshow.m
+++ b/scripts/image/imshow.m
@@ -40,7 +40,7 @@
 ## shown.
 ##
 ## If given, the parameter @var{string_param1} has value
-## @var{value1}. @var{string_param1} can be any of the following:
+## @var{value1}.  @var{string_param1} can be any of the following:
 ## @table @samp
 ## @item "displayrange"
 ## @var{value1} is the display range as described above.
--- a/scripts/image/imwrite.m
+++ b/scripts/image/imwrite.m
@@ -24,12 +24,12 @@
 ## If @var{fmt} is missing, the file extension (if any) of
 ## @var{filename} is used to determine the format.
 ##
-## The parameter-value pairs (@var{p1}, @var{v1}, @dots{}) are optional. Currently
+## The parameter-value pairs (@var{p1}, @var{v1}, @dots{}) are optional.  Currently
 ## the following options are supported for @t{JPEG} images
 ##
 ## @table @samp
 ## @item Quality
-## Sets the quality of the compression. The corresponding value should be an
+## Sets the quality of the compression.  The corresponding value should be an
 ## integer between 0 and 100, with larger values meaning higher visual quality
 ## and less compression.
 ## @end table
--- a/scripts/image/jet.m
+++ b/scripts/image/jet.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} jet (@var{n})
-## Create color colormap. This colormap is dark blue through blue, cyan, 
-## green, yellow, red to dark red. The argument @var{n} should be a scalar. 
+## Create color colormap.  This colormap is dark blue through blue, cyan, 
+## green, yellow, red to dark red.  The argument @var{n} should be a scalar. 
 ## If it is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/prism.m
+++ b/scripts/image/prism.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} prism (@var{n})
-## Create color colormap. This colormap cycles trough red, orange, yellow,
-## green, blue and violet. The argument @var{n} should be a scalar.  If it
+## Create color colormap.  This colormap cycles trough red, orange, yellow,
+## green, blue and violet.  The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/rainbow.m
+++ b/scripts/image/rainbow.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} rainbow (@var{n})
-## Create color colormap. This colormap is red through orange, yellow, green, 
-## blue to violet. The argument @var{n} should be a scalar.  If it
+## Create color colormap.  This colormap is red through orange, yellow, green, 
+## blue to violet.  The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
 ## @end deftypefn
--- a/scripts/image/spring.m
+++ b/scripts/image/spring.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} spring (@var{n})
-## Create color colormap. This colormap is magenta to yellow.
+## Create color colormap.  This colormap is magenta to yellow.
 ## The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/image/summer.m
+++ b/scripts/image/summer.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} summer (@var{n})
-## Create color colormap. This colormap is green to yellow.
+## Create color colormap.  This colormap is green to yellow.
 ## The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/image/winter.m
+++ b/scripts/image/winter.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} winter (@var{n})
-## Create color colormap. This colormap is blue to green.
+## Create color colormap.  This colormap is blue to green.
 ## The argument @var{n} should be a scalar.  If it
 ## is omitted, the length of the current colormap or 64 is assumed.
 ## @seealso{colormap}
--- a/scripts/io/dlmwrite.m
+++ b/scripts/io/dlmwrite.m
@@ -18,9 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} dlmwrite (@var{file}, @var{a})
-## @deftypefnx {Function File} {} dmlwrite (@var{file}, @var{a}, @var{delim}, @var{r}, @var{c})
-## @deftypefnx {Function File} {} dmlwrite (@var{file}, @var{a}, @var{key}, @var{val} @dots{})
-## @deftypefnx {Function File} {} dmlwrite (@var{file}, @var{a}, "-append", @dots{})
+## @deftypefnx {Function File} {} dlmwrite (@var{file}, @var{a}, @var{delim}, @var{r}, @var{c})
+## @deftypefnx {Function File} {} dlmwrite (@var{file}, @var{a}, @var{key}, @var{val} @dots{})
+## @deftypefnx {Function File} {} dlmwrite (@var{file}, @var{a}, "-append", @dots{})
 ## Write the matrix @var{a} to the named file using delimiters.
 ##
 ## The parameter @var{delim} specifies the delimiter to use to separate
--- a/scripts/linear-algebra/cond.m
+++ b/scripts/linear-algebra/cond.m
@@ -19,10 +19,10 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} cond (@var{a},@var{p})
-## Compute the @var{p}-norm condition number of a matrix. @code{cond (@var{a})} is
+## Compute the @var{p}-norm condition number of a matrix.  @code{cond (@var{a})} is
 ## defined as @code{norm (@var{a}, @var{p}) * norm (inv (@var{a}), @var{p})}.
 ## By default @code{@var{p}=2} is used which implies a (relatively slow)
-## singular value decomposition. Other possible selections are 
+## singular value decomposition.  Other possible selections are 
 ## @code{@var{p}= 1, Inf, inf, 'Inf', 'fro'} which are generally faster.
 ## @seealso{norm, inv, det, svd, rank}
 ## @end deftypefn
--- a/scripts/linear-algebra/condest.m
+++ b/scripts/linear-algebra/condest.m
@@ -25,7 +25,7 @@
 ## using @var{t} test vectors using a randomized 1-norm estimator.
 ## If @var{t} exceeds 5, then only 5 test vectors are used.
 ##
-## If the matrix is not explicit, e.g. when  estimating the condition 
+## If the matrix is not explicit, e.g., when estimating the condition 
 ## number of @var{a} given an LU factorization, @code{condest} uses the 
 ## following functions:
 ##
@@ -47,7 +47,7 @@
 ##
 ## @code{condest} returns the 1-norm condition estimate @var{est} and
 ## a vector @var{v} satisfying @code{norm (A*v, 1) == norm (A, 1) * norm
-## (@var{v}, 1) / @var{est}}. When @var{est} is large, @var{v} is an
+## (@var{v}, 1) / @var{est}}.  When @var{est} is large, @var{v} is an
 ## approximate null vector.
 ##
 ## References: 
--- a/scripts/linear-algebra/cross.m
+++ b/scripts/linear-algebra/cross.m
@@ -30,7 +30,7 @@
 ## @end example
 ##
 ## If @var{x} and @var{y} are matrices, the cross product is applied 
-## along the first dimension with 3 elements. The optional argument 
+## along the first dimension with 3 elements.  The optional argument 
 ## @var{dim} is used to force the cross product to be calculated along
 ## the dimension defined by @var{dim}.
 ## @end deftypefn
--- a/scripts/linear-algebra/dot.m
+++ b/scripts/linear-algebra/dot.m
@@ -19,9 +19,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} dot (@var{x}, @var{y}, @var{dim})
-## Computes the dot product of two vectors. If @var{x} and @var{y}
+## Computes the dot product of two vectors.  If @var{x} and @var{y}
 ## are matrices, calculate the dot-product along the first 
-## non-singleton dimension. If the optional argument @var{dim} is
+## non-singleton dimension.  If the optional argument @var{dim} is
 ## given, calculate the dot-product along this dimension.
 ## @end deftypefn
 
--- a/scripts/linear-algebra/krylov.m
+++ b/scripts/linear-algebra/krylov.m
@@ -22,7 +22,7 @@
 ## Construct an orthogonal basis @var{u} of block Krylov subspace
 ##
 ## @example
-## [v a*v a^2*v ... a^(k+1)*v]
+## [v a*v a^2*v @dots{} a^(k+1)*v]
 ## @end example
 ##
 ## @noindent
--- a/scripts/linear-algebra/onenormest.m
+++ b/scripts/linear-algebra/onenormest.m
@@ -21,14 +21,14 @@
 ## @deftypefnx {Function File} {[@var{est}, @var{v}, @var{w}, @var{iter}] =} onenormest (@var{apply}, @var{apply_t}, @var{n}, @var{t})
 ##
 ## Apply Higham and Tisseur's randomized block 1-norm estimator to
-## matrix @var{a} using @var{t} test vectors. If @var{t} exceeds 5, then
+## matrix @var{a} using @var{t} test vectors.  If @var{t} exceeds 5, then
 ## only 5 test vectors are used.
 ##
-## If the matrix is not explicit, e.g. when estimating the norm of 
+## If the matrix is not explicit, e.g., when estimating the norm of 
 ## @code{inv (@var{A})} given an LU factorization, @code{onenormest} applies 
 ## @var{A} and its conjugate transpose through a pair of functions 
 ## @var{apply} and @var{apply_t}, respectively, to a dense matrix of size 
-## @var{n} by @var{t}. The implicit version requires an explicit dimension 
+## @var{n} by @var{t}.  The implicit version requires an explicit dimension 
 ## @var{n}.
 ##
 ## Returns the norm estimate @var{est}, two vectors @var{v} and
--- a/scripts/linear-algebra/rank.m
+++ b/scripts/linear-algebra/rank.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} rank (@var{a}, @var{tol})
 ## Compute the rank of @var{a}, using the singular value decomposition.
-## The rank is taken to be the number  of singular values of @var{a} that
+## The rank is taken to be the number of singular values of @var{a} that
 ## are greater than the specified tolerance @var{tol}.  If the second
 ## argument is omitted, it is taken to be
 ##
--- a/scripts/linear-algebra/rref.m
+++ b/scripts/linear-algebra/rref.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{r}, @var{k}] =} rref (@var{a}, @var{tol})
 ##
-## Returns the reduced row echelon form of @var{a}. @var{tol} defaults
+## Returns the reduced row echelon form of @var{a}.  @var{tol} defaults
 ## to @code{eps * max (size (@var{a})) * norm (@var{a}, inf)}.
 ##
 ## Called with two return arguments, @var{k} returns the vector of
--- a/scripts/miscellaneous/bincoeff.m
+++ b/scripts/miscellaneous/bincoeff.m
@@ -32,7 +32,7 @@
 ## @example
 ## @group
 ##  /   \
-##  | n |    n (n-1) (n-2) ... (n-k+1)
+##  | n |    n (n-1) (n-2) @dots{} (n-k+1)
 ##  |   |  = -------------------------
 ##  | k |               k!
 ##  \   /
--- a/scripts/miscellaneous/bunzip2.m
+++ b/scripts/miscellaneous/bunzip2.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} bunzip2 (@var{bzfile}, @var{dir})
-## Unpack the bzip2 archive @var{bzfile} to the directory @var{dir}. If
+## Unpack the bzip2 archive @var{bzfile} to the directory @var{dir}.  If
 ## @var{dir} is not specified, it defaults to the current directory.
 ## @seealso{unpack, bzip2, tar, untar, gzip, gunzip, zip, unzip}
 ## @end deftypefn
--- a/scripts/miscellaneous/bzip2.m
+++ b/scripts/miscellaneous/bzip2.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {@var{entries} =} bzip2 (@var{files}, @var{outdir})
 ## Compress the list of files specified in @var{files}.
 ## Each file is compressed separately and a new file with a '.bz2' extension
-## is created. The original files are not touched.  Existing compressed files 
+## is created.  The original files are not touched.  Existing compressed files 
 ## are silently overwritten.If @var{outdir} is defined the compressed versions 
 ## of the files are placed in this directory.
 ## @seealso{bunzip2, gzip, zip, tar}
--- a/scripts/miscellaneous/compare_versions.m
+++ b/scripts/miscellaneous/compare_versions.m
@@ -22,11 +22,11 @@
 ##
 ## This function assumes that versions @var{v1} and @var{v2} are
 ## arbitrarily long strings made of numeric and period characters
-## possibly followed by an arbitrary string (e.g. "1.2.3", "0.3",
+## possibly followed by an arbitrary string (e.g., "1.2.3", "0.3",
 ## "0.1.2+", or "1.2.3.4-test1").
 ##
 ## The version is first split into the numeric and the character parts
-## then the parts are padded to be the same length (i.e. "1.1" would be
+## then the parts are padded to be the same length (i.e., "1.1" would be
 ## padded to be like "1.1.0" when being compared with "1.1.1", and
 ## separately, the character parts of the strings are padded with
 ## nulls).
@@ -58,7 +58,7 @@
 ## @end itemize
 ##
 ## Note that version "1.1-test2" would compare as greater than
-## "1.1-test10". Also, since the numeric part is compared first, "a"
+## "1.1-test10".  Also, since the numeric part is compared first, "a"
 ## compares less than "1a" because the second string starts with a
 ## numeric part even though double("a") is greater than double("1").
 ## @end deftypefn
--- a/scripts/miscellaneous/copyfile.m
+++ b/scripts/miscellaneous/copyfile.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {[@var{status}, @var{msg}, @var{msgid}] =} copyfile (@var{f1}, @var{f2}, @var{force})
 ## Copy the file @var{f1} to the new name @var{f2}.  The name @var{f1}
 ## may contain globbing patterns.  If @var{f1} expands to multiple file
-## names, @var{f2} must be a directory. If @var{force} is given and equals
+## names, @var{f2} must be a directory.  If @var{force} is given and equals
 ## the string "f" the copy operation will be forced.
 ##
 ## If successful, @var{status} is 1, with @var{msg} and @var{msgid} empty\n\
--- a/scripts/miscellaneous/debug.m
+++ b/scripts/miscellaneous/debug.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} debug ()
-## Summary of the debugging commands. The debugging commands that are
+## Summary of the debugging commands.  The debugging commands that are
 ## available in Octave are
 ##
 ## @table @code
@@ -69,7 +69,7 @@
 ##
 ## @noindent
 ## when Octave encounters a breakpoint or other reason to enter debug
-## mode, the prompt changes to @code{"debug>"}. The workspace of the function
+## mode, the prompt changes to @code{"debug>"}.  The workspace of the function
 ## where the breakpoint was encountered becomes available and any Octave
 ## command that works within that workspace may be executed.
 ##
--- a/scripts/miscellaneous/flops.m
+++ b/scripts/miscellaneous/flops.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} flops ()
-## This function is provided for @sc{Matlab} compatibility, but it doesn't
+## This function is provided for @sc{matlab} compatibility, but it doesn't
 ## actually do anything.
 ## @end deftypefn
 
--- a/scripts/miscellaneous/getfield.m
+++ b/scripts/miscellaneous/getfield.m
@@ -32,8 +32,10 @@
 ## the expression
 ##
 ## @example
+## @group
 ## i1 = @{1,2@}; i2 = "fd"; i3 = @{3@}; i4= "b";
 ## ss(i1@{:@}).(i2)(i3@{:@}).(i4)
+## @end group
 ## @end example
 ## @seealso{setfield, rmfield, isfield, isstruct, fieldnames, struct}
 ## @end deftypefn
--- a/scripts/miscellaneous/gunzip.m
+++ b/scripts/miscellaneous/gunzip.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} gunzip (@var{gzfile}, @var{dir})
-## Unpack the gzip archive @var{gzfile} to the directory @var{dir}. If
-## @var{dir} is not specified, it defaults to the current directory. If
+## Unpack the gzip archive @var{gzfile} to the directory @var{dir}.  If
+## @var{dir} is not specified, it defaults to the current directory.  If
 ## the @var{gzfile} is a directory, all files in the directory will be
 ## recursively gunzipped.
 ## @seealso{unpack, bunzip2, tar, untar, gzip, gunzip, zip, unzip}
--- a/scripts/miscellaneous/gzip.m
+++ b/scripts/miscellaneous/gzip.m
@@ -21,8 +21,8 @@
 ## @deftypefnx {Function File} {@var{entries} =} gzip (@var{files}, @var{outdir})
 ## Compress the list of files and/or directories specified in @var{files}.
 ## Each file is compressed separately and a new file with a '.gz' extension
-## is created. The original files are not touched. Existing compressed
-## files are silently overwritten. If @var{outdir} is defined the compressed 
+## is created.  The original files are not touched.  Existing compressed
+## files are silently overwritten.  If @var{outdir} is defined the compressed 
 ## versions of the files are placed in this directory.
 ## @seealso{gunzip, bzip2, zip, tar}
 ## @end deftypefn
--- a/scripts/miscellaneous/intwarning.m
+++ b/scripts/miscellaneous/intwarning.m
@@ -58,9 +58,11 @@
 ## @code{intwarning}.  For example
 ##
 ## @example
+## @group
 ## s = intwarning ("off");
 ## @dots{}
 ## intwarning (s);
+## @end group
 ## @end example
 ## @seealso{warning}
 ## @end deftypefn
--- a/scripts/miscellaneous/license.m
+++ b/scripts/miscellaneous/license.m
@@ -47,7 +47,7 @@
 ## Check out a license for @var{feature}, returning 1 on success and 0
 ## on failure.
 ##
-## This function is provided for compatibility with @sc{Matlab}.
+## This function is provided for compatibility with @sc{matlab}.
 ## @seealso{ver, version}
 ## @end deftypefn
 
--- a/scripts/miscellaneous/ls.m
+++ b/scripts/miscellaneous/ls.m
@@ -21,10 +21,12 @@
 ## List directory contents.  For example,
 ## 
 ## @example
+## @group
 ## ls -l
 ##      @print{} total 12
 ##      @print{} -rw-r--r--   1 jwe  users  4488 Aug 19 04:02 foo.m
 ##      @print{} -rw-r--r--   1 jwe  users  1315 Aug 17 23:14 bar.m
+## @end group
 ## @end example
 ## 
 ## The @code{dir} and @code{ls} commands are implemented by calling your
--- a/scripts/miscellaneous/mkoctfile.m
+++ b/scripts/miscellaneous/mkoctfile.m
@@ -64,6 +64,7 @@
 ## Print the configuration variable VAR.  Recognized variables are: 
 ##
 ## @example             
+## @group
 ##    ALL_CFLAGS                FFTW_LIBS     
 ##    ALL_CXXFLAGS              FLIBS       
 ##    ALL_FFLAGS                FPICFLAG      
@@ -84,6 +85,7 @@
 ##    F2CFLAGS                  XTRA_CFLAGS   
 ##    F77                       XTRA_CXXFLAGS 
 ##    FFLAGS
+## @end group
 ## @end example
 ##
 ## @item --link-stand-alone
@@ -102,9 +104,10 @@
 ## Echo commands as they are executed.
 ##
 ## @item file
-## The file to compile or link. Recognised file types are
+## The file to compile or link.  Recognised file types are
 ##
 ## @example
+## @group
 ##                   .c    C source
 ##                   .cc   C++ source
 ##                   .C    C++ source
@@ -112,6 +115,7 @@
 ##                   .f    Fortran source
 ##                   .F    Fortran source
 ##                   .o    object file
+## @end group
 ## @end example
 ##
 ## @end table
--- a/scripts/miscellaneous/namelengthmax.m
+++ b/scripts/miscellaneous/namelengthmax.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} namelengthmax ()
-## Returns the @sc{Matlab} compatible maximum variable name length.  Octave is
+## Returns the @sc{matlab} compatible maximum variable name length.  Octave is
 ## capable of storing strings up to 
 ## @iftex
 ## @tex
@@ -28,9 +28,9 @@
 ## @ifnottex
 ## @code{2 ^ 31 - 1}
 ## @end ifnottex
-## in length.  However for @sc{Matlab} compatibility all variable, function
+## in length.  However for @sc{matlab} compatibility all variable, function
 ## and structure field names should be shorter than the length supplied by
-## @code{namelengthmax}.  In particular variables stored to a @sc{Matlab} file
+## @code{namelengthmax}.  In particular variables stored to a @sc{matlab} file
 ## format will have their names truncated to this length.
 ## @end deftypefn
 
--- a/scripts/miscellaneous/pack.m
+++ b/scripts/miscellaneous/pack.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} pack ()
-## This function is provided for compatibility with @sc{Matlab}, but it
+## This function is provided for compatibility with @sc{matlab}, but it
 ## doesn't actually do anything.
 ## @end deftypefn
 
--- a/scripts/miscellaneous/perl.m
+++ b/scripts/miscellaneous/perl.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{output}, @var{status}] =} perl (@var{scriptfile})
-## @deftypefnx {Function File} {[@var{output}, @var{status}] =} perl (@var{scriptfile}, @var{argument1}, @var{argument2}, ...)
+## @deftypefnx {Function File} {[@var{output}, @var{status}] =} perl (@var{scriptfile}, @var{argument1}, @var{argument2}, @dots{})
 ## Invoke perl script @var{scriptfile} with possibly a list of
 ## command line arguments.
 ## Returns output in @var{output} and status
--- a/scripts/miscellaneous/setfield.m
+++ b/scripts/miscellaneous/setfield.m
@@ -32,8 +32,10 @@
 ## Note that this function could be written
 ##
 ## @example
+## @group
 ## i1 = @{1,2@}; i2 = "fd"; i3 = @{3@}; i4 = "b";
 ## oo(i1@{:@}).(i2)(i3@{:@}).(i4) == 6;
+## @end group
 ## @end example
 ## @seealso{getfield, rmfield, isfield, isstruct, fieldnames, struct}
 ## @end deftypefn
--- a/scripts/miscellaneous/unpack.m
+++ b/scripts/miscellaneous/unpack.m
@@ -23,7 +23,7 @@
 ## @var{dir}.  If @var{file} is a cellstr, then all files will be
 ## handled individually.  If @var{dir} is not specified, it defaults to
 ## the current directory.  It returns a list of @var{files}
-## unpacked. If a directory is in the file list, then the
+## unpacked.  If a directory is in the file list, then the
 ## @var{filetype} to unpack must also be specified.
 ##
 ## The @var{files} includes the entire path to the output files.
--- a/scripts/miscellaneous/warning_ids.m
+++ b/scripts/miscellaneous/warning_ids.m
@@ -35,8 +35,10 @@
 ## enabled, a warning is issued for statements like
 ## 
 ## @example
+## @group
 ## if (s = t)
 ##   @dots{}
+## @end group
 ## @end example
 ## 
 ## @noindent
@@ -44,8 +46,10 @@
 ## was to write
 ## 
 ## @example
+## @group
 ## if (s == t)
 ##   @dots{}
+## @end group
 ## @end example
 ## 
 ## @noindent
@@ -56,8 +60,10 @@
 ## statement.  For example, statements like
 ## 
 ## @example
+## @group
 ## while (c = getc())
 ##   @dots{}
+## @end group
 ## @end example
 ## 
 ## @noindent
@@ -68,8 +74,10 @@
 ## but that may also let real errors like
 ## 
 ## @example
+## @group
 ## if (x = 1)  # intended to test (x == 1)!
 ##   @dots{}
+## @end group
 ## @end example
 ## 
 ## @noindent
@@ -80,8 +88,10 @@
 ## previous example as
 ## 
 ## @example
+## @group
 ## while ((c = getc()))
 ##   @dots{}
+## @end group
 ## @end example
 ## 
 ## @noindent
@@ -95,7 +105,7 @@
 ## If the @code{Octave:associativity-change} warning is
 ## enabled, Octave will warn about possible changes in the meaning of
 ## some code due to changes in associativity for some operators.
-## Associativity changes have typically been made for @sc{Matlab}
+## Associativity changes have typically been made for @sc{matlab}
 ## compatibility.  By default, the @code{Octave:associativity-change}
 ## warning is enabled.
 ## 
@@ -142,7 +152,7 @@
 ## 
 ## @item Octave:matlab-incompatible
 ## Print warnings for Octave language features that may cause
-## compatibility problems with @sc{Matlab}.
+## compatibility problems with @sc{matlab}.
 ## 
 ## @item Octave:missing-semicolon
 ## If the @code{Octave:missing-semicolon} warning is enabled, Octave
@@ -180,7 +190,7 @@
 ## If the @code{Octave:precedence-change} warning is enabled, Octave
 ## will warn about possible changes in the meaning of some code due to
 ## changes in precedence for some operators.  Precedence changes have
-## typically been made for @sc{Matlab} compatibility.  By default, the
+## typically been made for @sc{matlab} compatibility.  By default, the
 ## @code{Octave:precedence-change} warning is enabled.
 ## 
 ## @item Octave:reload-forces-clear
--- a/scripts/miscellaneous/zip.m
+++ b/scripts/miscellaneous/zip.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{entries} =} zip (@var{zipfile}, @var{files})
 ## @deftypefnx {Function File} {@var{entries} =} zip (@var{zipfile}, @var{files}, @var{rootdir})
 ## Compress the list of files and/or directories specified in @var{files} 
-## into the archive @var{zipfiles} in the same directory. If @var{rootdir} 
+## into the archive @var{zipfiles} in the same directory.  If @var{rootdir} 
 ## is defined the @var{files} is located relative to @var{rootdir} rather 
 ## than the current directory
 ## @seealso{unzip,tar}
--- a/scripts/optimization/fsolve.m
+++ b/scripts/optimization/fsolve.m
@@ -23,11 +23,11 @@
 ## @deftypefnx{Function File} {[@var{x}, @var{fvec}, @var{info}, @var{output}, @var{fjac}]} = fsolve (@var{fcn}, @dots{})
 ## Solve a system of nonlinear equations defined by the function @var{fcn}.
 ## @var{fcn} should accepts a vector (array) defining the unknown variables,
-## and return a vector of left-hand sides of the equations. Right-hand sides
+## and return a vector of left-hand sides of the equations.  Right-hand sides
 ## are defined to be zeros.
 ## In other words, this function attempts to determine a vector @var{x} such 
 ## that @code{@var{fcn} (@var{x})} gives (approximately) all zeros.
-## @var{x0} determines a starting guess. The shape of @var{x0} is preserved
+## @var{x0} determines a starting guess.  The shape of @var{x0} is preserved
 ## in all calls to @var{fcn}, but otherwise it is treated as a column vector.
 ## @var{options} is a structure specifying additional options.
 ## Currently, @code{fsolve} recognizes these options:
@@ -39,7 +39,7 @@
 ## called with 2 output arguments, also returns the Jacobian matrix
 ## of right-hand sides at the requested point.  @code{"TolX"} specifies
 ## the termination tolerance in the unknown variables, while 
-## @code{"TolFun"} is a tolerance for equations. Default is @code{1e-7}
+## @code{"TolFun"} is a tolerance for equations.  Default is @code{1e-7}
 ## for both @code{"TolX"} and @code{"TolFun"}.
 ## If @code{"Updating"} is "on", the function will attempt to use Broyden
 ## updates to update the Jacobian, in order to reduce the amount of jacobian
@@ -50,7 +50,7 @@
 ## 
 ## @code{"ComplexEqn"} is @code{"on"}, @code{fsolve} will attempt to solve
 ## complex equations in complex variables, assuming that the equations posess a
-## complex derivative (i.e. are holomorphic). If this is not what you want, 
+## complex derivative (i.e., are holomorphic).  If this is not what you want, 
 ## should unpack the real and imaginary parts of the system to get a real
 ## system.
 ##
@@ -61,7 +61,7 @@
 ## 
 ## @table @asis
 ## @item 1
-## Converged to a solution point. Relative residual error is less than specified
+## Converged to a solution point.  Relative residual error is less than specified
 ## by TolFun.
 ## @item 2
 ## Last relative step size was less that TolX.
@@ -80,17 +80,18 @@
 ## Note about user-supplied jacobians:
 ## As an inherent property of the algorithm, jacobian is always requested for a
 ## solution vector whose residual vector is already known, and it is the last
-## accepted successful step. Often this will be one of the last two calls, but
-## not always. If the savings by reusing intermediate results from residual
+## accepted successful step.  Often this will be one of the last two calls, but
+## not always.  If the savings by reusing intermediate results from residual
 ## calculation in jacobian calculation are significant, the best strategy is to
 ## employ OutputFcn: After a vector is evaluated for residuals, if OutputFcn is
 ## called with that vector, then the intermediate results should be saved for
 ## future jacobian evaluation, and should be kept until a jacobian evaluation
 ## is requested or until outputfcn is called with a different vector, in which
-## case they should be dropped in favor of this most recent vector. A short
+## case they should be dropped in favor of this most recent vector.  A short
 ## example how this can be achieved follows:
 ##
 ## @example
+## @group
 ## function [fvec, fjac] = my_optim_func (x, optimvalues, state)
 ## persistent sav = [], sav0 = [];
 ## if (nargin == 1)
@@ -110,9 +111,10 @@
 ## endif
 ## endfunction
 ##
-## ## ....
+## ## @dots{}.
 ## 
 ## fsolve (@@my_optim_func, x0, optimset ("OutputFcn", @@my_optim_func, @dots{}))
+## @end group
 ## @end example
 ###
 ## @end deftypefn
--- a/scripts/optimization/fzero.m
+++ b/scripts/optimization/fzero.m
@@ -20,9 +20,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn{Function File}{[@var{x}, @var{fval}, @var{info}, @var{output}] =} fzero (@var{fun}, @var{x0}, @var{options})
-## Find a zero point of a univariate function. @var{fun} should be a function
-## handle or name. @var{x0} specifies a starting point. @var{options} is a
-## structure specifying additional options. Currently, @code{fzero}
+## Find a zero point of a univariate function.  @var{fun} should be a function
+## handle or name.  @var{x0} specifies a starting point.  @var{options} is a
+## structure specifying additional options.  Currently, @code{fzero}
 ## recognizes these options: @code{"FunValCheck"}, @code{"OutputFcn"},
 ## @code{"TolX"}, @code{"MaxIter"}, @code{"MaxFunEvals"}. 
 ## For description of these options, see @ref{doc-optimset,,optimset}.
--- a/scripts/optimization/glpk.m
+++ b/scripts/optimization/glpk.m
@@ -72,7 +72,7 @@
 ## @iftex
 ## @tex
 ## $$
-##  Ax [ = | \leq | \geq ] b \qquad  LB \leq x \leq UB
+##  Ax [ = | \leq | \geq ] b \qquad LB \leq x \leq UB
 ## $$
 ## @end tex
 ## @end iftex
@@ -256,9 +256,9 @@
 ## 
 ## @table @code
 ## @item relax (@code{LPX_K_RELAX}, default: 0.07)
-## Relaxation parameter used in the ratio test. If it is zero, the textbook
-## ratio test is used. If it is non-zero (should be positive), Harris'
-## two-pass ratio test is used. In the latter case on the first pass of the
+## Relaxation parameter used in the ratio test.  If it is zero, the textbook
+## ratio test is used.  If it is non-zero (should be positive), Harris'
+## two-pass ratio test is used.  In the latter case on the first pass of the
 ## ratio test basic variables (in the case of primal simplex) or reduced
 ## costs of non-basic variables (in the case of dual simplex) are allowed
 ## to slightly violate their bounds, but not more than
@@ -286,20 +286,20 @@
 ## the search.  This parameter is used in the dual simplex method only.
 ## 
 ## @item objul (@code{LPX_K_OBJUL}, default: +DBL_MAX)
-## Upper limit of the objective function. If on the phase II the objective
+## Upper limit of the objective function.  If on the phase II the objective
 ## function reaches this limit and continues increasing, the solver stops
 ## the search.  This parameter is used in the dual simplex only.
 ## 
 ## @item tmlim (@code{LPX_K_TMLIM}, default: -1.0)
-## Searching time limit, in seconds. If this value is positive, it is
+## Searching time limit, in seconds.  If this value is positive, it is
 ## decreased each time when one simplex iteration has been performed by the
 ## amount of time spent for the iteration, and reaching zero value signals
 ## the solver to stop the search.  Negative value means no time limit.
 ## 
 ## @item outdly (@code{LPX_K_OUTDLY}, default: 0.0)
-## Output delay, in seconds. This parameter specifies how long the solver
+## Output delay, in seconds.  This parameter specifies how long the solver
 ## should delay sending information about the solution to the standard
-## output. Non-positive value means no delay.
+## output.  Non-positive value means no delay.
 ## 
 ## @item tolint (@code{LPX_K_TOLINT}, default: 10e-5)
 ## Relative tolerance used to check if the current basic solution is integer
@@ -418,7 +418,7 @@
 ## param.msglev = 1;
 ## param.itlim = 100;
 ## 
-## [xmin, fmin, status, extra] = ...
+## [xmin, fmin, status, extra] = @dots{}
 ##    glpk (c, a, b, lb, ub, ctype, vartype, s, param);
 ## @end group
 ## @end example
--- a/scripts/optimization/glpkmex.m
+++ b/scripts/optimization/glpkmex.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{xopt}, @var{fmin}, @var{status}, @var{extra}] =} glpkmex (@var{sense}, @var{c}, @var{a}, @var{b}, @var{ctype}, @var{lb}, @var{ub}, @var{vartype}, @var{param}, @var{lpsolver}, @var{save_pb})
-## This function is provided for compatibility with the old @sc{Matlab}
+## This function is provided for compatibility with the old @sc{matlab}
 ## interface to the GNU GLPK library.  For Octave code, you should use
 ## the @code{glpk} function instead.
 ## @end deftypefn
--- a/scripts/optimization/lsqnonneg.m
+++ b/scripts/optimization/lsqnonneg.m
@@ -27,7 +27,7 @@
 ## @deftypefnx {Function File} {[@var{x}, @var{resnorm}, @var{residual}, @var{exitflag}, @var{output}] =} lsqnonneg (@dots{})
 ## @deftypefnx {Function File} {[@var{x}, @var{resnorm}, @var{residual}, @var{exitflag}, @var{output}, @var{lambda}] =} lsqnonneg (@dots{})
 ## Minimize @code{norm (@var{c}*@var{x}-d)} subject to @code{@var{x} >=
-## 0}. @var{c} and @var{d} must be real.  @var{x0} is an optional
+## 0}.  @var{c} and @var{d} must be real.  @var{x0} is an optional
 ## initial guess for @var{x}.
 ##
 ## Outputs:
--- a/scripts/optimization/qp.m
+++ b/scripts/optimization/qp.m
@@ -30,8 +30,10 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##      min 0.5 x'*H*x + x'*q
 ##       x
+## @end group
 ## @end example
 ##
 ## @end ifnottex
@@ -46,9 +48,11 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##      A*x = b
 ##      lb <= x <= ub
 ##      A_lb <= A_in*x <= A_ub
+## @end group
 ## @end example
 ## @end ifnottex
 ##
--- a/scripts/optimization/sqp.m
+++ b/scripts/optimization/sqp.m
@@ -29,8 +29,10 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##      min phi (x)
 ##       x
+## @end group
 ## @end example
 ##
 ## @end ifnottex
@@ -45,9 +47,11 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##      g(x)  = 0
 ##      h(x) >= 0
 ##      lb <= x <= ub
+## @end group
 ## @end example
 ## @end ifnottex
 ##
@@ -126,26 +130,29 @@
 ## @end iftex
 ## @ifnottex
 ## @example
+## @group
 ##                 [ d f(x)   d f(x)        d f(x) ]
 ##     transpose ( [ ------   -----   ...   ------ ] )
 ##                 [  dx_1     dx_2          dx_N  ]
+## @end group
 ## @end example
 ## @end ifnottex
 ##
 ## The fifth and sixth arguments are vectors containing lower and upper bounds
-## on @var{x}. These must be consistent with equality and inequality
-## constraints @var{g} and @var{h}. If the bounds are not specified, or are
+## on @var{x}.  These must be consistent with equality and inequality
+## constraints @var{g} and @var{h}.  If the bounds are not specified, or are
 ## empty, they are set to -@var{realmax} and @var{realmax} by default.
 ##
-## The seventh argument is max. number of iterations. If not specified,
+## The seventh argument is max. number of iterations.  If not specified,
 ## the default value is 100.
 ##
-## The eighth argument is tolerance for stopping criteria. If not specified,
+## The eighth argument is tolerance for stopping criteria.  If not specified,
 ## the default value is @var{eps}.
 ##
 ## Here is an example of calling @code{sqp}:
 ##
 ## @example
+## @group
 ## function r = g (x)
 ##   r = [ sumsq(x)-10;
 ##         x(2)*x(3)-5*x(4)*x(5); 
@@ -177,6 +184,7 @@
 ##   -0.0401627
 ##    0.0379578
 ##   -0.0052227
+## @end group
 ## @end example
 ##
 ## The value returned in @var{info} may be one of the following:
--- a/scripts/pkg/pkg.m
+++ b/scripts/pkg/pkg.m
@@ -1,4 +1,4 @@
-## Copyright (C) 2005, 2006, 2007, 2008, 2009 Søren Hauberg
+## Copyright (C) 2005, 2006, 2007, 2008, 2009 S�ren Hauberg
 ## 
 ## This file is part of Octave.
 ##
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn  {Command} pkg @var{command} @var{pkg_name}
 ## @deftypefnx {Command} pkg @var{command} @var{option} @var{pkg_name}
-## This command interacts with the package manager. Different actions will
+## This command interacts with the package manager.  Different actions will
 ## be taken depending on the value of @var{command}.
 ##
 ## @table @samp
@@ -32,13 +32,13 @@
 ## installs the package found in the file @code{image-1.0.0.tar.gz}.
 ##
 ## The @var{option} variable can contain options that affect the manner
-## in which a package is installed. These options can be one or more of
+## in which a package is installed.  These options can be one or more of
 ##
 ## @table @code
 ## @item -nodeps
-## The package manager will disable the dependency checking. That way it 
+## The package manager will disable the dependency checking.  That way it 
 ## is possible to install a package even if it depends on another package 
-## that's not installed on the system. @strong{Use this option with care.}
+## that's not installed on the system.  @strong{Use this option with care.}
 ##
 ## @item -noauto
 ## The package manager will not automatically load the installed package 
@@ -66,29 +66,29 @@
 ## pkg uninstall image
 ## @end example
 ## @noindent
-## removes the @code{image} package from the system. If another installed
+## removes the @code{image} package from the system.  If another installed
 ## package depends on the @code{image} package an error will be issued.
 ## The package can be uninstalled anyway by using the @code{-nodeps} option.
 ## @item load
-## Add named packages to the path. After loading a package it is
-## possible to use the functions provided by the package. For example,
+## Add named packages to the path.  After loading a package it is
+## possible to use the functions provided by the package.  For example,
 ## @example
 ## pkg load image
 ## @end example
 ## @noindent
-## adds the @code{image} package to the path. It is possible to load all
+## adds the @code{image} package to the path.  It is possible to load all
 ## installed packages at once with the command
 ## @example
 ## pkg load all
 ## @end example
 ## @item unload
-## Removes named packages from the path. After unloading a package it is
+## Removes named packages from the path.  After unloading a package it is
 ## no longer possible to use the functions provided by the package.
 ## This command behaves like the @code{load} command.
 ## @item list
-## Show a list of the currently installed packages. By requesting one or two
+## Show a list of the currently installed packages.  By requesting one or two
 ## output argument it is possible to get a list of the currently installed
-## packages. For example,
+## packages.  For example,
 ## @example
 ## installed_packages = pkg list;
 ## @end example
@@ -125,7 +125,7 @@
 ## @var{flag} will take one of the values "Not installed", "Loaded" or
 ## "Not loaded" for each of the named packages.
 ## @item prefix
-## Set the installation prefix directory. For example,
+## Set the installation prefix directory.  For example,
 ## @example
 ## pkg prefix ~/my_octave_packages
 ## @end example
@@ -140,15 +140,15 @@
 ## @end example
 ##
 ## The location in which to install the architecture dependent files can be
-## independent specified with an addition argument. For example
+## independent specified with an addition argument.  For example
 ##
 ## @example
 ## pkg prefix ~/my_octave_packages ~/my_octave_packages_for_my_pc
 ## @end example
 ## @item local_list
 ## Set the file in which to look for information on the locally
-## installed packages. Locally installed packages are those that are
-## typically available only to the current user. For example
+## installed packages.  Locally installed packages are those that are
+## typically available only to the current user.  For example
 ## @example
 ## pkg local_list ~/.octave_packages
 ## @end example
@@ -158,8 +158,8 @@
 ## @end example
 ## @item global_list
 ## Set the file in which to look for, for information on the globally
-## installed packages. Globally installed packages are those that are
-## typically available to all users. For example
+## installed packages.  Globally installed packages are those that are
+## typically available to all users.  For example
 ## @example
 ## pkg global_list /usr/share/octave/octave_packages
 ## @end example
@@ -168,10 +168,10 @@
 ## pkg global_list
 ## @end example
 ## @item rebuild
-## Rebuilds the package database from the installed directories. This can 
+## Rebuilds the package database from the installed directories.  This can 
 ## be used in cases where for some reason the package database is corrupted.
 ## It can also take the @code{-auto} and @code{-noauto} options to allow the
-## autolaoding state of a package to be changed. For example
+## autolaoding state of a package to be changed.  For example
 ##
 ## @example
 ## pkg rebuild -noauto image
@@ -179,9 +179,9 @@
 ##
 ## will remove the autoloading status of the image package.
 ## @item build
-## Builds a binary form of a package or packages. The binary file produced
+## Builds a binary form of a package or packages.  The binary file produced
 ## will itself be an Octave package that can be installed normally with
-## @code{pkg}. The form of the command to build a binary package is
+## @code{pkg}.  The form of the command to build a binary package is
 ##
 ## @example
 ## pkg build builddir image-1.0.0.tar.gz @dots{}
--- a/scripts/plot/contourc.m
+++ b/scripts/plot/contourc.m
@@ -26,8 +26,10 @@
 ## contour lines in the following format
 ##
 ## @example
+## @group
 ## @var{c} = [lev1, x1, x2, @dots{}, levn, x1, x2, @dots{} 
 ##      len1, y1, y2, @dots{}, lenn, y1, y2, @dots{}]
+## @end group
 ## @end example
 ##
 ## @noindent
--- a/scripts/plot/contourf.m
+++ b/scripts/plot/contourf.m
@@ -48,8 +48,10 @@
 ## The following example plots filled contours of the @code{peaks}
 ## function.
 ## @example
+## @group
 ## [x, y, z] = peaks (50);
 ## contourf (x, y, z, -7:9)
+## @end group
 ## @end example
 ## @seealso{contour, contourc, patch}
 ## @end deftypefn
--- a/scripts/plot/cylinder.m
+++ b/scripts/plot/cylinder.m
@@ -36,9 +36,11 @@
 ##
 ## Examples:
 ## @example
+## @group
 ## disp ("plotting a cone")
 ## [x, y, z] = cylinder (10:-1:0,50);
 ## surf (x, y, z);
+## @end group
 ## @end example
 ## @seealso{sphere}
 ## @end deftypefn
--- a/scripts/plot/errorbar.m
+++ b/scripts/plot/errorbar.m
@@ -84,8 +84,10 @@
 ## errorbars drawn from @var{x}-@var{ex} to @var{x}+@var{ex}.
 ##
 ## @example
+## @group
 ## errorbar (@var{x}, @var{y1}, @var{ey}, "~",
 ##           @var{x}, @var{y2}, @var{ly}, @var{uy})
+## @end group
 ## @end example
 ##
 ## produces yerrorbar plots with @var{y1} and @var{y2} versus @var{x}.
@@ -94,8 +96,10 @@
 ## @var{y2}+@var{uy}.
 ##
 ## @example
+## @group
 ## errorbar (@var{x}, @var{y}, @var{lx}, @var{ux},
 ##           @var{ly}, @var{uy}, "~>")
+## @end group
 ## @end example
 ##
 ## produces an xyerrorbar plot of @var{y} versus @var{x} in which
--- a/scripts/plot/fplot.m
+++ b/scripts/plot/fplot.m
@@ -31,8 +31,10 @@
 ## to the plot command.
 ##
 ## @example
+## @group
 ##    fplot ("cos", [0, 2*pi])
 ##    fplot ("[cos(x), sin(x)]", [0, 2*pi])
+## @end group
 ## @end example
 ## @seealso{plot}
 ## @end deftypefn
--- a/scripts/plot/plot.m
+++ b/scripts/plot/plot.m
@@ -156,8 +156,10 @@
 ## with points displayed as @samp{*} with a marker size of 3.
 ##
 ## @example
+## @group
 ## t = 0:0.1:6.3;
 ## plot (t, cos(t), "-;cos(t);", t, sin(t), "+3;sin(t);");
+## @end group
 ## @end example
 ##
 ## This will plot the cosine and sine functions and label them accordingly
--- a/scripts/plot/rose.m
+++ b/scripts/plot/rose.m
@@ -38,8 +38,10 @@
 ## returned.
 ##
 ## @example
+## @group
 ## [r, t] = rose ([2*randn(1e5,1), pi + 2 * randn(1e5,1)]);
 ## polar (r, t);
+## @end group
 ## @end example
 ##
 ##
--- a/scripts/plot/slice.m
+++ b/scripts/plot/slice.m
@@ -30,7 +30,7 @@
 ## as the array @var{v} in the "meshgrid" format or vectors.  The
 ## parameters @var{xi}, etc respect a similar format to @var{x}, etc,
 ## and they represent the points at which the array @var{vi} is
-## interpolated using interp3. The vectors @var{sx}, @var{sy}, and
+## interpolated using interp3.  The vectors @var{sx}, @var{sy}, and
 ## @var{sz} contain points of orthogonal slices of the respective axes.
 ##
 ## If @var{x}, @var{y}, @var{z} are omitted, they are assumed to be 
@@ -57,12 +57,14 @@
 ##
 ## Examples:
 ## @example
+## @group
 ## [x, y, z] = meshgrid (linspace (-8, 8, 32));
 ## v = sin (sqrt (x.^2 + y.^2 + z.^2)) ./ (sqrt (x.^2 + y.^2 + z.^2));
 ## slice (x, y, z, v, [], 0, []);
 ## [xi, yi] = meshgrid (linspace (-7, 7));
 ## zi = xi + yi;
 ## slice (x, y, z, v, xi, yi, zi);
+## @end group
 ## @end example
 ## @seealso{interp3, surface, pcolor}
 ## @end deftypefn
--- a/scripts/plot/stem3.m
+++ b/scripts/plot/stem3.m
@@ -25,8 +25,10 @@
 ##
 ## For example,
 ## @example
+## @group
 ## theta = 0:0.2:6; 
 ## stem3 (cos (theta), sin (theta), theta) 
+## @end group
 ## @end example
 ##
 ## @noindent
--- a/scripts/plot/surface.m
+++ b/scripts/plot/surface.m
@@ -28,7 +28,7 @@
 ## Plot a surface graphic object given matrices @var{x}, and @var{y} from 
 ## @code{meshgrid} and a matrix @var{z} corresponding to the @var{x} and 
 ## @var{y} coordinates of the surface.  If @var{x} and @var{y} are vectors,
-## then a typical vertex  is (@var{x}(j), @var{y}(i), @var{z}(i,j)).  Thus, 
+## then a typical vertex is (@var{x}(j), @var{y}(i), @var{z}(i,j)).  Thus, 
 ## columns of @var{z} correspond to different @var{x} values and rows of 
 ## @var{z} correspond to different @var{y} values.  If @var{x} and @var{y}
 ## are missing, they are constructed from size of the matrix @var{z}.
--- a/scripts/plot/surfl.m
+++ b/scripts/plot/surfl.m
@@ -50,9 +50,11 @@
 ## Example:
 ##
 ## @example
+## @group
 ## colormap(bone);
 ## surfl(peaks);
 ## shading interp;
+## @end group
 ## @end example
 ## @seealso{surf, diffuse, specular, surface}
 ## @end deftypefn
--- a/scripts/plot/surfnorm.m
+++ b/scripts/plot/surfnorm.m
@@ -26,8 +26,10 @@
 ## @var{y} are not defined, then it is assumed that they are given by
 ##
 ## @example
+## @group
 ## [@var{x}, @var{y}] = meshgrid (1:size(@var{z}, 1), 
 ##                      1:size(@var{z}, 2));
+## @end group
 ## @end example
 ##
 ## If no return arguments are requested, a surface plot with the normal 
--- a/scripts/polynomial/compan.m
+++ b/scripts/polynomial/compan.m
@@ -39,13 +39,13 @@
 ##
 ## @smallexample
 ##      _                                                        _
-##     |  -c(2)/c(1)   -c(3)/c(1)  ...  -c(N)/c(1)  -c(N+1)/c(1)  |
-##     |       1            0      ...       0             0      |
-##     |       0            1      ...       0             0      |
+##     |  -c(2)/c(1)   -c(3)/c(1)  @dots{}  -c(N)/c(1)  -c(N+1)/c(1)  |
+##     |       1            0      @dots{}       0             0      |
+##     |       0            1      @dots{}       0             0      |
 ## A = |       .            .   .            .             .      |
 ##     |       .            .       .        .             .      |
 ##     |       .            .           .    .             .      |
-##     |_      0            0      ...       1             0     _|
+##     |_      0            0      @dots{}       1             0     _|
 ## @end smallexample
 ## @end ifnottex
 ##
--- a/scripts/polynomial/convn.m
+++ b/scripts/polynomial/convn.m
@@ -25,13 +25,13 @@
 ##
 ## @table @asis
 ## @item "full"
-## The full convolution result is returned. The size out of the output is
-## @code{size (@var{a}) + size (@var{b})-1}. This is the default behaviour.
+## The full convolution result is returned.  The size out of the output is
+## @code{size (@var{a}) + size (@var{b})-1}.  This is the default behaviour.
 ## @item "same"
-## The central part of the convolution result is returned. The size out of the
+## The central part of the convolution result is returned.  The size out of the
 ## output is the same as @var{a}.
 ## @item "valid"
-## The valid part of the convolution is returned. The size of the result is
+## The valid part of the convolution is returned.  The size of the result is
 ## @code{max (size (@var{a}) - size (@var{b})+1, 0)}.
 ## @end table
 ##
--- a/scripts/polynomial/mkpp.m
+++ b/scripts/polynomial/mkpp.m
@@ -24,7 +24,7 @@
 ## @var{x} and coefficients @var{p}.  The i-th row of @var{p},
 ## @code{@var{p} (@var{i},:)}, contains the coefficients for the polynomial
 ## over the @var{i}-th interval, ordered from highest to 
-## lowest. There must be one row for each interval in @var{x}, so 
+## lowest.  There must be one row for each interval in @var{x}, so 
 ## @code{rows (@var{p}) == length (@var{x}) - 1}.  
 ##
 ## You can concatenate multiple polynomials of the same order over the 
@@ -33,7 +33,7 @@
 ## * (length (@var{x}) - 1)}.
 ##
 ## @var{d} specifies the shape of the matrix @var{p} for all except the
-## last dimension. If @var{d} is not specified it will be computed as
+## last dimension.  If @var{d} is not specified it will be computed as
 ## @code{round (rows (@var{p}) / (length (@var{x}) - 1))} instead.
 ##
 ## @seealso{unmkpp, ppval, spline}
--- a/scripts/polynomial/pchip.m
+++ b/scripts/polynomial/pchip.m
@@ -20,15 +20,15 @@
 ## @deftypefn {Function File} {@var{pp} =} pchip (@var{x}, @var{y})
 ## @deftypefnx {Function File} {@var{yi} =} pchip (@var{x}, @var{y}, @var{xi})
 ##
-## Piecewise Cubic Hermite interpolating polynomial. Called with two
+## Piecewise Cubic Hermite interpolating polynomial.  Called with two
 ## arguments, the piece-wise polynomial @var{pp} is returned, that may
 ## later be used with @code{ppval} to evaluate the polynomial at
 ## specific points.
 ##
 ## The variable @var{x} must be a strictly monotonic vector (either
-## increasing or decreasing). While @var{y} can be either a vector or
-## array. In the case where @var{y} is a vector, it must have a length
-## of @var{n}. If @var{y} is an array, then the size of @var{y} must
+## increasing or decreasing).  While @var{y} can be either a vector or
+## array.  In the case where @var{y} is a vector, it must have a length
+## of @var{n}.  If @var{y} is an array, then the size of @var{y} must
 ## have the form
 ## @iftex
 ## @tex
@@ -48,12 +48,12 @@
 ## @ifnottex
 ## @code{@var{s1} * @var{s2} * @dots{} * @var{sk}}
 ## @end ifnottex
-## and each row in this matrix is then treated separately. Note that this
+## and each row in this matrix is then treated separately.  Note that this
 ## is exactly the opposite treatment than @code{interp1} and is done
 ## for compatibility.
 ##
 ## Called with a third input argument, @code{pchip} evaluates the 
-## piece-wise polynomial at the points @var{xi}. There is an equivalence
+## piece-wise polynomial at the points @var{xi}.  There is an equivalence
 ## between @code{ppval (pchip (@var{x}, @var{y}), @var{xi})} and
 ## @code{pchip (@var{x}, @var{y}, @var{xi})}.
 ##
--- a/scripts/polynomial/poly.m
+++ b/scripts/polynomial/poly.m
@@ -24,10 +24,12 @@
 ## the characteristic polynomial of @var{a}.  As an example we can use
 ## this to find the eigenvalues of @var{a} as the roots of @code{poly (@var{a})}.
 ## @example
+## @group
 ## roots(poly(eye(3)))
 ## @result{} 1.00000 + 0.00000i
 ## @result{} 1.00000 - 0.00000i
 ## @result{} 1.00000 + 0.00000i
+## @end group
 ## @end example
 ## In real-life examples you should, however, use the @code{eig} function
 ## for computing eigenvalues.
--- a/scripts/polynomial/polygcd.m
+++ b/scripts/polynomial/polygcd.m
@@ -31,11 +31,13 @@
 ##
 ## Example
 ## @example
+## @group
 ## polygcd (poly(1:8), poly(3:12)) - poly(3:8)
 ## @result{} [ 0, 0, 0, 0, 0, 0, 0 ]
 ## deconv (poly(1:8), polygcd (poly(1:8), poly(3:12))) ...
 ##   - poly(1:2)
 ## @result{} [ 0, 0, 0 ]
+## @end group
 ## @end example
 ## @seealso{poly, polyinteg, polyderiv, polyreduce, roots, conv, deconv,
 ## residue, filter, polyval, polyvalm}
--- a/scripts/polynomial/polyint.m
+++ b/scripts/polynomial/polyint.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} polyint (@var{c}, @var{k})
 ## Return the coefficients of the integral of the polynomial whose
-## coefficients are represented by the vector @var{c}. The variable
+## coefficients are represented by the vector @var{c}.  The variable
 ## @var{k} is the constant of integration, which by default is set to zero.
 ## @seealso{poly, polyderiv, polyreduce, roots, conv, deconv, residue,
 ## filter, polyval, polyvalm}
--- a/scripts/polynomial/polyout.m
+++ b/scripts/polynomial/polyout.m
@@ -27,7 +27,7 @@
 ## @end iftex
 ## @ifnottex
 ## @example
-##    c(x) = c(1) * x^n + ... + c(n) x + c(n+1)
+##    c(x) = c(1) * x^n + @dots{} + c(n) x + c(n+1)
 ## @end example
 ## @end ifnottex
 ##  and return it as a string or write it to the screen (if
--- a/scripts/polynomial/polyval.m
+++ b/scripts/polynomial/polyval.m
@@ -18,9 +18,9 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{y}=} polyval (@var{p}, @var{x})
-## @deftypefnx {Function File} {@var{y}=} polyval (@var{p}, @var{x}, [], @var{mu})
-## Evaluate the polynomial at of the specified values for @var{x}. When @var{mu}
+## @deftypefn {Function File} {@var{y} =} polyval (@var{p}, @var{x})
+## @deftypefnx {Function File} {@var{y} =} polyval (@var{p}, @var{x}, [], @var{mu})
+## Evaluate the polynomial at of the specified values for @var{x}.  When @var{mu}
 ## is present evaluate the polynomial for (@var{x}-@var{mu}(1))/@var{mu}(2).
 ## If @var{x} is a vector or matrix, the polynomial is evaluated for each of
 ## the elements of @var{x}.
@@ -28,7 +28,7 @@
 ## @deftypefnx {Function File} {[@var{y}, @var{dy}] =} polyval (@var{p}, @var{x}, @var{s}, @var{mu})
 ## In addition to evaluating the polynomial, the second output 
 ## represents the prediction interval, @var{y} +/- @var{dy}, which
-## contains at least 50% of the future predictions. To calculate the
+## contains at least 50% of the future predictions.  To calculate the
 ## prediction interval, the structured variable @var{s}, originating
 ## form `polyfit', must be present.
 ## @seealso{polyfit, polyvalm, poly, roots, conv, deconv, residue, filter,
--- a/scripts/polynomial/polyvalm.m
+++ b/scripts/polynomial/polyvalm.m
@@ -23,7 +23,7 @@
 ## Evaluate a polynomial in the matrix sense.
 ##
 ## @code{polyvalm (@var{c}, @var{x})} will evaluate the polynomial in the
-## matrix sense, i.e. matrix multiplication is used instead of element by
+## matrix sense, i.e., matrix multiplication is used instead of element by
 ## element multiplication as is used in polyval.
 ##
 ## The argument @var{x} must be a square matrix.
--- a/scripts/polynomial/residue.m
+++ b/scripts/polynomial/residue.m
@@ -34,9 +34,11 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##  B(s)    M       r(m)         N
 ##  ---- = SUM -------------  + SUM k(i)*s^(N-i)
 ##  A(s)   m=1 (s-p(m))^e(m)    i=1
+## @end group
 ## @end example
 ## @end ifnottex
 ##
@@ -72,9 +74,11 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##         s^2 + s + 1       -2        7        3
 ##    ------------------- = ----- + ------- + -----
 ##    s^3 - 5s^2 + 8s - 4   (s-2)   (s-2)^2   (s-1)
+## @end group
 ## @end example
 ##
 ## @end ifnottex
@@ -131,9 +135,11 @@
 ## @ifnottex
 ##
 ## @example
+## @group
 ##     -2        7        3         s^4 - 5s^3 + 9s^2 - 3s + 1
 ##    ----- + ------- + ----- + s = --------------------------
 ##    (s-2)   (s-2)^2   (s-1)          s^3 - 5s^2 + 8s - 4
+## @end group
 ## @end example
 ## @end ifnottex
 ## @seealso{poly, roots, conv, deconv, mpoles, polyval, polyderiv, polyinteg}
--- a/scripts/polynomial/roots.m
+++ b/scripts/polynomial/roots.m
@@ -32,7 +32,7 @@
 ## @ifnottex
 ##
 ## @example
-## v(1) * z^(N-1) + ... + v(N-1) * z + v(N)
+## v(1) * z^(N-1) + @dots{} + v(N-1) * z + v(N)
 ## @end example
 ## @end ifnottex
 ##
@@ -49,10 +49,12 @@
 ## @end example
 ## @end ifnottex
 ## @example
+## @group
 ## c = [1, 0, -5];
 ## roots(c)
 ## @result{}  2.2361
 ## @result{} -2.2361
+## @end group
 ## @end example
 ## Note that the true result is
 ## @iftex
--- a/scripts/polynomial/spline.m
+++ b/scripts/polynomial/spline.m
@@ -26,15 +26,15 @@
 ## polynomial @var{pp} that may later be used with @code{ppval} to
 ## evaluate the polynomial at specific points.
 ## If called with a third input argument, @code{spline} evaluates the 
-## spline at the points @var{xi}. There is an equivalence
+## spline at the points @var{xi}.  There is an equivalence
 ## between @code{ppval (spline (@var{x}, @var{y}), @var{xi})} and
 ## @code{spline (@var{x}, @var{y}, @var{xi})}.
 ##
 ## The variable @var{x} must be a vector of length @var{n}, and @var{y}
-## can be either a vector or array. In the case where @var{y} is a
+## can be either a vector or array.  In the case where @var{y} is a
 ## vector, it can have a length of either @var{n} or @code{@var{n} + 2}.
 ## If the length of @var{y} is @var{n}, then the 'not-a-knot' end
-## condition is used. If the length of @var{y} is @code{@var{n} + 2},
+## condition is used.  If the length of @var{y} is @code{@var{n} + 2},
 ## then the first and last values of the vector @var{y} are the values
 ## of the first derivative of the cubic spline at the end-points.
 ##
@@ -66,7 +66,7 @@
 ## @ifnottex
 ## @code{@var{s1} * @var{s2} * @dots{} * @var{sk}}
 ## @end ifnottex
-## and each row of this matrix is then treated separately. Note that this
+## and each row of this matrix is then treated separately.  Note that this
 ## is exactly the opposite treatment than @code{interp1} and is done
 ## for compatibility.
 ## @seealso{ppval, mkpp, unmkpp}
--- a/scripts/polynomial/unmkpp.m
+++ b/scripts/polynomial/unmkpp.m
@@ -26,11 +26,11 @@
 ## @item @var{x}
 ## Sample points.
 ## @item @var{p}
-## Polynomial coefficients for points in sample interval. @code{@var{p}
+## Polynomial coefficients for points in sample interval.  @code{@var{p}
 ## (@var{i}, :)} contains the coefficients for the polynomial over
-## interval @var{i} ordered from highest to lowest. If @code{@var{d} >
+## interval @var{i} ordered from highest to lowest.  If @code{@var{d} >
 ## 1}, @code{@var{p} (@var{r}, @var{i}, :)} contains the coefficients for 
-## the r-th polynomial defined on interval @var{i}. However, this is 
+## the r-th polynomial defined on interval @var{i}.  However, this is 
 ## stored as a 2-D array such that @code{@var{c} = reshape (@var{p} (:,
 ## @var{j}), @var{n}, @var{d})} gives @code{@var{c} (@var{i},  @var{r})}
 ## is the j-th coefficient of the r-th polynomial over the i-th interval.
--- a/scripts/set/intersect.m
+++ b/scripts/set/intersect.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {[@var{c}, @var{ia}, @var{ib}] =} intersect (@var{a}, @var{b})
 ##
 ## Return the elements in both @var{a} and @var{b}, sorted in ascending
-## order. If @var{a} and @var{b} are both column vectors return a column
+## order.  If @var{a} and @var{b} are both column vectors return a column
 ## vector, otherwise return a row vector.
 ##
 ## Return index vectors @var{ia} and @var{ib} such that @code{a(ia)==c} and
--- a/scripts/set/ismember.m
+++ b/scripts/set/ismember.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {[@var{tf}, @var{a_idx}] =} ismember (@var{A}, @var{S}) 
 ## @deftypefnx {Function File} {[@var{tf}, @var{a_idx}] =} ismember (@var{A}, @var{S}, "rows")
 ## Return a matrix @var{tf} the same shape as @var{A} which has 1 if 
-## @code{A(i,j)} is in @var{S} or 0 if it isn't. If a second output argument 
+## @code{A(i,j)} is in @var{S} or 0 if it isn't.  If a second output argument 
 ## is requested, the indexes into @var{S} of the matching elements are
 ## also returned. 
 ##
--- a/scripts/set/setdiff.m
+++ b/scripts/set/setdiff.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} setdiff (@var{a}, @var{b})
 ## @deftypefnx {Function File} {} setdiff (@var{a}, @var{b}, "rows")
-## @deftypefnx {Function File} {[@var{c}, @var{i}] = } setdiff (@var{a}, @var{b})
+## @deftypefnx {Function File} {[@var{c}, @var{i}] =} setdiff (@var{a}, @var{b})
 ## Return the elements in @var{a} that are not in @var{b}, sorted in
 ## ascending order.  If @var{a} and @var{b} are both column vectors
 ## return a column vector, otherwise return a row vector.
--- a/scripts/set/setxor.m
+++ b/scripts/set/setxor.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {} setxor (@var{a}, @var{b}, 'rows')
 ##
 ## Return the elements exclusive to @var{a} or @var{b}, sorted in ascending
-## order. If @var{a} and @var{b} are both column vectors return a column
+## order.  If @var{a} and @var{b} are both column vectors return a column
 ## vector, otherwise return a row vector.
 ##
 ## @deftypefnx {Function File} {[@var{c}, @var{ia}, @var{ib}] =} setxor (@var{a}, @var{b})
--- a/scripts/signal/arch_fit.m
+++ b/scripts/signal/arch_fit.m
@@ -23,8 +23,10 @@
 ## scoring algorithm in Engle's original ARCH paper.  The model is
 ##
 ## @example
-## y(t) = b(1) * x(t,1) + ... + b(k) * x(t,k) + e(t),
-## h(t) = a(1) + a(2) * e(t-1)^2 + ... + a(p+1) * e(t-p)^2
+## @group
+## y(t) = b(1) * x(t,1) + @dots{} + b(k) * x(t,k) + e(t),
+## h(t) = a(1) + a(2) * e(t-1)^2 + @dots{} + a(p+1) * e(t-p)^2
+## @end group
 ## @end example
 ##
 ## @noindent
@@ -38,7 +40,7 @@
 ## i.e., do the above with the @math{t}-th row of @var{x} given by
 ##
 ## @example
-## [1, y(t-1), ..., y(t-k)]
+## [1, y(t-1), @dots{}, y(t-k)]
 ## @end example
 ##
 ## Optionally, one can specify the number of iterations @var{iter}, the
--- a/scripts/signal/arma_rnd.m
+++ b/scripts/signal/arma_rnd.m
@@ -22,8 +22,10 @@
 ## Return a simulation of the ARMA model
 ##
 ## @example
-## x(n) = a(1) * x(n-1) + ... + a(k) * x(n-k)
-##      + e(n) + b(1) * e(n-1) + ... + b(l) * e(n-l)
+## @group
+## x(n) = a(1) * x(n-1) + @dots{} + a(k) * x(n-k)
+##      + e(n) + b(1) * e(n-1) + @dots{} + b(l) * e(n-l)
+## @end group
 ## @end example
 ##
 ## @noindent
--- a/scripts/signal/bartlett.m
+++ b/scripts/signal/bartlett.m
@@ -22,7 +22,7 @@
 ## Return the filter coefficients of a Bartlett (triangular) window of
 ## length @var{m}.
 ##
-## For a definition of the Bartlett window, see e.g. A. V. Oppenheim &
+## For a definition of the Bartlett window, see e.g., A. V. Oppenheim &
 ## R. W. Schafer, @cite{Discrete-Time Signal Processing}.
 ## @end deftypefn
 
--- a/scripts/signal/blackman.m
+++ b/scripts/signal/blackman.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} blackman (@var{m})
 ## Return the filter coefficients of a Blackman window of length @var{m}.
 ##
-## For a definition of the  Blackman window, see e.g. A. V. Oppenheim &
+## For a definition of the Blackman window, see e.g., A. V. Oppenheim &
 ## R. W. Schafer, @cite{Discrete-Time Signal Processing}.
 ## @end deftypefn
 
--- a/scripts/signal/fftshift.m
+++ b/scripts/signal/fftshift.m
@@ -32,7 +32,7 @@
 ## f = ((1:N) - ceil(N/2)) / N / Dt
 ## @end example
 ##
-## If @var{v} is a matrix, the same holds for rows and columns. If 
+## If @var{v} is a matrix, the same holds for rows and columns.  If 
 ## @var{v} is an array, then the same holds along each dimension.
 ##
 ## The optional @var{dim} argument can be used to limit the dimension
--- a/scripts/signal/filter2.m
+++ b/scripts/signal/filter2.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} filter2 (@var{b}, @var{x})
 ## @deftypefnx {Function File} {@var{y} =} filter2 (@var{b}, @var{x}, @var{shape})
-## Apply the 2-D FIR filter @var{b} to @var{x}. If the argument
+## Apply the 2-D FIR filter @var{b} to @var{x}.  If the argument
 ## @var{shape} is specified, return an array of the desired shape.
 ## Possible values are: 
 ##
--- a/scripts/signal/hamming.m
+++ b/scripts/signal/hamming.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} hamming (@var{m})
 ## Return the filter coefficients of a Hamming window of length @var{m}.
 ##
-## For a definition of the Hamming window, see e.g. A. V. Oppenheim &
+## For a definition of the Hamming window, see e.g., A. V. Oppenheim &
 ## R. W. Schafer, @cite{Discrete-Time Signal Processing}.
 ## @end deftypefn
 
--- a/scripts/signal/hanning.m
+++ b/scripts/signal/hanning.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} hanning (@var{m})
 ## Return the filter coefficients of a Hanning window of length @var{m}.
 ##
-## For a definition of this window type, see e.g. A. V. Oppenheim &
+## For a definition of this window type, see e.g., A. V. Oppenheim &
 ## R. W. Schafer, @cite{Discrete-Time Signal Processing}.
 ## @end deftypefn
 
--- a/scripts/signal/rectangle_lw.m
+++ b/scripts/signal/rectangle_lw.m
@@ -19,7 +19,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} rectangle_lw (@var{n}, @var{b})
-## Rectangular lag window. Subfunction used for spectral density
+## Rectangular lag window.  Subfunction used for spectral density
 ## estimation.
 ## @end deftypefn
 
--- a/scripts/signal/triangle_lw.m
+++ b/scripts/signal/triangle_lw.m
@@ -19,7 +19,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} triangle_lw (@var{n}, @var{b})
-## Triangular lag window. Subfunction used for spectral density
+## Triangular lag window.  Subfunction used for spectral density
 ## estimation.
 ## @end deftypefn
 
--- a/scripts/signal/yulewalker.m
+++ b/scripts/signal/yulewalker.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{a}, @var{v}] =} yulewalker (@var{c})
 ## Fit an AR (p)-model with Yule-Walker estimates given a vector @var{c}
-## of autocovariances @code{[gamma_0, ..., gamma_p]}.
+## of autocovariances @code{[gamma_0, @dots{}, gamma_p]}.
 ##
 ## Returns the AR coefficients, @var{a}, and the variance of white
 ## noise, @var{v}.
--- a/scripts/sparse/colperm.m
+++ b/scripts/sparse/colperm.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{p} =} colperm (@var{s})
 ## Returns the column permutations such that the columns of
 ## @code{@var{s} (:, @var{p})} are ordered in terms of increase number
-## of non-zero elements. If @var{s} is symmetric, then @var{p} is chosen
+## of non-zero elements.  If @var{s} is symmetric, then @var{p} is chosen
 ## such that @code{@var{s} (@var{p}, @var{p})} orders the rows and
 ## columns with increasing number of non zeros elements.
 ## @end deftypefn
--- a/scripts/sparse/normest.m
+++ b/scripts/sparse/normest.m
@@ -19,12 +19,12 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{n}, @var{c}] =} normest (@var{a}, @var{tol})
 ## Estimate the 2-norm of the matrix @var{a} using a power series
-## analysis. This is typically used for large matrices, where the cost
+## analysis.  This is typically used for large matrices, where the cost
 ## of calculating the @code{norm (@var{a})} is prohibitive and an approximation
 ## to the 2-norm is acceptable.
 ##
-## @var{tol} is the tolerance to which the 2-norm is calculated. By default
-## @var{tol} is 1e-6. @var{c} returns the number of iterations needed for
+## @var{tol} is the tolerance to which the 2-norm is calculated.  By default
+## @var{tol} is 1e-6.  @var{c} returns the number of iterations needed for
 ## @code{normest} to converge.
 ## @end deftypefn
 
--- a/scripts/sparse/pcg.m
+++ b/scripts/sparse/pcg.m
@@ -21,14 +21,14 @@
 ## @deftypefnx {Function File} {[@var{x}, @var{flag}, @var{relres}, @var{iter}, @var{resvec}, @var{eigest}] =} pcg (@dots{})
 ##
 ## Solves the linear system of equations @code{@var{a} * @var{x} =
-## @var{b}} by means of the  Preconditioned Conjugate Gradient iterative
-## method. The input arguments are
+## @var{b}} by means of the Preconditioned Conjugate Gradient iterative
+## method.  The input arguments are
 ##
 ## @itemize
 ## @item
 ## @var{a} can be either a square (preferably sparse) matrix or a
 ## function handle, inline function or string containing the name
-## of a function which computes @code{@var{a} * @var{x}}. In principle
+## of a function which computes @code{@var{a} * @var{x}}.  In principle
 ## @var{a} should be symmetric and positive definite; if @code{pcg}
 ## finds @var{a} to not be positive definite, you will get a warning
 ## message and the @var{flag} output parameter will be set.
@@ -38,9 +38,9 @@
 ## 
 ## @item
 ## @var{tol} is the required relative tolerance for the residual error,
-## @code{@var{b} - @var{a} * @var{x}}. The iteration stops if @code{norm
+## @code{@var{b} - @var{a} * @var{x}}.  The iteration stops if @code{norm
 ## (@var{b} - @var{a} * @var{x}) <= @var{tol} * norm (@var{b} - @var{a} *
-## @var{x0})}. If @var{tol} is empty or is omitted, the function sets
+## @var{x0})}.  If @var{tol} is empty or is omitted, the function sets
 ## @code{@var{tol} = 1e-6} by default.
 ## 
 ## @item
@@ -53,23 +53,23 @@
 ## (theoretically) equivalent to solving by @code{pcg} @code{@var{P} *
 ## @var{x} = @var{m} \ @var{b}}, with @code{@var{P} = @var{m} \ @var{a}}.
 ## Note that a proper choice of the preconditioner may dramatically
-## improve the overall performance of the method. Instead of matrices
+## improve the overall performance of the method.  Instead of matrices
 ## @var{m1} and @var{m2}, the user may pass two functions which return 
 ## the results of applying the inverse of @var{m1} and @var{m2} to 
 ## a vector (usually this is the preferred way of using the preconditioner). 
 ## If @code{[]} is supplied for @var{m1}, or @var{m1} is omitted, no 
-## preconditioning is applied. If @var{m2} is omitted, @var{m} = @var{m1}
+## preconditioning is applied.  If @var{m2} is omitted, @var{m} = @var{m1}
 ## will be used as preconditioner.
 ## 
 ## @item
-## @var{x0} is the initial guess. If @var{x0} is empty or omitted, the 
+## @var{x0} is the initial guess.  If @var{x0} is empty or omitted, the 
 ## function sets @var{x0} to a zero vector by default.
 ## @end itemize
 ## 
 ## The arguments which follow @var{x0} are treated as parameters, and
 ## passed in a proper way to any of the functions (@var{a} or @var{m})
-## which are passed to @code{pcg}. See the examples below for further
-## details. The output arguments are
+## which are passed to @code{pcg}.  See the examples below for further
+## details.  The output arguments are
 ##
 ## @itemize
 ## @item
@@ -77,10 +77,10 @@
 ## @code{@var{a} * @var{x} = @var{b}}.
 ## 
 ## @item
-## @var{flag} reports on the convergence. @code{@var{flag} = 0} means
+## @var{flag} reports on the convergence.  @code{@var{flag} = 0} means
 ## the solution converged and the tolerance criterion given by @var{tol}
-## is satisfied. @code{@var{flag} = 1} means that the @var{maxit} limit
-## for the iteration count was reached. @code{@var{flag} = 3} reports that
+## is satisfied.  @code{@var{flag} = 1} means that the @var{maxit} limit
+## for the iteration count was reached.  @code{@var{flag} = 3} reports that
 ## the (preconditioned) matrix was found not positive definite.
 ## 
 ## @item
@@ -95,19 +95,19 @@
 ## @code{@var{resvec} (i,1)} is the Euclidean norm of the residual, and
 ## @code{@var{resvec} (i,2)} is the preconditioned residual norm,
 ## after the (@var{i}-1)-th iteration, @code{@var{i} =
-## 1, 2, @dots{}, @var{iter}+1}. The preconditioned residual norm
+## 1, 2, @dots{}, @var{iter}+1}.  The preconditioned residual norm
 ## is defined as
 ## @code{norm (@var{r}) ^ 2 = @var{r}' * (@var{m} \ @var{r})} where
 ## @code{@var{r} = @var{b} - @var{a} * @var{x}}, see also the
-## description of @var{m}. If @var{eigest} is not required, only
+## description of @var{m}.  If @var{eigest} is not required, only
 ## @code{@var{resvec} (:,1)} is returned.
 ## 
 ## @item
 ## @var{eigest} returns the estimate for the smallest @code{@var{eigest}
 ## (1)} and largest @code{@var{eigest} (2)} eigenvalues of the
-## preconditioned matrix @code{@var{P} = @var{m} \ @var{a}}. In 
+## preconditioned matrix @code{@var{P} = @var{m} \ @var{a}}.  In 
 ## particular, if no preconditioning is used, the estimates for the
-## extreme eigenvalues of @var{a} are returned. @code{@var{eigest} (1)}
+## extreme eigenvalues of @var{a} are returned.  @code{@var{eigest} (1)}
 ## is an overestimate and @code{@var{eigest} (2)} is an underestimate, 
 ## so that @code{@var{eigest} (2) / @var{eigest} (1)} is a lower bound
 ## for @code{cond (@var{P}, 2)}, which nevertheless in the limit should
@@ -162,7 +162,7 @@
 ## x = pcg (a, b, 1.e-6, 500, l, u);
 ## @end example
 ##
-## @sc{Example 5:} Preconditioned iteration, with full diagnostics. The
+## @sc{Example 5:} Preconditioned iteration, with full diagnostics.  The
 ## preconditioner (quite strange, because even the original matrix
 ## @var{a} is trivial) is defined as a function
 ## 
--- a/scripts/sparse/pcr.m
+++ b/scripts/sparse/pcr.m
@@ -21,14 +21,14 @@
 ## @deftypefnx {Function File} {[@var{x}, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pcr (@dots{})
 ## 
 ## Solves the linear system of equations @code{@var{a} * @var{x} =
-## @var{b}} by means of the  Preconditioned Conjugate Residuals iterative
-## method. The input arguments are
+## @var{b}} by means of the Preconditioned Conjugate Residuals iterative
+## method.  The input arguments are
 ##
 ## @itemize
 ## @item
 ## @var{a} can be either a square (preferably sparse) matrix or a
 ## function handle, inline function or string containing the name
-## of a function which computes @code{@var{a} * @var{x}}. In principle
+## of a function which computes @code{@var{a} * @var{x}}.  In principle
 ## @var{a} should be symmetric and non-singular; if @code{pcr}
 ## finds @var{a} to be numerically singular, you will get a warning
 ## message and the @var{flag} output parameter will be set.
@@ -38,9 +38,9 @@
 ## 
 ## @item
 ## @var{tol} is the required relative tolerance for the residual error,
-## @code{@var{b} - @var{a} * @var{x}}. The iteration stops if @code{norm
+## @code{@var{b} - @var{a} * @var{x}}.  The iteration stops if @code{norm
 ## (@var{b} - @var{a} * @var{x}) <= @var{tol} * norm (@var{b} - @var{a} *
-## @var{x0})}. If @var{tol} is empty or is omitted, the function sets
+## @var{x0})}.  If @var{tol} is empty or is omitted, the function sets
 ## @code{@var{tol} = 1e-6} by default.
 ## 
 ## @item
@@ -53,21 +53,21 @@
 ## (theoretically) equivalent to solving by @code{pcr} @code{@var{P} *
 ## @var{x} = @var{m} \ @var{b}}, with @code{@var{P} = @var{m} \ @var{a}}.
 ## Note that a proper choice of the preconditioner may dramatically
-## improve the overall performance of the method. Instead of matrix
+## improve the overall performance of the method.  Instead of matrix
 ## @var{m}, the user may pass a function which returns the results of 
 ## applying the inverse of @var{m} to a vector (usually this is the
-## preferred way of using the preconditioner). If @code{[]} is supplied
+## preferred way of using the preconditioner).  If @code{[]} is supplied
 ## for @var{m}, or @var{m} is omitted, no preconditioning is applied.
 ## 
 ## @item
-## @var{x0} is the initial guess. If @var{x0} is empty or omitted, the 
+## @var{x0} is the initial guess.  If @var{x0} is empty or omitted, the 
 ## function sets @var{x0} to a zero vector by default.
 ## @end itemize
 ## 
 ## The arguments which follow @var{x0} are treated as parameters, and
 ## passed in a proper way to any of the functions (@var{a} or @var{m})
-## which are passed to @code{pcr}. See the examples below for further
-## details. The output arguments are
+## which are passed to @code{pcr}.  See the examples below for further
+## details.  The output arguments are
 ##
 ## @itemize
 ## @item
@@ -75,10 +75,10 @@
 ## @code{@var{a} * @var{x} = @var{b}}.
 ## 
 ## @item
-## @var{flag} reports on the convergence. @code{@var{flag} = 0} means
+## @var{flag} reports on the convergence.  @code{@var{flag} = 0} means
 ## the solution converged and the tolerance criterion given by @var{tol}
-## is satisfied. @code{@var{flag} = 1} means that the @var{maxit} limit
-## for the iteration count was reached. @code{@var{flag} = 3} reports t
+## is satisfied.  @code{@var{flag} = 1} means that the @var{maxit} limit
+## for the iteration count was reached.  @code{@var{flag} = 3} reports t
 ## @code{pcr} breakdown, see [1] for details.
 ## 
 ## @item
@@ -125,7 +125,7 @@
 ## @end group
 ## @end example
 ## 
-## @sc{Example 3:}  Preconditioned iteration, with full diagnostics. The
+## @sc{Example 3:}  Preconditioned iteration, with full diagnostics.  The
 ## preconditioner (quite strange, because even the original matrix
 ## @var{a} is trivial) is defined as a function
 ## 
--- a/scripts/sparse/spalloc.m
+++ b/scripts/sparse/spalloc.m
@@ -18,14 +18,15 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{s} =} spalloc (@var{r}, @var{c}, @var{nz})
-## Returns an empty sparse matrix of size @var{r}-by-@var{c}. As Octave
+## Returns an empty sparse matrix of size @var{r}-by-@var{c}.  As Octave
 ## resizes sparse matrices at the first opportunity, so that no additional 
-## space is needed, the argument @var{nz} is ignored. This function is 
+## space is needed, the argument @var{nz} is ignored.  This function is 
 ## provided only for compatibility reasons.
 ##
 ## It should be noted that this means that code like
 ##
 ## @example
+## @group
 ## k = 5;
 ## nz = r * k;
 ## s = spalloc (r, c, nz)
@@ -33,9 +34,10 @@
 ##   idx = randperm (r);
 ##   s (:, j) = [zeros(r - k, 1); rand(k, 1)] (idx);
 ## endfor
+## @end group
 ## @end example
 ##
-## will reallocate memory at each step. It is therefore vitally important
+## will reallocate memory at each step.  It is therefore vitally important
 ## that code like this is vectorized as much as possible.
 ## @seealso{sparse, nzmax}
 ## @end deftypefn
--- a/scripts/sparse/spaugment.m
+++ b/scripts/sparse/spaugment.m
@@ -18,11 +18,13 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{s} =} spaugment (@var{a}, @var{c})
-## Creates the augmented matrix of @var{a}. This is given by
+## Creates the augmented matrix of @var{a}.  This is given by
 ##
 ## @example
+## @group
 ## [@var{c} * eye(@var{m}, @var{m}),@var{a}; @var{a}', zeros(@var{n},
 ## @var{n})]
+## @end group
 ## @end example
 ##
 ## @noindent
@@ -30,8 +32,10 @@
 ## @code{@var{a} \\ @var{b}}, by
 ## 
 ## @example
+## @group
 ## @var{s} * [ @var{r} / @var{c}; x] = [@var{b}, zeros(@var{n},
 ## columns(@var{b})]
+## @end group
 ## @end example
 ##
 ## @noindent
@@ -43,7 +47,7 @@
 ##
 ## As the matrix @var{s} is symmetric indefinite it can be factorized
 ## with @code{lu}, and the minimum norm solution can therefore be found
-## without the need for a @code{qr} factorization. As the residual
+## without the need for a @code{qr} factorization.  As the residual
 ## error will be @code{zeros (@var{m}, @var{m})} for under determined
 ## problems, and example can be 
 ##
--- a/scripts/sparse/spconvert.m
+++ b/scripts/sparse/spconvert.m
@@ -19,10 +19,10 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{x} =} spconvert (@var{m})
 ## This function converts for a simple sparse matrix format easily
-## produced by other programs into Octave's internal sparse format. The
+## produced by other programs into Octave's internal sparse format.  The
 ## input @var{x} is either a 3 or 4 column real matrix, containing
 ## the row, column, real and imaginary parts of the elements of the
-## sparse matrix. An element with a zero real and imaginary part can
+## sparse matrix.  An element with a zero real and imaginary part can
 ## be used to force a particular matrix size.
 ## @end deftypefn
 
--- a/scripts/sparse/spdiags.m
+++ b/scripts/sparse/spdiags.m
@@ -21,14 +21,14 @@
 ## @deftypefnx {Function File} {@var{b} =} spdiags (@var{a}, @var{c})
 ## @deftypefnx {Function File} {@var{b} =} spdiags (@var{v}, @var{c}, @var{a})
 ## @deftypefnx {Function File} {@var{b} =} spdiags (@var{v}, @var{c}, @var{m}, @var{n})
-## A generalization of the function @code{diag}. Called with a single
+## A generalization of the function @code{diag}.  Called with a single
 ## input argument, the non-zero diagonals @var{c} of @var{A} are extracted.
 ## With two arguments the diagonals to extract are given by the vector 
 ## @var{c}.
 ##
 ## The other two forms of @code{spdiags} modify the input matrix by
-## replacing the diagonals. They use the columns of @var{v} to replace
-## the columns represented by the vector @var{c}. If the sparse matrix
+## replacing the diagonals.  They use the columns of @var{v} to replace
+## the columns represented by the vector @var{c}.  If the sparse matrix
 ## @var{a} is defined then the diagonals of this matrix are replaced.
 ## Otherwise a matrix of @var{m} by @var{n} is created with the
 ## diagonals given by @var{v}.
--- a/scripts/sparse/speye.m
+++ b/scripts/sparse/speye.m
@@ -20,13 +20,13 @@
 ## @deftypefn {Function File} {@var{y} =} speye (@var{m})
 ## @deftypefnx {Function File} {@var{y} =} speye (@var{m}, @var{n})
 ## @deftypefnx {Function File} {@var{y} =} speye (@var{sz})
-## Returns a sparse identity matrix. This is significantly more
+## Returns a sparse identity matrix.  This is significantly more
 ## efficient than @code{sparse (eye (@var{m}))} as the full matrix
 ## is not constructed.
 ##
 ## Called with a single argument a square matrix of size @var{m} by
-## @var{m} is created. Otherwise a matrix of @var{m} by @var{n} is
-## created. If called with a single vector argument, this argument 
+## @var{m} is created.  Otherwise a matrix of @var{m} by @var{n} is
+## created.  If called with a single vector argument, this argument 
 ## is taken to be the size of the matrix to create.
 ## @end deftypefn
 
--- a/scripts/sparse/spfun.m
+++ b/scripts/sparse/spfun.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{y} =} spfun (@var{f},@var{x})
 ## Compute @code{f(@var{x})} for the non-zero values of @var{x}.
 ## This results in a sparse matrix with the same structure as 
-## @var{x}. The function @var{f} can be passed as a string, a
+## @var{x}.  The function @var{f} can be passed as a string, a
 ## function handle or an inline function.
 ## @end deftypefn
 
--- a/scripts/sparse/sphcat.m
+++ b/scripts/sparse/sphcat.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} sphcat (@var{a1}, @var{a2}, @dots{}, @var{aN})
-## Return the horizontal concatenation of sparse matrices. This function
+## Return the horizontal concatenation of sparse matrices.  This function
 ## is obselete and @code{horzcat} should be used.
 ## @seealso {spvcat, vertcat, horzcat, cat}
 ## @end deftypefn
--- a/scripts/sparse/spones.m
+++ b/scripts/sparse/spones.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} spones (@var{x})
-## Replace the non-zero entries of @var{x} with ones. This creates a
+## Replace the non-zero entries of @var{x} with ones.  This creates a
 ## sparse matrix with the same structure as @var{x}.
 ## @end deftypefn
 
--- a/scripts/sparse/sprand.m
+++ b/scripts/sparse/sprand.m
@@ -22,12 +22,12 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} sprand (@var{m}, @var{n}, @var{d})
 ## @deftypefnx {Function File} {} sprand (@var{s})
-## Generate a random sparse matrix. The size of the matrix will be
+## Generate a random sparse matrix.  The size of the matrix will be
 ## @var{m} by @var{n}, with a density of values given by @var{d}.
 ## @var{d} should be between 0 and 1. Values will be uniformly
 ## distributed between 0 and 1.
 ##
-## Note: sometimes the actual density  may be a bit smaller than @var{d}. 
+## Note: sometimes the actual density may be a bit smaller than @var{d}. 
 ## This is unlikely to happen for large really sparse matrices.
 ##
 ## If called with a single matrix argument, a random sparse matrix is
--- a/scripts/sparse/sprandn.m
+++ b/scripts/sparse/sprandn.m
@@ -22,12 +22,12 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} sprandn (@var{m}, @var{n}, @var{d})
 ## @deftypefnx {Function File} {} sprandn (@var{s})
-## Generate a random sparse matrix. The size of the matrix will be
+## Generate a random sparse matrix.  The size of the matrix will be
 ## @var{m} by @var{n}, with a density of values given by @var{d}.
 ## @var{d} should be between 0 and 1. Values will be normally
 ## distributed with mean of zero and variance 1.
 ##
-## Note: sometimes the actual density  may be a bit smaller than @var{d}. 
+## Note: sometimes the actual density may be a bit smaller than @var{d}. 
 ## This is unlikely to happen for large really sparse matrices.
 ##
 ## If called with a single matrix argument, a random sparse matrix is
--- a/scripts/sparse/sprandsym.m
+++ b/scripts/sparse/sprandsym.m
@@ -19,12 +19,12 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} sprandsym (@var{n}, @var{d})
 ## @deftypefnx {Function File} {} sprandsym (@var{s})
-## Generate a symmetric random sparse matrix. The size of the matrix will be
+## Generate a symmetric random sparse matrix.  The size of the matrix will be
 ## @var{n} by @var{n}, with a density of values given by @var{d}.
 ## @var{d} should be between 0 and 1. Values will be normally
 ## distributed with mean of zero and variance 1.
 ##
-## Note: sometimes the actual density  may be a bit smaller than @var{d}. 
+## Note: sometimes the actual density may be a bit smaller than @var{d}. 
 ## This is unlikely to happen for large really sparse matrices.
 ##
 ## If called with a single matrix argument, a random sparse matrix is
--- a/scripts/sparse/spvcat.m
+++ b/scripts/sparse/spvcat.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} spvcat (@var{a1}, @var{a2}, @dots{}, @var{aN})
-## Return the vertical concatenation of sparse matrices. This function
+## Return the vertical concatenation of sparse matrices.  This function
 ## is obselete and @code{vertcat} should be used
 ## @seealso{sphcat, vertcat, horzcat, cat}
 ## @end deftypefn
--- a/scripts/sparse/spy.m
+++ b/scripts/sparse/spy.m
@@ -21,9 +21,9 @@
 ## @deftypefn {Function File} {} spy (@var{x})
 ## @deftypefnx {Function File} {} spy (@dots{}, @var{markersize})
 ## @deftypefnx {Function File} {} spy (@dots{}, @var{line_spec})
-## Plot the sparsity pattern of the sparse matrix @var{x}. If the argument
+## Plot the sparsity pattern of the sparse matrix @var{x}.  If the argument
 ## @var{markersize} is given as an scalar value, it is used to determine the
-## point size in the plot. If the string @var{line_spec} is given it is
+## point size in the plot.  If the string @var{line_spec} is given it is
 ## passed to @code{plot} and determines the appearance of the plot.
 ## @seealso{plot}
 ## @end deftypefn
old mode 100755
new mode 100644
--- a/scripts/sparse/svds.m
+++ b/scripts/sparse/svds.m
@@ -20,7 +20,7 @@
 ## @deftypefnx {Function File} {@var{s} =} svds (@var{a}, @var{k}, @var{sigma}, @var{opts})
 ## @deftypefnx {Function File} {[@var{u}, @var{s}, @var{v}, @var{flag}] =} svds (@dots{})
 ##
-## Find a few singular values of the matrix @var{a}. The singular values
+## Find a few singular values of the matrix @var{a}.  The singular values
 ## are calculated using 
 ##
 ## @example
@@ -32,39 +32,39 @@
 ## @end example
 ##
 ## The eigenvalues returned by @code{eigs} correspond to the singular
-## values of @var{a}. The number of singular values to calculate is given
+## values of @var{a}.  The number of singular values to calculate is given
 ## by @var{k}, whose default value is 6.
 ## 
 ## The argument @var{sigma} can be used to specify which singular values
-## to find. @var{sigma} can be either the string 'L', the default, in 
-## which case the largest singular values of @var{a} are found. Otherwise
+## to find.  @var{sigma} can be either the string 'L', the default, in 
+## which case the largest singular values of @var{a} are found.  Otherwise
 ## @var{sigma} should be a real scalar, in which case the singular values
-## closest to @var{sigma} are found. Note that for relatively small values
+## closest to @var{sigma} are found.  Note that for relatively small values
 ## of @var{sigma}, there is the chance that the requested number of singular
-## values are not returned. In that case @var{sigma} should be increased.
+## values are not returned.  In that case @var{sigma} should be increased.
 ##
 ## If @var{opts} is given, then it is a structure that defines options
-## that @code{svds} will pass to @var{eigs}. The possible fields of this
-## structure are therefore determined by @code{eigs}. By default three
+## that @code{svds} will pass to @var{eigs}.  The possible fields of this
+## structure are therefore determined by @code{eigs}.  By default three
 ## fields of this structure are set by @code{svds}.
 ##
 ## @table @code
 ## @item tol
-## The required convergence tolerance for the singular values. @code{eigs}
-## is passed @var{tol} divided by @code{sqrt(2)}. The default value is 
+## The required convergence tolerance for the singular values.  @code{eigs}
+## is passed @var{tol} divided by @code{sqrt(2)}.  The default value is 
 ## 1e-10.
 ##
 ## @item maxit
-## The maximum number of iterations. The defaut is 300.
+## The maximum number of iterations.  The defaut is 300.
 ##
 ## @item disp
-## The level of diagnostic printout. If @code{disp} is 0 then there is no
-## printout. The default value is 0.
+## The level of diagnostic printout.  If @code{disp} is 0 then there is no
+## printout.  The default value is 0.
 ## @end table
 ##
 ## If more than one output argument is given, then @code{svds} also
-## calculates the left and right singular vectors of @var{a}. @var{flag}
-## is used to signal the convergence of @code{svds}. If @code{svds} 
+## calculates the left and right singular vectors of @var{a}.  @var{flag}
+## is used to signal the convergence of @code{svds}.  If @code{svds} 
 ## converges to the desired tolerance, then @var{flag} given by
 ##
 ## @example
--- a/scripts/sparse/treelayout.m
+++ b/scripts/sparse/treelayout.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} treelayout (@var{Tree})
 ## @deftypefnx {Function File} {} treelayout (@var{Tree}, @var{permutation})
-## treelayout lays out a tree or a forest. The first argument @var{Tree} is a vector of
+## treelayout lays out a tree or a forest.  The first argument @var{Tree} is a vector of
 ## predecessors, optional parameter @var{permutation} is an optional postorder permutation.
 ## The complexity of the algorithm is O(n) in
 ## terms of time and memory requirements.
--- a/scripts/sparse/treeplot.m
+++ b/scripts/sparse/treeplot.m
@@ -19,9 +19,9 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} treeplot (@var{tree})
 ## @deftypefnx {Function File} {} treeplot (@var{tree}, @var{line_style}, @var{edge_style})
-## Produces a graph of tree or forest. The first argument is vector of
+## Produces a graph of tree or forest.  The first argument is vector of
 ## predecessors, optional parameters @var{line_style} and @var{edge_style}
-## define the output style. The complexity of the algorithm is O(n) in
+## define the output style.  The complexity of the algorithm is O(n) in
 ## terms of is time and memory requirements.
 ## @seealso{etreeplot, gplot}
 ## @end deftypefn
--- a/scripts/specfun/bessel.m
+++ b/scripts/specfun/bessel.m
@@ -26,10 +26,10 @@
 ## 
 ## @table @code
 ## @item besselj
-## Bessel functions of the first kind. If the argument @var{opt} is supplied, 
+## Bessel functions of the first kind.  If the argument @var{opt} is supplied, 
 ## the result is multiplied by @code{exp(-abs(imag(x)))}.
 ## @item bessely
-## Bessel functions of the second kind. If the argument @var{opt} is supplied,
+## Bessel functions of the second kind.  If the argument @var{opt} is supplied,
 ## the result is multiplied by @code{exp(-abs(imag(x)))}.
 ## @item besseli
 ## Modified Bessel functions of the first kind.  If the argument @var{opt} is supplied,
@@ -39,7 +39,7 @@
 ## the result is multiplied by @code{exp(x)}.
 ## @item besselh
 ## Compute Hankel functions of the first (@var{k} = 1) or second (@var{k}
-## = 2) kind. If the argument @var{opt} is supplied, the result is multiplied by
+## = 2) kind.  If the argument @var{opt} is supplied, the result is multiplied by
 ## @code{exp (-I*@var{x})} for @var{k} = 1 or @code{exp (I*@var{x})} for
 ## @var{k} = 2.
 ## @end table
@@ -51,7 +51,7 @@
 ## @code{length (@var{alpha})} columns.  Otherwise, @var{alpha} and
 ## @var{x} must conform and the result will be the same size.
 ## 
-## The value of @var{alpha} must be real. The value of @var{x} may be
+## The value of @var{alpha} must be real.  The value of @var{x} may be
 ## complex.
 ## 
 ## If requested, @var{ierr} contains the following status information
--- a/scripts/specfun/factor.m
+++ b/scripts/specfun/factor.m
@@ -20,11 +20,11 @@
 ## @deftypefn {Function File} {@var{p} =} factor (@var{q})
 ## @deftypefnx {Function File} {[@var{p}, @var{n}] =} factor (@var{q})
 ##
-## Return prime factorization of @var{q}. That is @code{prod (@var{p})
-## == @var{q}}. If @code{@var{q} == 1}, returns 1. 
+## Return prime factorization of @var{q}.  That is @code{prod (@var{p})
+## == @var{q}}.  If @code{@var{q} == 1}, returns 1. 
 ##
 ## With two output arguments, returns the unique primes @var{p} and
-## their multiplicities. That is @code{prod (@var{p} .^ @var{n}) ==
+## their multiplicities.  That is @code{prod (@var{p} .^ @var{n}) ==
 ## @var{q}}.
 ## 
 ## @end deftypefn
--- a/scripts/specfun/factorial.m
+++ b/scripts/specfun/factorial.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} factorial (@var{n})
-## Return the factorial of @var{n}. If @var{n} is scalar, this is
+## Return the factorial of @var{n}.  If @var{n} is scalar, this is
 ## equivalent to @code{prod (1:@var{n})}.  If @var{n} is an array,
 ## the factorial of the elements of the array are returned.
 ## @end deftypefn
--- a/scripts/specfun/legendre.m
+++ b/scripts/specfun/legendre.m
@@ -21,9 +21,9 @@
 ## @deftypefn {Function File} {@var{l} =} legendre (@var{n}, @var{x})
 ## @deftypefnx {Function File} {@var{l} =} legendre (@var{n}, @var{x}, @var{normalization})
 ## Compute the Legendre function of degree @var{n} and order 
-## @var{m} = 0 ... N.  The optional argument, @var{normalization}, 
+## @var{m} = 0 @dots{} N.  The optional argument, @var{normalization}, 
 ## may be one of @code{"unnorm"}, @code{"sch"}, or @code{"norm"}.
-## The default is @code{"unnorm"}. The value of @var{n} must be a 
+## The default is @code{"unnorm"}.  The value of @var{n} must be a 
 ## non-negative scalar integer.  
 ##
 ## If the optional argument @var{normalization} is missing or is
--- a/scripts/specfun/nchoosek.m
+++ b/scripts/specfun/nchoosek.m
@@ -37,7 +37,7 @@
 ## @example
 ## @group
 ##  /   \
-##  | n |    n (n-1) (n-2) ... (n-k+1)       n!
+##  | n |    n (n-1) (n-2) @dots{} (n-k+1)       n!
 ##  |   |  = ------------------------- =  ---------
 ##  | k |               k!                k! (n-k)!
 ##  \   /
@@ -46,7 +46,7 @@
 ## @end ifnottex
 ##
 ## If @var{n} is a vector generate all combinations of the elements
-## of @var{n}, taken @var{k} at a time, one row per combination. The 
+## of @var{n}, taken @var{k} at a time, one row per combination.  The 
 ## resulting @var{c} has size @code{[nchoosek (length (@var{n}), 
 ## @var{k}), @var{k}]}.
 ##
--- a/scripts/specfun/perms.m
+++ b/scripts/specfun/perms.m
@@ -19,18 +19,20 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} perms (@var{v})
 ##
-## Generate all permutations of @var{v}, one row per permutation. The
+## Generate all permutations of @var{v}, one row per permutation.  The
 ## result has size @code{factorial (@var{n}) * @var{n}}, where @var{n}
 ## is the length of @var{v}.
 ##
 ## As an example, @code{perms([1, 2, 3])} returns the matrix
 ## @example
+## @group
 ##   1   2   3
 ##   2   1   3
 ##   1   3   2
 ##   2   3   1
 ##   3   1   2
 ##   3   2   1
+## @end group
 ## @end example
 ## @end deftypefn
 
--- a/scripts/specfun/reallog.m
+++ b/scripts/specfun/reallog.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} reallog (@var{x})
-## Return the real natural logarithm of @var{x}. If any element results in the
+## Return the real natural logarithm of @var{x}.  If any element results in the
 ## return value being complex @code{reallog} produces an error.
 ## @seealso{log, realsqrt, realpow}
 ## @end deftypefn
--- a/scripts/specfun/realpow.m
+++ b/scripts/specfun/realpow.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} realpow (@var{x}, @var{y})
-## Return the element by element power operator. This is equivalent to
+## Return the element by element power operator.  This is equivalent to
 ## @code{@var{x} .^ @var{y}}, except that if the return value
 ## is complex @code{realpow} produces an error.
 ## @seealso{reallog, realsqrt}
--- a/scripts/specfun/realsqrt.m
+++ b/scripts/specfun/realsqrt.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} realsqrt (@var{x})
-## Return the real sqrt of @var{x}. If any element results in the
+## Return the real sqrt of @var{x}.  If any element results in the
 ## return value being complex @code{realsqrt} produces an error.
 ## @seealso{sqrt, reallog, realpow}
 ## @end deftypefn
--- a/scripts/special-matrix/hadamard.m
+++ b/scripts/special-matrix/hadamard.m
@@ -22,9 +22,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} hadamard (@var{n})
-## Construct a Hadamard matrix @var{Hn} of size @var{n}-by-@var{n}. The 
+## Construct a Hadamard matrix @var{Hn} of size @var{n}-by-@var{n}.  The 
 ## size @var{n} must be of the form @code{2 ^ @var{k} * @var{p}} in which
-## @var{p} is one of 1, 12, 20 or 28. The returned matrix is normalized,
+## @var{p} is one of 1, 12, 20 or 28.  The returned matrix is normalized,
 ## meaning @code{Hn(:,1) == 1} and @code{H(1,:) == 1}.
 ##
 ## Some of the properties of Hadamard matrices are:
--- a/scripts/special-matrix/invhilb.m
+++ b/scripts/special-matrix/invhilb.m
@@ -37,6 +37,7 @@
 ## @end tex
 ## @ifnottex
 ## @example
+## @group
 ##
 ##             (i+j)         /n+i-1\  /n+j-1\   /i+j-2\ 2
 ##  A(i,j) = -1      (i+j-1)(       )(       ) (       )
@@ -44,12 +45,15 @@
 ##
 ##         = p(i) p(j) / (i+j-1)
 ##
+## @end group
 ## @end example
 ## where
 ## @example
+## @group
 ##              k  /k+n-1\   /n\
 ##     p(k) = -1  (       ) (   )
 ##                 \ k-1 /   \k/
+## @end group
 ## @end example
 ## @end ifnottex
 ##
--- a/scripts/special-matrix/pascal.m
+++ b/scripts/special-matrix/pascal.m
@@ -21,9 +21,9 @@
 ##
 ## Return the Pascal matrix of order @var{n} if @code{@var{t} = 0}.
 ## @var{t} defaults to 0. Return lower triangular Cholesky factor of 
-## the Pascal matrix if @code{@var{t} = 1}. This matrix is its own
+## the Pascal matrix if @code{@var{t} = 1}.  This matrix is its own
 ## inverse, that is @code{pascal (@var{n}, 1) ^ 2 == eye (@var{n})}.
-## If @code{@var{t} = 2}, return a transposed and  permuted version of
+## If @code{@var{t} = 2}, return a transposed and permuted version of
 ## @code{pascal (@var{n}, 1)}, which is the cube-root of the identity
 ## matrix.  That is @code{pascal (@var{n}, 2) ^ 3 == eye (@var{n})}.
 ##
--- a/scripts/statistics/base/histc.m
+++ b/scripts/statistics/base/histc.m
@@ -20,23 +20,23 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{n} =} histc (@var{y}, @var{edges})
 ## @deftypefnx {Function File} {@var{n} =} histc (@var{y}, @var{edges}, @var{dim})
-## @deftypefnx {Function File} {[@var{n}, @var{idx}] =} histc (...)
+## @deftypefnx {Function File} {[@var{n}, @var{idx}] =} histc (@dots{})
 ## Produce histogram counts.
 ##
 ## When @var{y} is a vector, the function counts the number of elements of
-## @var{y} that fall in the histogram bins defined by @var{edges}. This must be
+## @var{y} that fall in the histogram bins defined by @var{edges}.  This must be
 ## a vector of monotonically non-decreasing values that define the edges of the
-## histogram bins. So, @code{@var{n} (k)} contains the number of elements in
+## histogram bins.  So, @code{@var{n} (k)} contains the number of elements in
 ## @var{y} for which @code{@var{edges} (k) <= @var{y} < @var{edges} (k+1)}.
 ## The final element of @var{n} contains the number of elements of @var{y}
 ## that was equal to the last element of @var{edges}.
 ##
 ## When @var{y} is a @math{N}-dimensional array, the same operation as above is
-## repeated along dimension @var{dim}. If this argument is given, the operation
+## repeated along dimension @var{dim}.  If this argument is given, the operation
 ## is performed along the first non-singleton dimension.
 ##
 ## If a second output argument is requested an index matrix is also returned.
-## The @var{idx} matrix has same size as @var{y}. Each element of @var{idx}
+## The @var{idx} matrix has same size as @var{y}.  Each element of @var{idx}
 ## contains the index of the histogram bin in which the corresponding element
 ## of @var{y} was counted.
 ##
--- a/scripts/statistics/base/iqr.m
+++ b/scripts/statistics/base/iqr.m
@@ -23,7 +23,7 @@
 ## difference between the upper and lower quartile, of the input data.
 ##
 ## If @var{x} is a matrix, do the above for first non-singleton
-## dimension of @var{x}. If the option @var{dim} argument is given,
+## dimension of @var{x}.  If the option @var{dim} argument is given,
 ## then operate along this dimension.
 ## @end deftypefn
 
--- a/scripts/statistics/base/kendall.m
+++ b/scripts/statistics/base/kendall.m
@@ -40,9 +40,11 @@
 ## @end iftex
 ## @ifnottex
 ## @example
+## @group
 ##          1    
 ## tau = -------   SUM sign (q(i) - q(j)) * sign (r(i) - r(j))
 ##       n (n-1)   i,j
+## @end group
 ## @end example
 ## @end ifnottex
 ##
--- a/scripts/statistics/base/kurtosis.m
+++ b/scripts/statistics/base/kurtosis.m
@@ -37,7 +37,7 @@
 ##
 ## @noindent
 ## of @var{x}.  If @var{x} is a matrix, return the kurtosis over the
-## first non-singleton dimension. The optional argument @var{dim}
+## first non-singleton dimension.  The optional argument @var{dim}
 ## can be given to force the kurtosis to be given over that 
 ## dimension.
 ## @end deftypefn
--- a/scripts/statistics/base/meansq.m
+++ b/scripts/statistics/base/meansq.m
@@ -23,7 +23,7 @@
 ## @deftypefnx {Function File} {} meansq (@var{x}, @var{dim})
 ## For vector arguments, return the mean square of the values.
 ## For matrix arguments, return a row vector containing the mean square
-## of each column. With the optional @var{dim} argument, returns the
+## of each column.  With the optional @var{dim} argument, returns the
 ## mean squared of the values along this dimension.
 ## @end deftypefn
 
--- a/scripts/statistics/base/median.m
+++ b/scripts/statistics/base/median.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} median (@var{x}, @var{dim})
 ## If @var{x} is a vector, compute the median value of the elements of
-## @var{x}. If the elements of @var{x} are sorted, the median is defined
+## @var{x}.  If the elements of @var{x} are sorted, the median is defined
 ## as
 ## @iftex
 ## @tex
@@ -42,7 +42,7 @@
 ## @end example
 ## @end ifnottex
 ## If @var{x} is a matrix, compute the median value for each
-## column and return them in a row vector. If the optional @var{dim}
+## column and return them in a row vector.  If the optional @var{dim}
 ## argument is given, operate along this dimension.
 ## @seealso{std, mean}
 ## @end deftypefn
--- a/scripts/statistics/base/mode.m
+++ b/scripts/statistics/base/mode.m
@@ -18,14 +18,14 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{m}, @var{f}, @var{c}] =} mode (@var{x}, @var{dim})
-## Count the most frequently appearing value. @code{mode} counts the 
+## Count the most frequently appearing value.  @code{mode} counts the 
 ## frequency along the first non-singleton dimension and if two or more
 ## values have te same frequency returns the smallest of the two in
-## @var{m}. The dimension along which to count can be specified by the
+## @var{m}.  The dimension along which to count can be specified by the
 ## @var{dim} parameter.
 ##
 ## The variable @var{f} counts the frequency of each of the most frequently 
-## occurring elements. The cell array @var{c} contains all of the elements
+## occurring elements.  The cell array @var{c} contains all of the elements
 ## with the maximum frequency .
 ## @end deftypefn
 
--- a/scripts/statistics/base/prctile.m
+++ b/scripts/statistics/base/prctile.m
@@ -19,17 +19,17 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{y} =} prctile (@var{x}, @var{p})
 ## @deftypefnx {Function File} {@var{q} =} prctile (@var{x}, @var{p}, @var{dim})
-## For a sample @var{x}, compute the the quantiles, @var{y}, corresponding
-## to the cumulative probability values, P, in percent. All non-numeric
+## For a sample @var{x}, compute the quantiles, @var{y}, corresponding
+## to the cumulative probability values, P, in percent.  All non-numeric
 ## values (NaNs) of X are ignored.
 ## 
-## If @var{x} is a matrix, compute the the percentiles for each column and
+## If @var{x} is a matrix, compute the percentiles for each column and
 ## return them in a matrix, such that the i-th row of @var{y} contains the 
 ## @var{p}(i)th percentiles of each column of @var{x}.
 ## 
 ## The optional argument @var{dim} determines the dimension along which
-## the percentiles are calculated. If @var{dim} is omitted, and @var{x} is
-## a vector or matrix, it defaults to 1 (column wise quantiles). In the 
+## the percentiles are calculated.  If @var{dim} is omitted, and @var{x} is
+## a vector or matrix, it defaults to 1 (column wise quantiles).  In the 
 ## instance that @var{x} is a N-d array, @var{dim} defaults to the first 
 ## dimension whose size greater than unity.
 ## 
--- a/scripts/statistics/base/quantile.m
+++ b/scripts/statistics/base/quantile.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {@var{q} =} quantile (@var{x}, @var{p}, @var{dim})
 ## @deftypefnx {Function File} {@var{q} =} quantile (@var{x}, @var{p}, @var{dim}, @var{method})
 ## For a sample, @var{x}, calculate the quantiles, @var{q}, corresponding to
-## the cumulative probability values in @var{p}. All non-numeric values (NaNs) of
+## the cumulative probability values in @var{p}.  All non-numeric values (NaNs) of
 ## @var{x} are ignored.
 ##
 ## If @var{x} is a matrix, compute the quantiles for each column and
@@ -29,13 +29,13 @@
 ## the @var{p}(i)th quantiles of each column of @var{x}.
 ## 
 ## The optional argument @var{dim} determines the dimension along which 
-## the percentiles are calculated. If @var{dim} is omitted, and @var{x} is
-## a vector or matrix, it defaults to 1 (column wise quantiles). In the 
+## the percentiles are calculated.  If @var{dim} is omitted, and @var{x} is
+## a vector or matrix, it defaults to 1 (column wise quantiles).  In the 
 ## instance that @var{x} is a N-d array, @var{dim} defaults to the first 
 ## dimension whose size greater than unity.
 ## 
 ## The methods available to calculate sample quantiles are the nine methods
-## used by R (http://www.r-project.org/). The default value is METHOD = 5.
+## used by R (http://www.r-project.org/).  The default value is METHOD = 5.
 ## 
 ## Discontinuous sample quantile methods 1, 2, and 3
 ## 
@@ -54,16 +54,16 @@
 ## the knots are the values midway through the steps of the empirical cdf. 
 ## @item Method 6: p(k) = k / (n + 1).
 ## @item Method 7: p(k) = (k - 1) / (n - 1).
-## @item Method 8: p(k) = (k - 1/3) / (n + 1/3). The resulting quantile estimates 
+## @item Method 8: p(k) = (k - 1/3) / (n + 1/3).  The resulting quantile estimates 
 ## are approximately median-unbiased regardless of the distribution of @var{x}.
-## @item Method 9: p(k) = (k - 3/8) / (n + 1/4). The resulting quantile estimates 
+## @item Method 9: p(k) = (k - 3/8) / (n + 1/4).  The resulting quantile estimates 
 ## are approximately unbiased for the expected order statistics if @var{x} is 
 ## normally distributed.
 ## @end enumerate
 ## 
 ## Hyndman and Fan (1996) recommend method 8.  Maxima, S, and R
 ## (versions prior to 2.0.0) use 7 as their default.  Minitab and SPSS
-## use method 6.  Matlab uses method 5.
+## use method 6.  @sc{matlab} uses method 5.
 ## 
 ## References:
 ## 
--- a/scripts/statistics/base/ranks.m
+++ b/scripts/statistics/base/ranks.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} ranks (@var{x}, @var{dim})
 ## Return the ranks of @var{x} along the first non-singleton dimension
-## adjust for ties. If the optional argument @var{dim} is
+## adjust for ties.  If the optional argument @var{dim} is
 ## given, operate along this dimension.
 ## @end deftypefn
 
--- a/scripts/statistics/base/run_count.m
+++ b/scripts/statistics/base/run_count.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} run_count (@var{x}, @var{n})
 ## Count the upward runs along the first non-singleton dimension of
 ## @var{x} of length 1, 2, @dots{}, @var{n}-1 and greater than or equal 
-## to @var{n}. If the optional argument @var{dim} is given operate
+## to @var{n}.  If the optional argument @var{dim} is given operate
 ## along this dimension
 ## @end deftypefn
 
--- a/scripts/statistics/base/skewness.m
+++ b/scripts/statistics/base/skewness.m
@@ -37,7 +37,7 @@
 ##
 ## @noindent
 ## of @var{x}.  If @var{x} is a matrix, return the skewness along the
-## first non-singleton dimension of the matrix. If the optional
+## first non-singleton dimension of the matrix.  If the optional
 ## @var{dim} argument is given, operate along this dimension.
 ## @end deftypefn
 
--- a/scripts/statistics/base/std.m
+++ b/scripts/statistics/base/std.m
@@ -42,7 +42,7 @@
 ## If @var{x} is a matrix, compute the standard deviation for
 ## each column and return them in a row vector.
 ##
-## The argument @var{opt} determines the type of normalization to use. Valid values
+## The argument @var{opt} determines the type of normalization to use.  Valid values
 ## are
 ##
 ## @table @asis 
--- a/scripts/statistics/base/studentize.m
+++ b/scripts/statistics/base/studentize.m
@@ -23,7 +23,7 @@
 ## deviation.
 ##
 ## If @var{x} is a matrix, do the above along the first non-singleton
-## dimension. If the optional argument @var{dim} is given then operate
+## dimension.  If the optional argument @var{dim} is given then operate
 ## along this dimension.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/discrete_rnd.m
+++ b/scripts/statistics/distributions/discrete_rnd.m
@@ -23,10 +23,10 @@
 ## @deftypefnx {Function File} {} discrete_rnd (@var{v}, @var{p}, @var{sz})
 ## Generate a row vector containing a random sample of size @var{n} from
 ## the univariate distribution which assumes the values in @var{v} with
-## probabilities @var{p}. @var{n} must be a scalar.
+## probabilities @var{p}.  @var{n} must be a scalar.
 ##
 ## If @var{r} and @var{c} are given create a matrix with @var{r} rows and
-## @var{c} columns. Or if @var{sz} is a vector, create a matrix of size
+## @var{c} columns.  Or if @var{sz} is a vector, create a matrix of size
 ## @var{sz}.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/empirical_rnd.m
+++ b/scripts/statistics/distributions/empirical_rnd.m
@@ -25,7 +25,7 @@
 ## distribution obtained from the univariate sample @var{data}.
 ##
 ## If @var{r} and @var{c} are given create a matrix with @var{r} rows and
-## @var{c} columns. Or if @var{sz} is a vector, create a matrix of size
+## @var{c} columns.  Or if @var{sz} is a vector, create a matrix of size
 ## @var{sz}.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/exprnd.m
+++ b/scripts/statistics/distributions/exprnd.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz})
 ## Return an @var{r} by @var{c} matrix of random samples from the
 ## exponential distribution with mean @var{lambda}, which must be a
-## scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, 
+## scalar or of size @var{r} by @var{c}.  Or if @var{sz} is a vector, 
 ## create a matrix of size @var{sz}.
 ##
 ## If @var{r} and @var{c} are omitted, the size of the result matrix is
--- a/scripts/statistics/distributions/geornd.m
+++ b/scripts/statistics/distributions/geornd.m
@@ -24,7 +24,7 @@
 ## or of size @var{r} by @var{c}.
 ##
 ## If @var{r} and @var{c} are given create a matrix with @var{r} rows and
-## @var{c} columns. Or if @var{sz} is a vector, create a matrix of size
+## @var{c} columns.  Or if @var{sz} is a vector, create a matrix of size
 ## @var{sz}.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/hygepdf.m
+++ b/scripts/statistics/distributions/hygepdf.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {} hygepdf (@var{x}, @var{t}, @var{m}, @var{n})
 ## Compute the probability density function (PDF) at @var{x} of the
 ## hypergeometric distribution with parameters @var{t}, @var{m}, and
-## @var{n}. This is the probability of obtaining @var{x} marked items
+## @var{n}.  This is the probability of obtaining @var{x} marked items
 ## when randomly drawing a sample of size @var{n} without replacement
 ## from a population of total size @var{t} containing @var{m} marked items.
 ##
--- a/scripts/statistics/distributions/hygernd.m
+++ b/scripts/statistics/distributions/hygernd.m
@@ -28,7 +28,7 @@
 ## with @var{m} and @var{n} not greater than @var{t}.
 ##
 ## The parameter @var{sz} must be scalar or a vector of matrix
-## dimensions. If @var{sz} is scalar, then a @var{sz} by @var{sz}
+## dimensions.  If @var{sz} is scalar, then a @var{sz} by @var{sz}
 ## matrix of random samples is generated.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/kolmogorov_smirnov_cdf.m
+++ b/scripts/statistics/distributions/kolmogorov_smirnov_cdf.m
@@ -27,9 +27,11 @@
 ## @end iftex
 ## @ifnottex
 ## @example
+## @group
 ##          Inf
 ## Q(x) =   SUM    (-1)^k exp(-2 k^2 x^2)
 ##        k = -Inf
+## @end group
 ## @end example
 ## @end ifnottex
 ##
--- a/scripts/statistics/distributions/logistic_rnd.m
+++ b/scripts/statistics/distributions/logistic_rnd.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} logistic_rnd (@var{r}, @var{c})
 ## @deftypefnx {Function File} {} logistic_rnd (@var{sz})
 ## Return an @var{r} by @var{c} matrix of random numbers from the
-## logistic distribution. Or if @var{sz} is a vector, create a matrix of
+## logistic distribution.  Or if @var{sz} is a vector, create a matrix of
 ## @var{sz}.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/lognrnd.m
+++ b/scripts/statistics/distributions/lognrnd.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} lognrnd (@var{mu}, @var{sigma}, @var{r}, @var{c})
 ## @deftypefnx {Function File} {} lognrnd (@var{mu}, @var{sigma}, @var{sz})
 ## Return an @var{r} by @var{c} matrix of random samples from the
-## lognormal distribution with parameters @var{mu} and @var{sigma}. Both
+## lognormal distribution with parameters @var{mu} and @var{sigma}.  Both
 ## @var{mu} and @var{sigma} must be scalar or of size @var{r} by @var{c}.
 ## Or if @var{sz} is a vector, create a matrix of size @var{sz}.
 ##
--- a/scripts/statistics/distributions/nbinrnd.m
+++ b/scripts/statistics/distributions/nbinrnd.m
@@ -24,7 +24,7 @@
 ## Both @var{n} and @var{p} must be scalar or of size @var{r} by @var{c}.
 ##
 ## If @var{r} and @var{c} are omitted, the size of the result matrix is
-## the common size of @var{n} and @var{p}. Or if @var{sz} is a vector, 
+## the common size of @var{n} and @var{p}.  Or if @var{sz} is a vector, 
 ## create a matrix of size @var{sz}.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/stdnormal_inv.m
+++ b/scripts/statistics/distributions/stdnormal_inv.m
@@ -19,7 +19,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} stdnormal_inv (@var{x})
-## For each component of @var{x}, compute compute the quantile (the
+## For each component of @var{x}, compute the quantile (the
 ## inverse of the CDF) at @var{x} of the standard normal distribution.
 ## @end deftypefn
 
--- a/scripts/statistics/distributions/trnd.m
+++ b/scripts/statistics/distributions/trnd.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {} trnd (@var{n}, @var{sz})
 ## Return an @var{r} by @var{c} matrix of random samples from the t
 ## (Student) distribution with @var{n} degrees of freedom.  @var{n} must
-## be a scalar or of size @var{r} by @var{c}. Or if @var{sz} is a
+## be a scalar or of size @var{r} by @var{c}.  Or if @var{sz} is a
 ## vector create a matrix of size @var{sz}.
 ##
 ## If @var{r} and @var{c} are omitted, the size of the result matrix is
--- a/scripts/statistics/distributions/wblrnd.m
+++ b/scripts/statistics/distributions/wblrnd.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {} wblrnd (@var{scale}, @var{shape}, @var{sz})
 ## Return an @var{r} by @var{c} matrix of random samples from the
 ## Weibull distribution with parameters @var{scale} and @var{shape}
-## which must be scalar or of size @var{r} by @var{c}. Or if @var{sz}
+## which must be scalar or of size @var{r} by @var{c}.  Or if @var{sz}
 ## is a vector return a matrix of size @var{sz}.
 ##
 ## If @var{r} and @var{c} are omitted, the size of the result matrix is
--- a/scripts/statistics/distributions/wienrnd.m
+++ b/scripts/statistics/distributions/wienrnd.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {} wienrnd (@var{t}, @var{d}, @var{n})
 ## Return a simulated realization of the @var{d}-dimensional Wiener Process
 ## on the interval [0, @var{t}].  If @var{d} is omitted, @var{d} = 1 is
-## used. The first column of the return matrix contains time, the
+## used.  The first column of the return matrix contains time, the
 ## remaining columns contain the Wiener process.
 ##
 ## The optional parameter @var{n} gives the number of summands used for
--- a/scripts/statistics/models/logistic_regression.m
+++ b/scripts/statistics/models/logistic_regression.m
@@ -34,7 +34,7 @@
 ## fits the model
 ##
 ## @example
-## logit (gamma_i (x)) = theta_i - beta' * x,   i = 1...k-1
+## logit (gamma_i (x)) = theta_i - beta' * x,   i = 1 @dots{} k-1
 ## @end example
 ##
 ## The number of ordinal categories, @var{k}, is taken to be the number
@@ -48,8 +48,10 @@
 ## The full form is
 ##
 ## @example
+## @group
 ## [theta, beta, dev, dl, d2l, gamma]
 ##    = logistic_regression (y, x, print, theta, beta)
+## @end group
 ## @end example
 ##
 ## @noindent
--- a/scripts/statistics/tests/anova.m
+++ b/scripts/statistics/tests/anova.m
@@ -25,7 +25,7 @@
 ##
 ## Data may be given in a single vector @var{y} with groups specified by
 ## a corresponding vector of group labels @var{g} (e.g., numbers from 1
-## to @var{k}). This is the general form which does not impose any
+## to @var{k}).  This is the general form which does not impose any
 ## restriction on the number of data in each group or the group labels.
 ##
 ## If @var{y} is a matrix and @var{g} is omitted, each column of @var{y}
--- a/scripts/statistics/tests/cor_test.m
+++ b/scripts/statistics/tests/cor_test.m
@@ -32,7 +32,7 @@
 ## @code{"pearson"} (default), the (usual) Pearson's product moment
 ## correlation coefficient is used.  In this case, the data should come
 ## from a bivariate normal distribution.  Otherwise, the other two
-## methods offer nonparametric alternatives. If @var{method} is
+## methods offer nonparametric alternatives.  If @var{method} is
 ## @code{"kendall"}, then Kendall's rank correlation tau is used.  If
 ## @var{method} is @code{"spearman"}, then Spearman's rank correlation
 ## rho is used.  Only the first character is necessary.
--- a/scripts/statistics/tests/kolmogorov_smirnov_test.m
+++ b/scripts/statistics/tests/kolmogorov_smirnov_test.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{pval}, @var{ks}] =} kolmogorov_smirnov_test (@var{x}, @var{dist}, @var{params}, @var{alt})
 ## Perform a Kolmogorov-Smirnov test of the null hypothesis that the
-## sample @var{x} comes from the (continuous) distribution dist. I.e.,
+## sample @var{x} comes from the (continuous) distribution dist.  I.e.,
 ## if F and G are the CDFs corresponding to the sample and dist,
 ## respectively, then the null is that F == G.
 ##
--- a/scripts/statistics/tests/kruskal_wallis_test.m
+++ b/scripts/statistics/tests/kruskal_wallis_test.m
@@ -36,7 +36,7 @@
 ##
 ## where @var{sum_ties} is the sum of @var{t}^2 - @var{t} over each group
 ## of ties where @var{t} is the number of ties in the group and @var{n}
-## is the total number of values in the input data. For more info on
+## is the total number of values in the input data.  For more info on
 ## this adjustment see "Use of Ranks in One-Criterion Variance Analysis"
 ## in Journal of the American Statistical Association, Vol. 47,
 ## No. 260 (Dec 1952) by William H. Kruskal and W. Allen Wallis.
--- a/scripts/statistics/tests/manova.m
+++ b/scripts/statistics/tests/manova.m
@@ -19,7 +19,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} manova (@var{y}, @var{g})
-## Perform a one-way multivariate analysis of variance (MANOVA). The
+## Perform a one-way multivariate analysis of variance (MANOVA).  The
 ## goal is to test whether the p-dimensional population means of data
 ## taken from @var{k} different groups are all equal.  All data are
 ## assumed drawn independently from p-dimensional normal distributions
--- a/scripts/strings/base2dec.m
+++ b/scripts/strings/base2dec.m
@@ -22,8 +22,10 @@
 ## integer.
 ##
 ## @example
+## @group
 ## base2dec ("11120", 3)
 ##      @result{} 123
+## @end group
 ## @end example
 ##
 ## If @var{s} is a matrix, returns a column vector with one value per
@@ -36,8 +38,10 @@
 ## symbol.
 ##
 ## @example
+## @group
 ## base2dec ("yyyzx", "xyz")
 ##      @result{} 123
+## @end group
 ## @end example
 ## @seealso{dec2base, dec2bin, bin2dec, hex2dec, dec2hex}
 ## @end deftypefn
--- a/scripts/strings/bin2dec.m
+++ b/scripts/strings/bin2dec.m
@@ -22,8 +22,10 @@
 ## in the string @var{s}.  For example,
 ##
 ## @example
+## @group
 ## bin2dec ("1110")
 ##      @result{} 14
+## @end group
 ## @end example
 ##
 ## If @var{s} is a string matrix, returns a column vector of converted
--- a/scripts/strings/dec2base.m
+++ b/scripts/strings/dec2base.m
@@ -22,8 +22,10 @@
 ## the nonnegative integer @var{n}.
 ##
 ## @example
+## @group
 ## dec2base (123, 3)
 ##      @result{} "11120"
+## @end group
 ## @end example
 ##
 ## If @var{n} is a vector, return a string matrix with one row per value,
@@ -34,8 +36,10 @@
 ## as a symbol.
 ##
 ## @example
+## @group
 ## dec2base (123, "aei")
 ##      @result{} "eeeia"
+## @end group
 ## @end example
 ##
 ## The optional third argument, @var{len}, specifies the minimum
--- a/scripts/strings/dec2bin.m
+++ b/scripts/strings/dec2bin.m
@@ -23,8 +23,10 @@
 ## @var{n}, as a string of ones and zeros.  For example,
 ##
 ## @example
+## @group
 ## dec2bin (14)
 ##      @result{} "1110"
+## @end group
 ## @end example
 ##
 ## If @var{n} is a vector, returns a string matrix, one row per value,
--- a/scripts/strings/dec2hex.m
+++ b/scripts/strings/dec2hex.m
@@ -23,8 +23,10 @@
 ## integer @var{n}.  For example,
 ##
 ## @example
+## @group
 ## dec2hex (2748)
 ##      @result{} "ABC"
+## @end group
 ## @end example
 ##
 ## If @var{n} is a vector, returns a string matrix, one row per value,
--- a/scripts/strings/hex2dec.m
+++ b/scripts/strings/hex2dec.m
@@ -22,10 +22,12 @@
 ## in the string @var{s}.  For example,
 ##
 ## @example
+## @group
 ## hex2dec ("12B")
 ##      @result{} 299
 ## hex2dec ("12b")
 ##      @result{} 299
+## @end group
 ## @end example
 ##
 ## If @var{s} is a string matrix, returns a column vector of converted
--- a/scripts/strings/index.m
+++ b/scripts/strings/index.m
@@ -24,8 +24,10 @@
 ## string @var{s}, or 0 if no occurrence is found.  For example,
 ##
 ## @example
+## @group
 ## index ("Teststring", "t")
 ##      @result{} 4
+## @end group
 ## @end example
 ##
 ## If @var{direction} is @samp{"first"}, return the first element found.
--- a/scripts/strings/rindex.m
+++ b/scripts/strings/rindex.m
@@ -24,8 +24,10 @@
 ## found.  For example,
 ##
 ## @example
+## @group
 ## rindex ("Teststring", "t")
 ##      @result{} 6
+## @end group
 ## @end example
 ##
 ## @strong{Caution:}  This function does not work for arrays of
--- a/scripts/strings/strcmpi.m
+++ b/scripts/strings/strcmpi.m
@@ -27,7 +27,7 @@
 ## array of strings (of the same size or with only one element), char matrix
 ## or character string.
 ##
-## @strong{Caution:} For compatibility with @sc{Matlab}, Octave's strcmpi
+## @strong{Caution:} For compatibility with @sc{matlab}, Octave's strcmpi
 ## function returns 1 if the character strings are equal, and 0 otherwise.
 ## This is just the opposite of the corresponding C library function.
 ## @seealso{strcmp, strncmp, strncmpi}
--- a/scripts/strings/strncmpi.m
+++ b/scripts/strings/strncmpi.m
@@ -28,7 +28,7 @@
 ## array of strings (of the same size or with only one element), char matrix
 ## or character string.
 ##
-## @strong{Caution:} For compatibility with @sc{Matlab}, Octave's strncmpi
+## @strong{Caution:} For compatibility with @sc{matlab}, Octave's strncmpi
 ## function returns 1 if the character strings are equal, and 0 otherwise.
 ## This is just the opposite of the corresponding C library function.
 ## @seealso{strcmp, strcmpi, strncmp}
--- a/scripts/strings/strrep.m
+++ b/scripts/strings/strrep.m
@@ -23,8 +23,10 @@
 ## with the string @var{y} and return the result.  For example,
 ##
 ## @example
+## @group
 ## strrep ("This is a test string", "is", "&%$")
 ##      @result{} "Th&%$ &%$ a test string"
+## @end group
 ## @end example
 ## @seealso{regexprep, strfind, findstr}
 ## @end deftypefn
--- a/scripts/strings/substr.m
+++ b/scripts/strings/substr.m
@@ -29,8 +29,10 @@
 ## For example,
 ##
 ## @example
+## @group
 ## substr ("This is a test string", 6, 9)
 ##      @result{} "is a test"
+## @end group
 ## @end example
 ##
 ## This function is patterned after AWK.  You can get the same result by
--- a/scripts/testfun/assert.m
+++ b/scripts/testfun/assert.m
@@ -23,7 +23,7 @@
 ## @deftypefnx {Function File} {} assert (@var{observed},@var{expected})
 ## @deftypefnx {Function File} {} assert (@var{observed},@var{expected},@var{tol})
 ##
-## Produces an error if the condition is not met. @code{assert} can be
+## Produces an error if the condition is not met.  @code{assert} can be
 ## called in three different ways.
 ##
 ## @table @code
@@ -31,12 +31,12 @@
 ## @itemx assert (@var{cond}, @var{errmsg}, @dots{})
 ## @itemx assert (@var{cond}, @var{msg_id}, @var{errmsg}, @dots{})
 ## Called with a single argument @var{cond}, @code{assert} produces an
-## error if @var{cond} is zero. If called with a single argument a
-## generic error message. With more than one argument, the additional
+## error if @var{cond} is zero.  If called with a single argument a
+## generic error message.  With more than one argument, the additional
 ## arguments are passed to the @code{error} function.
 ##
 ## @item assert (@var{observed}, @var{expected})
-## Produce an error if observed is not the same as expected. Note that 
+## Produce an error if observed is not the same as expected.  Note that 
 ## observed and expected can be strings, scalars, vectors, matrices, 
 ## lists or structures.
 ##
--- a/scripts/testfun/demo.m
+++ b/scripts/testfun/demo.m
@@ -22,17 +22,19 @@
 ## Runs any examples associated with the function '@var{name}'.  
 ## Examples are stored in the script file, or in a file with the same 
 ## name but no extension somewhere on your path.  To keep them separate 
-## from the usual script code, all lines are prefixed by @code{%!}. Each
+## from the usual script code, all lines are prefixed by @code{%!}.  Each
 ## example is introduced by the keyword 'demo' flush left to the prefix,
 ## with no intervening spaces.  The remainder of the example can contain 
-## arbitrary Octave code. For example:
+## arbitrary Octave code.  For example:
 ##
 ## @example
+## @group
 ##    %!demo
 ##    %! t=0:0.01:2*pi; x = sin(t);
 ##    %! plot(t,x)
 ##    %! %-------------------------------------------------
 ##    %! % the figure window shows one cycle of a sine wave
+## @end group
 ## @end example
 ##
 ## Note that the code is displayed before it is executed, so a simple
@@ -40,8 +42,8 @@
 ## disp or printf within the demo.
 ##
 ## Demos are run in a function environment with no access to external
-## variables. This means that all demos in your function must use
-## separate initialization code. Alternatively, you can combine your
+## variables.  This means that all demos in your function must use
+## separate initialization code.  Alternatively, you can combine your
 ## demos into one huge demo, with the code:
 ##
 ## @example
@@ -57,15 +59,17 @@
 ## use @code{eval(example('function',n))} to see them.  Because eval only
 ## evaluates one line, or one statement if the statement crosses
 ## multiple lines, you must wrap your demo in "if 1 <demo stuff> endif"
-## with the 'if' on the same line as 'demo'. For example,
+## with the 'if' on the same line as 'demo'.  For example,
 ##
 ## @example
+## @group
 ##   %!demo if 1
 ##   %!  function y=f(x)
 ##   %!    y=x;
 ##   %!  endfunction
 ##   %!  f(3)
 ##   %! endif
+## @end group
 ## @end example
 ## @seealso{test, example}
 ## @end deftypefn
--- a/scripts/testfun/example.m
+++ b/scripts/testfun/example.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {[@var{x}, @var{idx}] =} example ('@var{name}',@var{n})
 ##
 ##  Display the code for example @var{n} associated with the function 
-## '@var{name}', but do not run it. If @var{n} is not given, all examples 
+## '@var{name}', but do not run it.  If @var{n} is not given, all examples 
 ## are displayed.
 ##
 ## Called with output arguments, the examples are returned in the form of
--- a/scripts/testfun/fail.m
+++ b/scripts/testfun/fail.m
@@ -24,7 +24,7 @@
 ## @deftypefnx {Function File} {} fail (@var{code},'warning',@var{pattern})
 ##
 ## Return true if @var{code} fails with an error message matching
-## @var{pattern}, otherwise produce an error. Note that @var{code}
+## @var{pattern}, otherwise produce an error.  Note that @var{code}
 ## is a string and if @var{code} runs successfully, the error produced is:
 ##
 ## @example
@@ -34,8 +34,10 @@
 ## If the code fails with a different error, the message produced is:
 ##
 ## @example
+## @group
 ##           expected <pattern>
 ##           but got <text of actual error>
+## @end group
 ## @end example
 ##
 ## The angle brackets are not part of the output.
--- a/scripts/testfun/speed.m
+++ b/scripts/testfun/speed.m
@@ -33,7 +33,7 @@
 ## The expression to evaluate.
 ##
 ## @item @var{max_n}
-## The maximum test length to run. Default value is 100.  Alternatively,
+## The maximum test length to run.  Default value is 100.  Alternatively,
 ## use @code{[min_n,max_n]} or for complete control, @code{[n1,n2,@dots{},nk]}.
 ##
 ## @item @var{init}
@@ -41,21 +41,21 @@
 ## for the test number and @var{n} for the size of the test.  This should
 ## compute values for all variables listed in args.  Note that init will
 ## be evaluated first for @math{k = 0}, so things which are constant throughout
-## the test can be computed then. The default value is @code{@var{x} =
+## the test can be computed then.  The default value is @code{@var{x} =
 ## randn (@var{n}, 1);}.
 ##
 ## @item @var{f2}
 ## An alternative expression to evaluate, so the speed of the two
-## can be compared. Default is @code{[]}.
+## can be compared.  Default is @code{[]}.
 ##
 ## @item @var{tol}
 ## If @var{tol} is @code{Inf}, then no comparison will be made between the
 ## results of expression @var{f} and expression @var{f2}.  Otherwise,
 ## expression @var{f} should produce a value @var{v} and expression @var{f2} 
 ## should produce a value @var{v2}, and these shall be compared using 
-## @code{assert(@var{v},@var{v2},@var{tol})}. If @var{tol} is positive,
-## the tolerance is assumed to be absolute. If @var{tol} is negative,
-## the tolerance is assumed to be relative. The default is @code{eps}.
+## @code{assert(@var{v},@var{v2},@var{tol})}.  If @var{tol} is positive,
+## the tolerance is assumed to be absolute.  If @var{tol} is negative,
+## the tolerance is assumed to be relative.  The default is @code{eps}.
 ##
 ## @item @var{order}
 ## The time complexity of the expression @code{O(a n^p)}.  This
@@ -93,8 +93,10 @@
 ## but it is if you preallocate the cell array @code{y}:
 ##
 ## @example
+## @group
 ## speed ("for i = 1:n, y@{i@} = x(i); end", ...
 ##        "x = rand (n, 1); y = cell (size (x));", [1000, 10000])
+## @end group
 ## @end example
 ##
 ## An attempt is made to approximate the cost of the individual 
@@ -114,8 +116,10 @@
 ## example:
 ##
 ## @example
+## @group
 ## speed ("v = sum (x)", "", [10000, 100000], ...
 ##        "v = 0; for i = 1:length (x), v += x(i); end")
+## @end group
 ## @end example
 ## 
 ## A more complex example, if you had an original version of @code{xcorr}
@@ -124,10 +128,12 @@
 ## vector lengths as follows:
 ##
 ## @example
+## @group
 ## speed ("v = xcorr (x, n)", "x = rand (128, 1);", 100,
 ##        "v2 = xcorr_orig (x, n)", -100*eps)
 ## speed ("v = xcorr (x, 15)", "x = rand (20+n, 1);", 100,
 ##        "v2 = xcorr_orig (x, n)", -100*eps)
+## @end group
 ## @end example
 ##
 ## Assuming one of the two versions is in @var{xcorr_orig}, this
@@ -137,9 +143,9 @@
 ## relatively, as @code{abs((@var{x} - @var{y})./@var{y})} rather than 
 ## absolutely as @code{abs(@var{x} - @var{y})}.
 ##
-## Type @code{example('speed')} to see some real examples. Note for 
+## Type @code{example('speed')} to see some real examples.  Note for 
 ## obscure reasons, you can't run examples 1 and 2 directly using 
-## @code{demo('speed')}. Instead use, @code{eval(example('speed',1))}
+## @code{demo('speed')}.  Instead use, @code{eval(example('speed',1))}
 ## and @code{eval(example('speed',2))}.
 ## @end deftypefn
 
--- a/scripts/testfun/test.m
+++ b/scripts/testfun/test.m
@@ -26,7 +26,7 @@
 ## @deftypefnx {Function File} {[@var{code}, @var{idx}] =} test ('@var{name}','grabdemo')
 ##
 ## Perform tests from the first file in the loadpath matching @var{name}.
-## @code{test} can be called as a command or as a function. Called with 
+## @code{test} can be called as a command or as a function.  Called with 
 ## a single argument @var{name}, the tests are run interactively and stop
 ## after the first error is encountered.
 ##
@@ -45,21 +45,21 @@
 ## Do tests which require user interaction.
 ## @end table
 ##
-## The argument @var{fid} can be used to allow batch processing. Errors
+## The argument @var{fid} can be used to allow batch processing.  Errors
 ## can be written to the already open file defined by @var{fid}, and 
 ## hopefully when Octave crashes this file will tell you what was happening
-## when it did. You can use @code{stdout} if you want to see the results as
+## when it did.  You can use @code{stdout} if you want to see the results as
 ## they happen.  You can also give a file name rather than an @var{fid}, in
 ## which case the contents of the file will be replaced with the log from 
 ## the current test.
 ##
 ## Called with a single output argument @var{success}, @code{test} returns
-## true if all of the tests were successful. Called with two output arguments
+## true if all of the tests were successful.  Called with two output arguments
 ## @var{n} and @var{max}, the number of successful tests and the total number
 ## of tests in the file @var{name} are returned.
 ##
 ## If the second argument is the string 'grabdemo', the contents of the demo
-## blocks are extracted but not executed. Code for all code blocks is
+## blocks are extracted but not executed.  Code for all code blocks is
 ## concatenated and returned as @var{code} with @var{idx} being a vector of
 ## positions of the ends of the demo blocks.
 ##
--- a/scripts/time/datestr.m
+++ b/scripts/time/datestr.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{str} =} datestr (@var{date}, [@var{f}, [@var{p}]])
 ## Format the given date/time according to the format @code{f} and return
-## the result in @var{str}. @var{date} is a serial date number (see
+## the result in @var{str}.  @var{date} is a serial date number (see
 ## @code{datenum}) or a date vector (see @code{datevec}).  The value of
 ## @var{date} may also be a string or cell array of strings.
 ##
@@ -28,7 +28,7 @@
 ## the table below, or a date format string.
 ##
 ## @var{p} is the year at the start of the century in which two-digit years
-## are to be interpreted in. If not specified, it defaults to the current
+## are to be interpreted in.  If not specified, it defaults to the current
 ## year minus 50.
 ##
 ## For example, the date 730736.65149 (2000-09-07 15:38:09.0934) would be
--- a/scripts/time/datetick.m
+++ b/scripts/time/datetick.m
@@ -22,9 +22,9 @@
 ## @deftypefnx {Function File} {} datetick (@dots{}, "keeplimits")
 ## @deftypefnx {Function File} {} datetick (@dots{}, "keepticks")
 ## @deftypefnx {Function File} {} datetick (@dots{ax}, @dots{})
-## Adds date formatted tick labels to an axis. The axis the apply the
+## Adds date formatted tick labels to an axis.  The axis the apply the
 ## ticks to is determined by @var{axis} that can take the values "x",
-## "y" or "z". The default value is "x". The formatting of the labels is
+## "y" or "z".  The default value is "x".  The formatting of the labels is
 ## determined by the variable @var{form}, that can either be a string in
 ## the format needed by @code{dateform}, or a positive integer that can
 ## be accepted by @code{datestr}.
--- a/scripts/time/datevec.m
+++ b/scripts/time/datevec.m
@@ -32,7 +32,7 @@
 ## (see @code{datestr}).
 ##
 ## @var{p} is the year at the start of the century in which two-digit years
-## are to be interpreted in. If not specified, it defaults to the current
+## are to be interpreted in.  If not specified, it defaults to the current
 ## year minus 50.
 ## @seealso{datenum, datestr, date, clock, now}
 ## @end deftypefn
--- a/scripts/time/etime.m
+++ b/scripts/time/etime.m
@@ -22,9 +22,11 @@
 ## @code{clock}.  For example:
 ##
 ## @example
+## @group
 ## t0 = clock ();
-## # many computations later...
+## # many computations later@dots{}
 ## elapsed_time = etime (clock (), t0);
+## @end group
 ## @end example
 ##
 ## @noindent