changeset 10846:a4f482e66b65

Grammarcheck more of the documentation. Use @noindent macro appropriately. Limit line length to 80 characters.
author Rik <octave@nomad.inbox5.com>
date Sun, 01 Aug 2010 20:22:17 -0700
parents c0ffe159ba1a
children 7fa3c8e43357
files doc/ChangeLog doc/interpreter/basics.txi doc/interpreter/contrib.txi doc/interpreter/diagperm.txi doc/interpreter/dynamic.txi doc/interpreter/eos.txi doc/interpreter/expr.txi doc/interpreter/geometry.txi doc/interpreter/install.txi doc/interpreter/matrix.txi doc/interpreter/numbers.txi doc/interpreter/oop.txi doc/interpreter/plot.txi doc/interpreter/sparse.txi doc/interpreter/stats.txi doc/interpreter/testfun.txi doc/interpreter/tips.txi scripts/ChangeLog scripts/deprecated/intwarning.m scripts/general/arrayfun.m scripts/general/cplxpair.m scripts/general/interp1.m scripts/general/interpn.m scripts/general/quadgk.m scripts/general/structfun.m scripts/image/image_viewer.m scripts/io/strread.m scripts/miscellaneous/warning_ids.m scripts/optimization/lsqnonneg.m scripts/pkg/pkg.m scripts/plot/__marching_cube__.m scripts/plot/bar.m scripts/plot/contourc.m scripts/plot/errorbar.m scripts/plot/ezplot.m scripts/plot/isocolors.m scripts/plot/isonormals.m scripts/plot/isosurface.m scripts/plot/stem.m scripts/plot/stem3.m scripts/polynomial/compan.m scripts/polynomial/ppval.m scripts/signal/arch_rnd.m scripts/sparse/pcg.m scripts/sparse/svds.m scripts/special-matrix/invhilb.m scripts/statistics/distributions/wblcdf.m scripts/testfun/assert.m scripts/testfun/demo.m scripts/testfun/speed.m src/ChangeLog src/DLD-FUNCTIONS/amd.cc src/DLD-FUNCTIONS/balance.cc src/DLD-FUNCTIONS/besselj.cc src/DLD-FUNCTIONS/betainc.cc src/DLD-FUNCTIONS/ccolamd.cc src/DLD-FUNCTIONS/cellfun.cc src/DLD-FUNCTIONS/chol.cc src/DLD-FUNCTIONS/colamd.cc src/DLD-FUNCTIONS/daspk.cc src/DLD-FUNCTIONS/dasrt.cc src/DLD-FUNCTIONS/dot.cc src/DLD-FUNCTIONS/eigs.cc src/DLD-FUNCTIONS/fftw.cc src/DLD-FUNCTIONS/filter.cc src/DLD-FUNCTIONS/lookup.cc src/DLD-FUNCTIONS/lsode.cc src/DLD-FUNCTIONS/lu.cc src/DLD-FUNCTIONS/matrix_type.cc src/DLD-FUNCTIONS/onCleanup.cc src/DLD-FUNCTIONS/qr.cc src/DLD-FUNCTIONS/rand.cc src/DLD-FUNCTIONS/regexp.cc src/DLD-FUNCTIONS/sparse.cc src/DLD-FUNCTIONS/str2double.cc src/DLD-FUNCTIONS/tril.cc src/DLD-FUNCTIONS/typecast.cc src/data.cc src/graphics.cc src/load-save.cc src/ov-null-mat.cc src/ov-struct.cc src/ov-usr-fcn.cc src/pr-output.cc src/strfns.cc src/variables.cc
diffstat 86 files changed, 411 insertions(+), 271 deletions(-) [+]
line wrap: on
line diff
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-01  Rik <octave@nomad.inbox5.com>
+
+	* interpreter/basics.txi, interpreter/contrib.txi,
+	interpreter/diagperm.txi, interpreter/dynamic.txi, interpreter/eos.txi,
+	interpreter/expr.txi, interpreter/geometry.txi,
+	interpreter/install.txi, interpreter/matrix.txi,
+	interpreter/numbers.txi, interpreter/oop.txi, interpreter/plot.txi,
+	interpreter/sparse.txi, interpreter/stats.txi, interpreter/testfun.txi,
+	interpreter/tips.txi: Grammarcheck documentation.  Add @noindent lines
+	and ensure line length is less than 80.
+
 2010-07-28  Rik <octave@nomad.inbox5.com>
 
 	* interpreter/arith.txi, interpreter/audio.txi, interpreter/basics.txi,
--- a/doc/interpreter/basics.txi
+++ b/doc/interpreter/basics.txi
@@ -1064,6 +1064,7 @@
 @end group
 @end example
 
+@noindent
 the command @kbd{help f} produces the output
 
 @example
--- a/doc/interpreter/contrib.txi
+++ b/doc/interpreter/contrib.txi
@@ -244,8 +244,8 @@
 
 Recommended indent is 2 spaces.  When indenting, indent the statement after
 control structures (like @code{if}, @code{while}, etc.). If there is a compound
-statement, indent @i{both} the curly braces and the body of the statement (so
-that the body gets indented by @i{two} indents).  Example:
+statement, indent @emph{both} the curly braces and the body of the statement (so
+that the body gets indented by @emph{two} indents).  Example:
 
 @example
 @group
--- a/doc/interpreter/diagperm.txi
+++ b/doc/interpreter/diagperm.txi
@@ -117,12 +117,14 @@
   P = eye (n) (:, q);
 @end example
 
+@noindent
 will create a permutation matrix - a special matrix object.
 
 @example
 eye (n) (q, :) 
 @end example
 
+@noindent
 will also work (and create a row permutation matrix), as well as 
 
 @example
@@ -246,6 +248,7 @@
 D(:,1:m) * M(1:m,:),
 @end example
 
+@noindent
 i.e., trailing @code{n-m} rows of @var{M} are ignored.  If @code{m > n}, 
 then @code{D*M} is equivalent to 
 
@@ -253,6 +256,7 @@
 [D(1:n,n) * M; zeros(m-n, columns (M))],
 @end example
 
+@noindent
 i.e., null rows are appended to the result.
 The situation for right-multiplication @code{M*D} is analogous.
 
@@ -289,6 +293,7 @@
 @end group
 @end example
 
+@noindent
 again produce diagonal matrices, provided that normal
 dimension matching rules are obeyed.  The relations used are same as described
 above.
@@ -309,6 +314,7 @@
 A = A + eps * eye (n)
 @end example
 
+@noindent
 is an efficient method of augmenting the diagonal of a matrix.  Subtraction
 works analogically.
 
--- a/doc/interpreter/dynamic.txi
+++ b/doc/interpreter/dynamic.txi
@@ -484,6 +484,7 @@
 octave_value tmp = arg0.contents (p1) (0);
 @end example
 
+@noindent
 where the trailing (0) is the () operator on the @code{Cell} object.  We
 can equally iterate of the elements of the Cell array to address the
 elements of the structure array.
@@ -541,6 +542,7 @@
 @end group
 @end example
 
+@noindent
 returns the number of non-zero elements.  If the user really requires the
 number of elements in the matrix, including the non-zero elements, they
 should use @code{numel} rather than @code{nelem}.  Note that for very
@@ -571,6 +573,7 @@
 @end group
 @end example
 
+@noindent
 is a great way of turning the sparse matrix into a dense one, and a
 very slow way at that since it reallocates the sparse object at each
 zero element in the matrix.
@@ -1022,6 +1025,7 @@
 OCTAVE_LOCAL_BUFFER (double, tmp, len)
 @end example
 
+@noindent
 that returns a pointer @code{tmp} of type @code{double *} of length
 @code{len}.
 
--- a/doc/interpreter/eos.txi
+++ b/doc/interpreter/eos.txi
@@ -41,7 +41,7 @@
 Octave Support'').  This chapter describes how to set up and use this
 package.
 
-Please contact <Kurt.Hornik@@wu-wien.ac.at> if you have any questions
+Please contact @email{Kurt.Hornik@@wu-wien.ac.at} if you have any questions
 or suggestions on using EOS.
 
 @menu
@@ -145,13 +145,13 @@
 Move backward to the beginning of a function
 (@code{octave-beginning-of-defun}).
 With prefix argument @var{N}, do it that many times if @var{N} is
-positive;  otherwise, move forward to the @var{N}-th following beginning
+positive; otherwise, move forward to the @var{N}-th following beginning
 of a function.
 
 @item M-C-e
 Move forward to the end of a function (@code{octave-end-of-defun}).
 With prefix argument @var{N}, do it that many times if @var{N} is
-positive;  otherwise, move back to the @var{N}-th preceding end of a
+positive; otherwise, move back to the @var{N}-th preceding end of a
 function.
 
 @item M-C-h
@@ -194,9 +194,9 @@
 @item C-c C-a
 Move to the `real' beginning of the current line
 (@code{octave-beginning-of-line}).  If point is in an empty or comment
-line, simply go to its beginning;  otherwise, move backwards to the
+line, simply go to its beginning; otherwise, move backwards to the
 beginning of the first code line which is not inside a continuation
-statement,  i.e., which does not follow a code line ending in @samp{...}
+statement, i.e., which does not follow a code line ending in @samp{...}
 or @samp{\}, or is inside an open parenthesis list.
 
 @item C-c C-e
@@ -221,7 +221,7 @@
 @item C-c M-C-d
 Move forward down one begin-end block level of Octave code
 (@code{octave-down-block}).  With numeric prefix argument, do it that
-many times;  a negative argument means move backward, but still go down
+many times; a negative argument means move backward, but still go down
 one level.
 
 @item C-c M-C-u
@@ -268,7 +268,7 @@
 is because the standard Emacs convention is that @key{RET} (aka
 @kbd{C-m}) just adds a newline, whereas @key{LFD} (aka @kbd{C-j}) adds a
 newline and indents it.  This is particularly inconvenient for users with
-keyboards which do not have a special @key{LFD} key at all;  in such
+keyboards which do not have a special @key{LFD} key at all; in such
 cases, it is typically more convenient to use @key{RET} as the @key{LFD}
 key (rather than typing @kbd{C-j}).  
 
@@ -290,7 +290,7 @@
 (this works for all modes by adding to the startup hooks, without having
 to know the particular binding of @key{RET} in that mode!).  Similar
 considerations apply for using @key{M-RET} as @key{M-LFD}.  As Barry
-A. Warsaw <bwarsaw@@cnri.reston.va.us> says in the documentation for his
+A. Warsaw @email{bwarsaw@@cnri.reston.va.us} says in the documentation for his
 @code{cc-mode}, ``This is a very common question.  @code{:-)} If you want
 this to be the default behavior, don't lobby me, lobby RMS!''
 
@@ -333,15 +333,19 @@
 @itemize @bullet
 @item
 strings in @code{font-lock-string-face}
+
 @item
 comments in @code{font-lock-comment-face}
+
 @item
 the Octave reserved words (such as all block keywords) and the text
 functions (such as @samp{cd} or @samp{who}) which are also reserved
 using @code{font-lock-keyword-face}
+
 @item
 the built-in operators (@samp{&&}, @samp{==}, @dots{}) using
 @code{font-lock-reference-face}
+
 @item
 and the function names in function declarations in
 @code{font-lock-function-name-face}.
@@ -398,21 +402,27 @@
 With positive prefix argument @var{N}, send that many lines.
 If @code{octave-send-line-auto-forward} is non-@code{nil}, go to the
 next unsent code line.
+
 @item C-c i b
 Send the current block to the inferior Octave process
 (@code{octave-send-block}).
+
 @item C-c i f
 Send the current function to the inferior Octave process
 (@code{octave-send-defun}).
+
 @item C-c i r
 Send the region to the inferior Octave process
 (@code{octave-send-region}).
+
 @item C-c i s
 Make sure that `inferior-octave-buffer' is displayed
 (@code{octave-show-process-buffer}).
+
 @item C-c i h
 Delete all windows that display the inferior Octave buffer
 (@code{octave-hide-process-buffer}).
+
 @item C-c i k
 Kill the inferior Octave process and its buffer
 (@code{octave-kill-process}).
@@ -440,7 +450,7 @@
 as a list of strings.  For example, to suppress the startup message and
 use `traditional' mode, set this to @code{'("-q" "--traditional")}.
 You can also specify a startup file of Octave commands to be loaded on
-startup;  note that these commands will not produce any visible output
+startup; note that these commands will not produce any visible output
 in the process buffer.  Which file to use is controlled by the variable
 @code{inferior-octave-startup-file}.  If this is @code{nil}, the file
 @file{~/.emacs-octave} is used if it exists.
@@ -495,11 +505,11 @@
 
 You can use either `plain' Emacs Info or the function @code{octave-help}
 as your Octave info reader (for @samp{help -i}).  In the former case,
-set the Octave variable @w{@code{INFO_PROGRAM}} to @code{"info-emacs-info"}.
+set the Octave variable @w{@env{INFO_PROGRAM}} to @code{"info-emacs-info"}.
 The latter is perhaps more attractive because it allows to look up keys
 in the indices of @emph{several} info files related to Octave (provided
 that the Emacs variable @code{octave-help-files} is set correctly).  In
-this case, set @w{@code{INFO_PROGRAM}} to @code{"info-emacs-octave-help"}.
+this case, set @w{@env{INFO_PROGRAM}} to @code{"info-emacs-octave-help"}.
 
 If you use Octave from within Emacs, these settings are best done in the
 @file{~/.emacs-octave} startup file (or the file pointed to by the Emacs
--- a/doc/interpreter/expr.txi
+++ b/doc/interpreter/expr.txi
@@ -155,6 +155,7 @@
   r(ones (n, 1), :)
 @end example
 
+@noindent
 will produce identical results, but the first one will be significantly
 faster, at least for @samp{r} and @samp{n} large enough.  The reason is that
 in the first case the index is kept in a compressed form, which allows Octave
--- a/doc/interpreter/geometry.txi
+++ b/doc/interpreter/geometry.txi
@@ -116,6 +116,7 @@
 @end group
 @end example
 
+@noindent
 that plot the Delaunay triangulation of a set of random points in
 2-dimensions.
 @ifnotinfo
--- a/doc/interpreter/install.txi
+++ b/doc/interpreter/install.txi
@@ -75,7 +75,7 @@
 probably don't want to use this option unless you know what you are
 doing.
 
-If you use @code{--enable-64}, you must ensure that your Fortran
+If you use @option{--enable-64}, you must ensure that your Fortran
 compiler generates code with 8 byte signed @code{INTEGER} values, and
 that your @sc{blas} and @sc{lapack} libraries are compiled to use 8 byte
 signed integers for array dimensions and indexing.
--- a/doc/interpreter/matrix.txi
+++ b/doc/interpreter/matrix.txi
@@ -48,7 +48,7 @@
 
 Since the comparison operators (@pxref{Comparison Ops}) return matrices
 of ones and zeros, it is easy to test a matrix for many things, not just
-whether the elements are nonzero.  For example, 
+whether the elements are nonzero.  For example,
 
 @example
 @group
--- a/doc/interpreter/numbers.txi
+++ b/doc/interpreter/numbers.txi
@@ -410,6 +410,7 @@
 a = 2*(1:1e7) - 1;
 @end example
 
+@noindent
 will produce the same result as @samp{1:2:2e7-1}, but without ever forming a
 vector with ten million elements.
 
@@ -578,6 +579,7 @@
 bitget (100, 8:-1:1)
 @end example
 
+@noindent
 is the same as
 
 @example
--- a/doc/interpreter/oop.txi
+++ b/doc/interpreter/oop.txi
@@ -124,7 +124,7 @@
 class.
 
 To check where a variable is a user class, the @code{isobject} and
-@code{isa} functions can be used. for example
+@code{isa} functions can be used. for example:
 
 @example
 @group
@@ -151,7 +151,7 @@
 @DOCSTRING(ismethod)
 
 @noindent
-For example
+For example:
 
 @example
 @group
@@ -192,7 +192,7 @@
 should also define the @code{get} and @code{set} methods.  The
 @code{get} method should accept one or two arguments, and given one
 argument of the appropriate class it should return a structure with
-all of the properties of the class.  For example
+all of the properties of the class.  For example:
 
 @example
 @group
@@ -226,7 +226,7 @@
 
 Finally, user classes can be considered as a special type of a
 structure, and so they can be saved to a file in the same manner as a
-structure.  For example
+structure.  For example:
 
 @example
 @group
@@ -277,8 +277,9 @@
 @DOCSTRING(subsref)
 
 For example we might decide that indexing with "()" evaluates the
-polynomial and indexing with "@{@}" returns the @var{n}-th coefficient (of @var{n}-th power).
-In this case the @code{subsref} method of our polynomial class might look like
+polynomial and indexing with "@{@}" returns the @var{n}-th coefficient (of
+@var{n}-th power).  In this case the @code{subsref} method of our polynomial
+class might look like
 
 @example
 @group
@@ -347,6 +348,7 @@
 @end group
 @end example
 
+@noindent
 and the corresponding method looking like this:
 
 @example
@@ -387,18 +389,17 @@
 element takes constant time.
 
 It is important to understand the implications that this optimization brings.
-Since no extra copy of @code{x} in the caller's scope will exist, it is @i{solely}
-the callee's responsibility to not leave @code{x} in an invalid state if an error
-occurs throughout the execution.  Also, if the method partially changes @code{x}
-and then errors out, the changes @i{will} affect @code{x} in the caller's scope.
-Deleting or completely replacing @code{x} inside subsasgn will not do anything,
-however, only indexed assignments matter.
+Since no extra copy of @code{x} in the caller's scope will exist, it is
+@emph{solely} the callee's responsibility to not leave @code{x} in an invalid
+state if an error occurs throughout the execution.  Also, if the method
+partially changes @code{x} and then errors out, the changes @emph{will} affect
+@code{x} in the caller's scope.  Deleting or completely replacing @code{x}
+inside subsasgn will not do anything, however, only indexed assignments matter.
 
-Since this optimization may change the way code works (especially if badly written),
-a built-in variable @code{optimize_subsasgn_calls} is provided to control it.
-It is on by default.
-Another option to avoid the effect is to declare subsasgn methods with different
-output and input arguments, like this:
+Since this optimization may change the way code works (especially if badly
+written), a built-in variable @code{optimize_subsasgn_calls} is provided to
+control it.  It is on by default.  Another option to avoid the effect is to
+declare subsasgn methods with different output and input arguments, like this:
 
 @example
 @group
--- a/doc/interpreter/plot.txi
+++ b/doc/interpreter/plot.txi
@@ -582,6 +582,7 @@
 xlabel ('@{\bf H@} = a @{\bf V@}')
 @end example
 
+@noindent
 where the character 'a' will not appear in a bold font.  Note that to
 avoid having Octave interpret the backslash characters in the strings,
 the strings should be in single quotes.
@@ -851,28 +852,25 @@
 @cindex introduction to graphics structures
 @anchor{doc-graphics structures}
 
-The graphics functions use pointers, which are of class graphics_handle,
-in order to address the data structures which control
-graphical displays.
-A graphics handle may point any one of a number of different object types.
-The objects are the graphics data structures.  The types of objects
-are: @code{figure}, @code{axes},
-@code{line}, @code{text}, @code{patch},
+The graphics functions use pointers, which are of class graphics_handle, in
+order to address the data structures which control graphical displays.  A
+graphics handle may point any one of a number of different object types.  The
+objects are the graphics data structures.  The types of objects are:
+@code{figure}, @code{axes}, @code{line}, @code{text}, @code{patch},
 @code{surface}, @code{text} and @code{image}.
 
-Each of these objects has a function by the
-same name. and, each of these functions returns a graphics handle pointing
-to an object of corresponding type.  In addition there are several functions
-which operate on properties of the graphics objects and which return handles:
-the functions @code{ plot} and @code{plot3} return a handle pointing to an
-object of type line, the function @code{subplot} returns a handle pointing to an
-object of type axes, the function @code{fill} returns a handle pointing to an
-object of type patch, the functions @code{area}, @code{bar},
-@code{barh}, @code{contour}, @code{contourf}, @code{contour3}, @code{surf}, @code{mesh},
-@code{surfc}, @code{meshc},
-@code{errorbar}, @code{quiver}, @code{quiver3}, @code{scatter}, @code{scatter3},
-@code{stair}, @code{stem}, @code{stem3} each return a handle as documented
-in @ref{doc-datasources,, Data Sources}.
+Each of these objects has a function by the same name. and, each of these
+functions returns a graphics handle pointing to an object of corresponding
+type.  In addition there are several functions which operate on properties of
+the graphics objects and which return handles: the functions @code{ plot} and
+@code{plot3} return a handle pointing to an object of type line, the function
+@code{subplot} returns a handle pointing to an object of type axes, the
+function @code{fill} returns a handle pointing to an object of type patch, the
+functions @code{area}, @code{bar}, @code{barh}, @code{contour},
+@code{contourf}, @code{contour3}, @code{surf}, @code{mesh}, @code{surfc},
+@code{meshc}, @code{errorbar}, @code{quiver}, @code{quiver3}, @code{scatter},
+@code{scatter3}, @code{stair}, @code{stem}, @code{stem3} each return a handle
+as documented in @ref{doc-datasources,, Data Sources}.
 
 
 The graphics objects are arranged in a hierarchy:
@@ -1011,6 +1009,7 @@
 
 @table @asis
 @c @group
+
 @item root figure
 @cindex root figure graphics object
 @cindex graphics object, root figure
@@ -2566,6 +2565,7 @@
 @end group
 @end example
 
+@noindent
 where @code{src} gives a handle to the source of the callback, and
 @code{code} gives some event specific data.  This can then be associated
 with an object either at the objects creation or later with the
--- a/doc/interpreter/sparse.txi
+++ b/doc/interpreter/sparse.txi
@@ -215,6 +215,7 @@
 s = diag (sparse(randn(1,n)), -1);
 @end example
 
+@noindent
 creates a sparse (@var{n}+1)-by-(@var{n}+1) sparse matrix with a single
 diagonal defined.
 
@@ -253,6 +254,7 @@
 @end group
 @end example
 
+@noindent
 creates an @var{r}-by-@var{c} sparse matrix with a random distribution
 of @var{n} (<@var{r}) elements per column.  The elements of the vectors
 do not need to be sorted in any particular order as Octave will sort
@@ -360,6 +362,7 @@
 @end group
 @end example
 
+@noindent
 shows that Octave correctly determines the matrix type for lower
 triangular matrices.  @dfn{matrix_type} can also be used to force
 the type of a matrix to be a particular type.  For example:
@@ -409,6 +412,7 @@
 @end group
 @end example
 
+@noindent
 which creates an adjacency matrix @code{A} where node 1 is connected
 to nodes 2 and 6, node 2 with nodes 1 and 3, etc.  The coordinates of
 the nodes are given in the n-by-2 matrix @code{xy}.
@@ -534,6 +538,7 @@
 @end group
 @end example
 
+@noindent
 returns a full matrix as can be seen. 
 
 
@@ -561,6 +566,7 @@
  a = diag (sparse([1,2,3]), -1);
 @end example
 
+@noindent
 should return a sparse matrix.  To ensure this actually happens, the
 @dfn{sparse} function, and other functions based on it like @dfn{speye}, 
 always returns a sparse matrix, even if the memory used will be larger 
@@ -593,6 +599,7 @@
 @end group
 @end example
 
+@noindent
 will give.  The first example of @var{s} raised to the power of 2 causes
 no problems.  However @var{s} raised element-wise to itself involves a
 large number of terms @code{0 .^ 0} which is 1. There @code{@var{s} .^
--- a/doc/interpreter/stats.txi
+++ b/doc/interpreter/stats.txi
@@ -24,7 +24,7 @@
 basic descriptive statistics, statistical tests, random number generation,
 and much more.
 
-The functions that analyze data all assume that multidimensional data
+The functions that analyze data all assume that multi-dimensional data
 is arranged in a matrix where each row is an observation, and each
 column is a variable.  So, the matrix defined by
 
--- a/doc/interpreter/testfun.txi
+++ b/doc/interpreter/testfun.txi
@@ -117,6 +117,7 @@
    %!assert (@dots{})
 @end example
 
+@noindent
 which is equivalent to:
 
 @example
@@ -184,12 +185,13 @@
    %!error <passes!> error('this test passes!');
 @end example
 
-If the code doesn't generate an error, the test fails.  For example,
+If the code doesn't generate an error, the test fails.  For example:
 
 @example
    %!error "this is an error because it succeeds.";
 @end example
 
+@noindent
 produces
 
 @example
@@ -214,6 +216,7 @@
 @end group
 @end example
 
+@noindent
 produces
 
 @example
@@ -282,6 +285,7 @@
 @end group
 @end example
 
+@noindent
 or
 
 @example
@@ -292,6 +296,7 @@
 @end group
 @end example
 
+@noindent
 but then the code will have to be on the load path and the user 
 will have to remember to type test('name.cc').  Conversely, you
 can separate the tests from normal Octave script files by putting
--- a/doc/interpreter/tips.txi
+++ b/doc/interpreter/tips.txi
@@ -95,6 +95,7 @@
 @end group
 @end example
 
+@noindent
 write
 
 @example
@@ -117,6 +118,7 @@
 a = b(2:n) - b(1:n-1);
 @end example
 
+@noindent
 is
 
 @example
@@ -626,6 +628,7 @@
 @end group
 @end example
 
+@noindent
 which produces
 
 @example
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-01  Rik <octave@nomad.inbox5.com>
+
+	* deprecated/intwarning.m, general/arrayfun.m, general/cplxpair.m,
+	general/interp1.m, general/interpn.m, general/quadgk.m,
+	general/structfun.m, image/image_viewer.m, io/strread.m,
+	miscellaneous/warning_ids.m, optimization/lsqnonneg.m, pkg/pkg.m,
+	plot/__marching_cube__.m, plot/bar.m, plot/contourc.m, plot/errorbar.m,
+	plot/ezplot.m, plot/isocolors.m, plot/isonormals.m, plot/isosurface.m,
+	plot/stem.m, plot/stem3.m, polynomial/compan.m, polynomial/ppval.m,
+	signal/arch_rnd.m, sparse/pcg.m, sparse/svds.m,
+	special-matrix/invhilb.m, statistics/distributions/wblcdf.m,
+	testfun/assert.m, testfun/demo.m, testfun/speed.m: 
+	Grammarcheck documentation.  Add @noindent lines and ensure line 
+	length is less than 80.
+
 2010-08-01  Martin Helm <martin@mhelm.de>
 
 	* plot/isosurface.m: Swap rows and columns of matrix in call to
--- a/scripts/deprecated/intwarning.m
+++ b/scripts/deprecated/intwarning.m
@@ -28,8 +28,8 @@
 ## With an output argument, return the current state of the integer
 ## conversion and math warnings.  With no output arguments, print the
 ## current state.
+## @c Set example in small font to prevent overfull line
 ##
-## @c Set example in small font to prevent overfull line
 ## @smallexample
 ## @group
 ## intwarning ("query")
--- a/scripts/general/arrayfun.m
+++ b/scripts/general/arrayfun.m
@@ -104,6 +104,7 @@
 ## function [@dots{}] = errfunc (@var{s}, @dots{})
 ## @end example
 ##
+## @noindent
 ## where there is an additional input argument to @var{errfunc}
 ## relative to @var{func}, given by @var{s}.  This is a structure with
 ## the elements "identifier", "message" and "index", giving
--- a/scripts/general/cplxpair.m
+++ b/scripts/general/cplxpair.m
@@ -36,8 +36,8 @@
 ## error if all complex numbers are not exact conjugates (to within
 ## @var{tol}).  Note that there is no defined order for pairs with identical
 ## real parts but differing imaginary parts.
+## @c Set example in small font to prevent overfull line
 ##
-## @c Set example in small font to prevent overfull line
 ## @smallexample
 ## cplxpair (exp(2i*pi*[0:4]'/5)) == exp(2i*pi*[3; 2; 4; 1; 0]/5)
 ## @end smallexample
--- a/scripts/general/interp1.m
+++ b/scripts/general/interp1.m
@@ -18,7 +18,7 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{yi} =} interp1 (@var{x}, @var{y}, @var{xi})
+## @deftypefn  {Function File} {@var{yi} =} interp1 (@var{x}, @var{y}, @var{xi})
 ## @deftypefnx {Function File} {@var{yi} =} interp1 (@var{y}, @var{xi})
 ## @deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, @var{method})
 ## @deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, @var{extrap})
@@ -26,8 +26,8 @@
 ##
 ## One-dimensional interpolation.  Interpolate @var{y}, defined at the
 ## points @var{x}, at the points @var{xi}.  The sample points @var{x} 
-## must be monotonic. If not specified, @var{x} is taken to be the
-## indices of @var{y}. If @var{y} is an array, treat the columns
+## must be monotonic.  If not specified, @var{x} is taken to be the
+## indices of @var{y}.  If @var{y} is an array, treat the columns
 ## of @var{y} separately.
 ##
 ## Method is one of:
@@ -40,7 +40,7 @@
 ## Linear interpolation from nearest neighbors
 ##
 ## @item 'pchip'
-## Piece-wise cubic hermite interpolating polynomial
+## Piece-wise cubic Hermite interpolating polynomial
 ##
 ## @item 'cubic'
 ## Cubic interpolation from four nearest neighbors
--- a/scripts/general/interpn.m
+++ b/scripts/general/interpn.m
@@ -17,7 +17,7 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {@var{vi} =} interpn (@var{x1}, @var{x2}, @dots{}, @var{v}, @var{y1}, @var{y2}, @dots{})
+## @deftypefn  {Function File} {@var{vi} =} interpn (@var{x1}, @var{x2}, @dots{}, @var{v}, @var{y1}, @var{y2}, @dots{})
 ## @deftypefnx {Function File} {@var{vi} =} interpn (@var{v}, @var{y1}, @var{y2}, @dots{})
 ## @deftypefnx {Function File} {@var{vi} =} interpn (@var{v}, @var{m})
 ## @deftypefnx {Function File} {@var{vi} =} interpn (@var{v})
--- a/scripts/general/quadgk.m
+++ b/scripts/general/quadgk.m
@@ -78,7 +78,7 @@
 ## @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 estimation of the error in the integral, faster
-## computation or both.  For example:
+## computation or both.  For example,
 ##
 ## @example
 ## quadgk (@@(x) abs (1 - x .^ 2), 0, 2, 'Waypoints', 1)
@@ -95,7 +95,7 @@
 ## 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
-## assumed to have no edge singularities.  For example
+## assumed to have no edge singularities.  For example,
 ##
 ## @example
 ## @group
@@ -448,4 +448,4 @@
 %!assert (quadgk(@(x) 1./(sqrt(x).*(x+1)), 0, Inf), pi, 1e-6)
 %!assert (quadgk (@(z) log (z), 1+1i, 1+1i, 'WayPoints', [1-1i, -1,-1i, -1+1i]), -pi * 1i, 1e-6)
 
-%!assert (quadgk (@(x) exp(-x .^ 2), -Inf, Inf), sqrt(pi), 1e-6)
\ No newline at end of file
+%!assert (quadgk (@(x) exp(-x .^ 2), -Inf, Inf), sqrt(pi), 1e-6)
--- a/scripts/general/structfun.m
+++ b/scripts/general/structfun.m
@@ -62,6 +62,7 @@
 ## function [@dots{}] = errfunc (@var{se}, @dots{})
 ## @end example
 ## 
+## @noindent
 ## where there is an additional input argument to @var{errfunc} relative to
 ## @var{func}, given by @var{se}.  This is a structure with the elements
 ## "identifier", "message" and "index", giving respectively the error
--- a/scripts/image/image_viewer.m
+++ b/scripts/image/image_viewer.m
@@ -40,6 +40,7 @@
 ## image_viewer ("eog %s");
 ## @end example
 ##
+## @noindent
 ## changes the image viewer to the @code{eog} program.
 ##
 ## With two input arguments, images will be displayed by calling
@@ -49,6 +50,7 @@
 ## image_viewer (data, @@my_image_viewer);
 ## @end example
 ##
+## @noindent
 ## sets the image viewer function to @code{my_image_viewer}.  The image
 ## viewer function is called with
 ##
@@ -56,6 +58,7 @@
 ## my_image_viewer (@var{x}, @var{y}, @var{im}, @var{zoom}, @var{data})
 ## @end example
 ##
+## @noindent
 ## where @var{x} and @var{y} are the axis of the image, @var{im} is the image
 ## variable, and @var{data} is extra user-supplied data to be passed to
 ## the viewer function.
--- a/scripts/io/strread.m
+++ b/scripts/io/strread.m
@@ -60,6 +60,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## can be read using
 ##
 ## @example
--- a/scripts/miscellaneous/warning_ids.m
+++ b/scripts/miscellaneous/warning_ids.m
@@ -184,6 +184,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## elicits a warning if the @code{Octave:num-to-str} warning is
 ## enabled.  By default, the @code{Octave:num-to-str} warning is enabled.
 ## 
@@ -228,6 +229,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## elicits a warning if the @code{Octave:str-to-num} warning is enabled.
 ## By default, the @code{Octave:str-to-num} warning is disabled.
 ## 
--- a/scripts/optimization/lsqnonneg.m
+++ b/scripts/optimization/lsqnonneg.m
@@ -26,9 +26,9 @@
 ## @deftypefnx {Function File} {[@var{x}, @var{resnorm}, @var{residual}, @var{exitflag}] =} lsqnonneg (@dots{})
 ## @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
-## initial guess for @var{x}.
+## 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 initial guess for @var{x}.
 ##
 ## Outputs:
 ## @itemize @bullet
--- a/scripts/pkg/pkg.m
+++ b/scripts/pkg/pkg.m
@@ -213,6 +213,7 @@
 ## pkg rebuild -noauto image
 ## @end example
 ##
+## @noindent
 ## will remove the autoloading status of the image package.
 ##
 ## @item build
--- a/scripts/plot/__marching_cube__.m
+++ b/scripts/plot/__marching_cube__.m
@@ -42,6 +42,7 @@
 ## @uref{http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise}.
 ##
 ## For example:
+##
 ## @example
 ## @group
 ## N = 20;
--- a/scripts/plot/bar.m
+++ b/scripts/plot/bar.m
@@ -41,7 +41,7 @@
 ## object with one handle per column of the variable @var{y}.  This
 ## series allows common elements of the group of bar series objects to
 ## be changed in a single bar series and the same properties are changed
-## in the other "bar series".  For example
+## in the other "bar series".  For example,
 ##
 ## @example
 ## @group
@@ -66,6 +66,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## will change the colors used for the bars.  If you wish to force the bars to
 ## particular colors, this can be achieved like
 ##
--- a/scripts/plot/contourc.m
+++ b/scripts/plot/contourc.m
@@ -43,6 +43,7 @@
 ## If @var{vn} is omitted it defaults to 10.
 ##
 ## For example:
+##
 ## @example
 ## @group
 ## x = 0:2;
--- a/scripts/plot/errorbar.m
+++ b/scripts/plot/errorbar.m
@@ -81,6 +81,7 @@
 ## errorbar (@var{x}, @var{y}, @var{ex}, ">")
 ## @end example
 ##
+## @noindent
 ## produces an xerrorbar plot of @var{y} versus @var{x} with @var{x}
 ## errorbars drawn from @var{x}-@var{ex} to @var{x}+@var{ex}.
 ##
@@ -91,6 +92,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## produces yerrorbar plots with @var{y1} and @var{y2} versus @var{x}.
 ## Errorbars for @var{y1} are drawn from @var{y1}-@var{ey} to
 ## @var{y1}+@var{ey}, errorbars for @var{y2} from @var{y2}-@var{ly} to
@@ -103,6 +105,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## produces an xyerrorbar plot of @var{y} versus @var{x} in which
 ## @var{x} errorbars are drawn from @var{x}-@var{lx} to @var{x}+@var{ux}
 ## and @var{y} errorbars from @var{y}-@var{ly} to @var{y}+@var{uy}.
--- a/scripts/plot/ezplot.m
+++ b/scripts/plot/ezplot.m
@@ -48,6 +48,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## is plotted over the domain @code{-2*pi < @var{t} < 2*pi} with 500
 ## points. 
 ##
--- a/scripts/plot/isocolors.m
+++ b/scripts/plot/isocolors.m
@@ -44,6 +44,7 @@
 ## @var{p}.
 ##
 ## For example:
+##
 ## @example
 ## function [] = isofinish (p)
 ##   set (gca, "PlotBoxAspectRatioMode", "manual", \
--- a/scripts/plot/isonormals.m
+++ b/scripts/plot/isonormals.m
@@ -42,6 +42,7 @@
 ## given by the patch handle @var{p}.
 ##
 ## For example:
+##
 ## @example
 ## function [] = isofinish (p)
 ##   set (gca, "PlotBoxAspectRatioMode","manual","PlotBoxAspectRatio",[1 1 1]);
--- a/scripts/plot/isosurface.m
+++ b/scripts/plot/isosurface.m
@@ -53,7 +53,7 @@
 ## If called with no output argument then directly process the
 ## isosurface geometry with the @command{patch} command.
 ##
-## For example
+## For example,
 ##
 ## @example
 ## @group
@@ -63,6 +63,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## will directly draw a random isosurface geometry in a graphics window.
 ## Another example for an isosurface geometry with different additional
 ## coloring
--- a/scripts/plot/stem.m
+++ b/scripts/plot/stem.m
@@ -34,7 +34,7 @@
 ## The default color is @code{"b"} (blue).  The default line style is
 ## @code{"-"} and the default marker is @code{"o"}.  The line style can
 ## be altered by the @code{linespec} argument in the same manner as the
-## @code{plot} command.  For example
+## @code{plot} command.  For example,
 ##
 ## @example
 ## @group
@@ -51,7 +51,7 @@
 ## handles, with one handle per column of the variable @var{y}.  This
 ## handle regroups the elements of the stem graph together as the
 ## children of the "stem series" handle, allowing them to be altered
-## together.  For example
+## together.  For example,
 ##
 ## @example
 ## @group
--- a/scripts/plot/stem3.m
+++ b/scripts/plot/stem3.m
@@ -24,6 +24,7 @@
 ## @code{"-"} and the default marker is @code{"o"}.
 ##
 ## For example,
+##
 ## @example
 ## @group
 ## theta = 0:0.2:6; 
--- a/scripts/polynomial/compan.m
+++ b/scripts/polynomial/compan.m
@@ -35,6 +35,7 @@
 ## @end tex
 ## @ifnottex
 ## @c Set example in small font to prevent overfull line
+##
 ## @smallexample
 ## @group
 ##      _                                                        _
--- a/scripts/polynomial/ppval.m
+++ b/scripts/polynomial/ppval.m
@@ -22,9 +22,11 @@
 ## If @var{pp} is scalar-valued, the result is an array of the same shape as
 ## @var{xi}.
 ## Otherwise, the size of the result is @code{[pp.d, length(@var{xi})]} if
-## @var{xi} is a vector, or @code{[pp.d, size(@var{xi})]} if it is a multi-dimensional
-## array.  If pp.orient is 1, the dimensions are permuted as in interp1, to
-## @code{[pp.d, length(@var{xi})]} and @code{[pp.d, size(@var{xi})]} respectively.
+## @var{xi} is a vector, or @code{[pp.d, size(@var{xi})]} if it is a
+## multi-dimensional array.  If pp.orient is 1, the dimensions are permuted as
+## in interp1, to
+## @code{[pp.d, length(@var{xi})]} and @code{[pp.d, size(@var{xi})]}
+## respectively.
 ## @seealso{mkpp, unmkpp, spline}
 ## @end deftypefn 
 
--- a/scripts/signal/arch_rnd.m
+++ b/scripts/signal/arch_rnd.m
@@ -22,8 +22,8 @@
 ## Simulate an ARCH sequence of length @var{t} with AR
 ## coefficients @var{b} and CH coefficients @var{a}.  I.e., the result
 ## @math{y(t)} follows the model
+## @c Set example in small font to prevent overfull line
 ##
-## @c Set example in small font to prevent overfull line
 ## @smallexample
 ## y(t) = b(1) + b(2) * y(t-1) + @dots{} + b(lb) * y(t-lb+1) + e(t),
 ## @end smallexample
@@ -31,8 +31,8 @@
 ## @noindent
 ## where @math{e(t)}, given @var{y} up to time @math{t-1}, is
 ## @math{N(0, h(t))}, with
+## @c Set example in small font to prevent overfull line
 ##
-## @c Set example in small font to prevent overfull line
 ## @smallexample
 ## h(t) = a(1) + a(2) * e(t-1)^2 + @dots{} + a(la) * e(t-la+1)^2
 ## @end smallexample
--- a/scripts/sparse/pcg.m
+++ b/scripts/sparse/pcg.m
@@ -49,8 +49,9 @@
 ## arguments, a default value equal to 20 is used.
 ## 
 ## @item
-## @var{m} = @var{m1} * @var{m2} is the (left) preconditioning matrix, so that the iteration is
-## (theoretically) equivalent to solving by @code{pcg} @code{@var{P} *
+## @var{m} = @var{m1} * @var{m2} is the (left) preconditioning matrix, so that
+## the iteration is (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
--- a/scripts/sparse/svds.m
+++ b/scripts/sparse/svds.m
@@ -69,6 +69,7 @@
 ## @var{a}_approx = @var{u}*@var{s}*@var{v}'
 ## @end example
 ##
+## @noindent
 ## where @var{a}_approx is a matrix of size @var{a} but only rank @var{k}.
 ## 
 ## @var{flag} returns 0 if the algorithm has succesfully converged, and 1 
@@ -80,8 +81,9 @@
 ## @end group
 ## @end example
 ##
-## @code{svds} is best for finding only a few singular values from a large sparse
-## matrix.  Otherwise, @code{svd (full(@var{a}))} will likely be more efficient.
+## @code{svds} is best for finding only a few singular values from a large
+## sparse matrix.  Otherwise, @code{svd (full(@var{a}))} will likely be more
+## efficient.
 ## @end deftypefn
 ## @seealso{svd, eigs}
 
--- a/scripts/special-matrix/invhilb.m
+++ b/scripts/special-matrix/invhilb.m
@@ -49,6 +49,7 @@
 ## @end group
 ## @end example
 ##
+## @noindent
 ## where
 ##
 ## @example
--- a/scripts/statistics/distributions/wblcdf.m
+++ b/scripts/statistics/distributions/wblcdf.m
@@ -31,6 +31,7 @@
 ## 1 - exp(-(x/shape)^scale)
 ## @end example
 ##
+## @noindent
 ## for @var{x} @geq{} 0.
 ## @end ifnottex
 ## @end deftypefn
--- a/scripts/testfun/assert.m
+++ b/scripts/testfun/assert.m
@@ -47,9 +47,9 @@
 ## @code{abs(@var{observed} - @var{expected}) > abs(@var{tol})}.
 ## If @var{tol} is negative use it as a relative tolerance, will produce an
 ## error if
-## @code{abs(@var{observed} - @var{expected}) > abs(@var{tol} * @var{expected})}.
-## If @var{expected} is zero @var{tol} will always be used as an absolute
-## tolerance.
+## @code{abs(@var{observed} - @var{expected}) > abs(@var{tol} *
+## @var{expected})}.  If @var{expected} is zero @var{tol} will always be used as
+## an absolute tolerance.
 ## @end table
 ## @seealso{test}
 ## @end deftypefn
--- a/scripts/testfun/demo.m
+++ b/scripts/testfun/demo.m
@@ -50,6 +50,7 @@
 ##    %! input("Press <enter> to continue: ","s");
 ## @end example
 ##
+## @noindent
 ## between the sections, but this is discouraged.  Other techniques
 ## include using multiple plots by saying figure between each, or
 ## using subplot to put multiple plots in the same window.
--- a/scripts/testfun/speed.m
+++ b/scripts/testfun/speed.m
@@ -90,6 +90,7 @@
 ## speed ("for i = 1:n, y@{i@} = x(i); end", "", [1000,10000])
 ## @end example
 ##
+## @noindent
 ## but it is if you preallocate the cell array @code{y}:
 ##
 ## @example
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-01  Rik <octave@nomad.inbox5.com>
+
+	* DLD-FUNCTIONS/amd.cc, DLD-FUNCTIONS/balance.cc, 
+	DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc,
+	DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc,
+	DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc,
+	DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eigs.cc,
+	DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc,
+	DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc,
+	DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/onCleanup.cc,
+	DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc,
+	DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/str2double.cc,
+	DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/typecast.cc, data.cc, graphics.cc,
+	load-save.cc, ov-null-mat.cc, ov-struct.cc, ov-usr-fcn.cc,
+	pr-output.cc, strfns.cc, variables.cc: Grammarcheck documentation.  
+	Add @noindent lines and ensure line length is less than 80.
+
 2010-07-31  Rik <octave@nomad.inbox5.com>
 
 	* DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/__voronoi__.cc,
--- a/src/DLD-FUNCTIONS/amd.cc
+++ b/src/DLD-FUNCTIONS/amd.cc
@@ -77,8 +77,9 @@
 absorption.  The default is not to perform aggressive absorption.\n\
 @end table\n\
 \n\
-The author of the code itself is Timothy A. Davis @email{davis@@cise.ufl.edu},\n\
-University of Florida (see @url{http://www.cise.ufl.edu/research/sparse/amd}).\n\
+The author of the code itself is Timothy A. Davis\n\
+@email{davis@@cise.ufl.edu}, University of Florida (see\n\
+@url{http://www.cise.ufl.edu/research/sparse/amd}).\n\
 @seealso{symamd, colamd}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/balance.cc
+++ b/src/DLD-FUNCTIONS/balance.cc
@@ -63,8 +63,8 @@
 \n\
 If two output values are requested, @code{balance} returns \n\
 the diagonal @code{d} and the permutation @code{p} separately as vectors.  \n\
-In this case, @code{dd = eye(n)(:,p) * diag (d)}, where @code{n} is the matrix\n\
-size.  \n\
+In this case, @code{dd = eye(n)(:,p) * diag (d)}, where @code{n} is the\n\
+matrix size.  \n\
 \n\
 If four output values are requested, compute @code{aa = cc*a*dd} and\n\
 @code{bb = cc*b*dd)}, in which @code{aa} and @code{bb} have non-zero\n\
--- a/src/DLD-FUNCTIONS/besselj.cc
+++ b/src/DLD-FUNCTIONS/besselj.cc
@@ -407,8 +407,8 @@
 \n\
 @item besselh\n\
 Compute Hankel functions of the first (@var{k} = 1) or second (@var{k}\n\
-= 2) kind.  If the argument @var{opt} is supplied, the result is multiplied by\n\
-@code{exp (-I*@var{x})} for @var{k} = 1 or @code{exp (I*@var{x})} for\n\
+= 2) kind.  If the argument @var{opt} is supplied, the result is multiplied\n\
+by @code{exp (-I*@var{x})} for @var{k} = 1 or @code{exp (I*@var{x})} for\n\
 @var{k} = 2.\n\
 @end table\n\
 \n\
--- a/src/DLD-FUNCTIONS/betainc.cc
+++ b/src/DLD-FUNCTIONS/betainc.cc
@@ -43,8 +43,8 @@
 $$\n\
 @end tex\n\
 @ifnottex\n\
+@c Set example in small font to prevent overfull line\n\
 \n\
-@c Set example in small font to prevent overfull line\n\
 @smallexample\n\
 @group\n\
                                       x\n\
--- a/src/DLD-FUNCTIONS/ccolamd.cc
+++ b/src/DLD-FUNCTIONS/ccolamd.cc
@@ -59,8 +59,9 @@
 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} ccolamd (@dots{})\n\
 \n\
 Constrained column approximate minimum degree permutation.\n\
-@code{@var{p} = ccolamd (@var{s})} returns the column approximate minimum degree\n\
-permutation vector for the sparse matrix @var{s}.  For a non-symmetric matrix\n\
+@code{@var{p} = ccolamd (@var{s})} returns the column approximate minimum\n\
+degree permutation vector for the sparse matrix @var{s}.  For a non-symmetric\n\
+matrix\n\
 @var{s},\n\
 @code{@var{s} (:, @var{p})} tends to have sparser LU factors than @var{s}.\n\
 @code{chol (@var{s} (:, @var{p})' * @var{s} (:, @var{p}))} also tends to be\n\
@@ -105,11 +106,11 @@
 @code{ccolamd (@var{s}, [], 1 : @var{n})} returns @code{1 : @var{n}}\n\
 \n\
 @code{@var{p} = ccolamd (@var{s})} is about the same as\n\
-@code{@var{p} = colamd (@var{s})}.  @var{knobs} and its default values differ.  \n\
-@code{colamd} always does aggressive absorption, and it finds an ordering\n\
-suitable for both @code{lu (@var{s} (:, @var{p}))} and @code{chol (@var{S} (:,\n\
-@var{p})' * @var{s} (:, @var{p}))}; it cannot optimize its ordering for\n\
-@code{lu (@var{s} (:, @var{p}))} to the extent that\n\
+@code{@var{p} = colamd (@var{s})}.  @var{knobs} and its default values\n\
+differ.  @code{colamd} always does aggressive absorption, and it finds an\n\
+ordering suitable for both @code{lu (@var{s} (:, @var{p}))} and @code{chol\n\
+(@var{S} (:, @var{p})' * @var{s} (:, @var{p}))}; it cannot optimize its\n\
+ordering for @code{lu (@var{s} (:, @var{p}))} to the extent that\n\
 @code{ccolamd (@var{s}, 1)} can.\n\
 \n\
 @var{stats} is an optional 20-element output vector that provides data\n\
--- a/src/DLD-FUNCTIONS/cellfun.cc
+++ b/src/DLD-FUNCTIONS/cellfun.cc
@@ -148,8 +148,8 @@
 @end example\n\
 \n\
 The number of output arguments of @code{cellfun} matches the number of output\n\
-arguments of the function.  The outputs of the function will be collected into\n\
-the output arguments of @code{cellfun} like this:\n\
+arguments of the function.  The outputs of the function will be collected\n\
+into the output arguments of @code{cellfun} like this:\n\
 \n\
 @example\n\
 @group\n\
@@ -166,14 +166,14 @@
 @end group\n\
 @end example\n\
 \n\
-Note that per default the output argument(s) are arrays of the same size as the\n\
-input arguments.  Input arguments that are singleton (1x1) cells will be\n\
+Note that per default the output argument(s) are arrays of the same size as\n\
+the input arguments.  Input arguments that are singleton (1x1) cells will be\n\
 automatically expanded to the size of the other arguments.\n\
 \n\
-If the parameter 'UniformOutput' is set to true (the default), then the function\n\
-must return scalars which will be concatenated into the return array(s).  If\n\
-'UniformOutput' is false, the outputs are concatenated into a cell array (or\n\
-cell arrays).  For example\n\
+If the parameter 'UniformOutput' is set to true (the default), then the\n\
+function must return scalars which will be concatenated into the return\n\
+array(s).  If 'UniformOutput' is false, the outputs are concatenated into a\n\
+cell array (or cell arrays).  For example:\n\
 \n\
 @example\n\
 @group\n\
@@ -190,6 +190,7 @@
 function [@dots{}] = errfunc (@var{s}, @dots{})\n\
 @end example\n\
 \n\
+@noindent\n\
 where there is an additional input argument to @var{errfunc} relative to\n\
 @var{func}, given by @var{s}.  This is a structure with the elements\n\
 'identifier', 'message' and 'index', giving respectively the error\n\
@@ -1460,9 +1461,10 @@
 DEFUN_DLD (cellslices, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{sl} =} cellslices (@var{x}, @var{lb}, @var{ub}, @var{dim})\n\
-Given an array @var{x}, this function produces a cell array of slices from the\n\
-array determined by the index vectors @var{lb}, @var{ub}, for lower and upper\n\
-bounds, respectively.  In other words, it is equivalent to the following code:\n\
+Given an array @var{x}, this function produces a cell array of slices from\n\
+the array determined by the index vectors @var{lb}, @var{ub}, for lower and\n\
+upper bounds, respectively.  In other words, it is equivalent to the\n\
+following code:\n\
 \n\
 @example\n\
 @group\n\
@@ -1474,8 +1476,8 @@
 @end group\n\
 @end example\n\
 \n\
-The position of the index is determined by @var{dim}.  If not specified, slicing\n\
-is done along the first non-singleton dimension.\n\
+The position of the index is determined by @var{dim}.  If not specified,\n\
+slicing is done along the first non-singleton dimension.\n\
 @end deftypefn")
 {
   octave_value retval;
--- a/src/DLD-FUNCTIONS/chol.cc
+++ b/src/DLD-FUNCTIONS/chol.cc
@@ -1003,8 +1003,8 @@
 @deftypefn {Loadable Function} {@var{R1} =} choldelete (@var{R}, @var{j})\n\
 Given a Cholesky@tie{}factorization of a real symmetric or complex Hermitian\n\
 positive definite matrix @w{@var{A} = @var{R}'*@var{R}}, @var{R}@tie{}upper\n\
-triangular, return the Cholesky@tie{}factorization of @w{A(p,p)}, where @w{p =\n\
-[1:j-1,j+1:n+1]}.\n\
+triangular, return the Cholesky@tie{}factorization of @w{A(p,p)}, where\n\
+@w{p = [1:j-1,j+1:n+1]}.\n\
 @seealso{chol, cholupdate, cholinsert}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/colamd.cc
+++ b/src/DLD-FUNCTIONS/colamd.cc
@@ -216,23 +216,23 @@
 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s}, @var{knobs})\n\
 \n\
 Column approximate minimum degree permutation.\n\
-@code{@var{p} = colamd (@var{s})} returns the column approximate minimum degree\n\
-permutation vector for the sparse matrix @var{s}.  For a non-symmetric matrix\n\
-@var{s},\n\
-@code{@var{s} (:,@var{p})} tends to have sparser LU factors than @var{s}.\n\
-The Cholesky factorization of @code{@var{s} (:,@var{p})' * @var{s}\n\
-(:,@var{p})} also tends to be sparser than that of @code{@var{s}' *\n\
-@var{s}}.\n\
+@code{@var{p} = colamd (@var{s})} returns the column approximate minimum\n\
+degree permutation vector for the sparse matrix @var{s}.  For a\n\
+non-symmetric matrix @var{s}, @code{@var{s} (:,@var{p})} tends to have\n\
+sparser LU factors than @var{s}.  The Cholesky factorization of\n\
+@code{@var{s}(:,@var{p})' * @var{s} (:,@var{p})} also tends to be sparser\n\
+than that of @code{@var{s}' * @var{s}}.\n\
 \n\
 @var{knobs} is an optional one- to three-element input vector.  If @var{s} is\n\
-m-by-n, then rows with more than @code{max(16,@var{knobs}(1)*sqrt(n))} entries\n\
-are ignored.  Columns with more than @code{max(16,knobs(2)*sqrt(min(m,n)))}\n\
-entries are removed prior to ordering, and ordered last in the output\n\
-permutation @var{p}.  Only completely dense rows or columns are removed\n\
-if @code{@var{knobs} (1)} and @code{@var{knobs} (2)} are < 0, respectively.\n\
-If @code{@var{knobs} (3)} is nonzero, @var{stats} and @var{knobs} are\n\
-printed.  The default is @code{@var{knobs} = [10 10 0]}.  Note that\n\
-@var{knobs} differs from earlier versions of colamd\n\
+m-by-n, then rows with more than @code{max(16,@var{knobs}(1)*sqrt(n))}\n\
+entries are ignored.  Columns with more than\n\
+@code{max(16,knobs(2)*sqrt(min(m,n)))} entries are removed prior to\n\
+ordering, and ordered last in the output permutation @var{p}.  Only\n\
+completely dense rows or columns are removed if @code{@var{knobs} (1)} and\n\
+@code{@var{knobs} (2)} are < 0, respectively.  If @code{@var{knobs} (3)} is\n\
+nonzero, @var{stats} and @var{knobs} are printed.  The default is\n\
+@code{@var{knobs} = [10 10 0]}.  Note that @var{knobs} differs from earlier\n\
+versions of colamd\n\
 \n\
 @var{stats} is an optional 20-element output vector that provides data\n\
 about the ordering and the validity of the input matrix @var{s}.  Ordering\n\
@@ -252,8 +252,8 @@
 of order, then @sc{colamd} can correct these errors by ignoring the duplicate\n\
 entries and sorting each column of its internal copy of the matrix\n\
 @var{s} (the input matrix @var{s} is not repaired, however).  If a matrix\n\
-is invalid in other ways then @sc{colamd} cannot continue, an error message is\n\
-printed, and no output arguments (@var{p} or @var{stats}) are returned.\n\
+is invalid in other ways then @sc{colamd} cannot continue, an error message\n\
+is printed, and no output arguments (@var{p} or @var{stats}) are returned.\n\
 @sc{colamd} is thus a simple way to check a sparse matrix to see if it's\n\
 valid.\n\
 \n\
--- a/src/DLD-FUNCTIONS/daspk.cc
+++ b/src/DLD-FUNCTIONS/daspk.cc
@@ -186,6 +186,7 @@
 0 = f (x, xdot, t)\n\
 @end example\n\
 \n\
+@noindent\n\
 with\n\
 \n\
 @example\n\
--- a/src/DLD-FUNCTIONS/dasrt.cc
+++ b/src/DLD-FUNCTIONS/dasrt.cc
@@ -221,6 +221,7 @@
 0 = f (x, xdot, t)\n\
 @end example\n\
 \n\
+@noindent\n\
 with\n\
 \n\
 @example\n\
@@ -297,6 +298,7 @@
 @var{g_out} = g (@var{x}, @var{t})\n\
 @end example\n\
 \n\
+@noindent\n\
 and return a vector of the constraint function values.\n\
 If the value of any of the constraint functions changes sign, @sc{dasrt}\n\
 will attempt to stop the integration at the point of the sign change.\n\
--- a/src/DLD-FUNCTIONS/dot.cc
+++ b/src/DLD-FUNCTIONS/dot.cc
@@ -110,9 +110,10 @@
 non-singleton dimension.  If the optional argument @var{dim} is\n\
 given, calculate the dot products along this dimension.\n\
 \n\
-This is equivalent to doing @code{sum (conj (@var{X}) .* @var{Y}, @var{dim})},\n\
-but avoids forming a temporary array and is faster.  When @var{X} and @var{Y}\n\
-are column vectors, the result is equivalent to\n\
+This is equivalent to doing\n\
+@code{sum (conj (@var{X}) .* @var{Y}, @var{dim})},\n\
+but avoids forming a temporary array and is faster.  When @var{X} and\n\
+@var{Y} are column vectors, the result is equivalent to\n\
 @code{ @var{X}'*@var{Y} }.\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/eigs.cc
+++ b/src/DLD-FUNCTIONS/eigs.cc
@@ -179,9 +179,9 @@
 @end ifinfo\n\
 \n\
 The argument @var{sigma} determines which eigenvalues are returned.\n\
-@var{sigma} can be either a scalar or a string.  When @var{sigma} is a scalar,\n\
-the @var{k} eigenvalues closest to @var{sigma} are returned.  If @var{sigma}\n\
-is a string, it must have one of the following values.\n\
+@var{sigma} can be either a scalar or a string.  When @var{sigma} is a\n\
+scalar, the @var{k} eigenvalues closest to @var{sigma} are returned.  If\n\
+@var{sigma} is a string, it must have one of the following values.\n\
 \n\
 @table @asis\n\
 @item 'lm'\n\
@@ -285,10 +285,10 @@
 \n\
 The return arguments of @code{eigs} depend on the number of return arguments\n\
 requested.  With a single return argument, a vector @var{d} of length @var{k}\n\
-is returned containing the @var{k} eigenvalues that have been found.  With two\n\
-return arguments, @var{v} is a @var{n}-by-@var{k} matrix whose columns are the\n\
-@var{k} eigenvectors corresponding to the returned eigenvalues.  The eigenvalues\n\
-themselves are returned in @var{d} in the form of a\n\
+is returned containing the @var{k} eigenvalues that have been found.  With\n\
+two return arguments, @var{v} is a @var{n}-by-@var{k} matrix whose columns\n\
+are the @var{k} eigenvectors corresponding to the returned eigenvalues.  The\n\
+eigenvalues themselves are returned in @var{d} in the form of a\n\
 @var{n}-by-@var{k} matrix, where the elements on the diagonal are the\n\
 eigenvalues.\n\
 \n\
--- a/src/DLD-FUNCTIONS/fftw.cc
+++ b/src/DLD-FUNCTIONS/fftw.cc
@@ -43,17 +43,18 @@
 accelerate the calculation of the FFTs but implies an initial cost\n\
 in its calculation.  When the @sc{fftw} libraries are initialized, they read\n\
 a system wide wisdom file (typically in @file{/etc/fftw/wisdom}), allowing\n\
-wisdom to be shared between applications other than Octave.  Alternatively, the\n\
-@code{fftw} function can be used to import wisdom.  For example\n\
+wisdom to be shared between applications other than Octave.  Alternatively,\n\
+the @code{fftw} function can be used to import wisdom.  For example,\n\
 \n\
 @example\n\
 @var{wisdom} = fftw ('dwisdom')\n\
 @end example\n\
 \n\
+@noindent\n\
 will save the existing wisdom used by Octave to the string @var{wisdom}.\n\
 This string can then be saved to a file and restored using the @code{save}\n\
-and @code{load} commands respectively.  This existing wisdom can be reimported\n\
-as follows\n\
+and @code{load} commands respectively.  This existing wisdom can be\n\
+reimported as follows\n\
 \n\
 @example\n\
 fftw ('dwisdom', @var{wisdom})\n\
@@ -98,6 +99,7 @@
 @var{method} = fftw ('planner')\n\
 @end example\n\
 \n\
+@noindent\n\
 and the method used can be set using\n\
 \n\
 @example\n\
--- a/src/DLD-FUNCTIONS/filter.cc
+++ b/src/DLD-FUNCTIONS/filter.cc
@@ -296,8 +296,8 @@
 $$\n\
 @end tex\n\
 @ifnottex\n\
+@c Set example in small font to prevent overfull line\n\
 \n\
-@c Set example in small font to prevent overfull line\n\
 @smallexample\n\
 @group\n\
    N                   M\n\
@@ -325,8 +325,8 @@
 $$\n\
 @end tex\n\
 @ifnottex\n\
+@c Set example in small font to prevent overfull line\n\
 \n\
-@c Set example in small font to prevent overfull line\n\
 @smallexample\n\
 @group\n\
             N                   M\n\
--- a/src/DLD-FUNCTIONS/lookup.cc
+++ b/src/DLD-FUNCTIONS/lookup.cc
@@ -203,9 +203,9 @@
 The result is undefined if @var{table} is not monotonic, or if\n\
 @var{table} contains a NaN.\n\
 \n\
-The complexity of the lookup is O(M*log(N)) where N is the size of @var{table}\n\
-and M is the size of @var{y}.  In the special case when @var{y} is also sorted,\n\
-the complexity is O(min(M*log(N),M+N)).\n\
+The complexity of the lookup is O(M*log(N)) where N is the size of\n\
+@var{table} and M is the size of @var{y}.  In the special case when @var{y}\n\
+is also sorted, the complexity is O(min(M*log(N),M+N)).\n\
 \n\
 @var{table} and @var{y} can also be cell arrays of strings\n\
 (or @var{y} can be a single string).  In this case, string lookup\n\
--- a/src/DLD-FUNCTIONS/lsode.cc
+++ b/src/DLD-FUNCTIONS/lsode.cc
@@ -176,6 +176,7 @@
 @end group\n\
 @end example\n\
 \n\
+@noindent\n\
 with\n\
 \n\
 @example\n\
@@ -210,6 +211,7 @@
 @var{jac} = j (@var{x}, @var{t})\n\
 @end example\n\
 \n\
+@noindent\n\
 in which @var{jac} is the matrix of partial derivatives\n\
 @tex\n\
 $$ J = {\\partial f_i \\over \\partial x_j} = \\left[\\matrix{\n\
--- a/src/DLD-FUNCTIONS/lu.cc
+++ b/src/DLD-FUNCTIONS/lu.cc
@@ -113,7 +113,8 @@
 \n\
 Called with a fifth output argument and a sparse input matrix, then\n\
 @dfn{lu} attempts to use a scaling factor @var{r} on the input matrix\n\
-such that @code{@var{p} * (@var{r} \\ @var{a}) * @var{q} = @var{l} * @var{u}}.\n\
+such that\n\
+@code{@var{p} * (@var{r} \\ @var{a}) * @var{q} = @var{l} * @var{u}}.\n\
 This typically leads to a sparser and more stable factorization.\n\
 \n\
 An additional input argument @var{thres}, that defines the pivoting\n\
@@ -614,6 +615,7 @@
   [@var{L}, @var{U}, @var{P}] = lu (@var{A});\n\
 @end example\n\
 \n\
+@noindent\n\
 then a factorization of @code{@var{a}+@var{x}*@var{y}.'} can be obtained either\n\
 as\n\
 \n\
@@ -621,6 +623,7 @@
   [@var{L1}, @var{U1}] = lu (@var{L}, @var{U}, @var{P}*@var{x}, @var{y})\n\
 @end example\n\
 \n\
+@noindent\n\
 or\n\
 \n\
 @example\n\
--- a/src/DLD-FUNCTIONS/matrix_type.cc
+++ b/src/DLD-FUNCTIONS/matrix_type.cc
@@ -46,12 +46,12 @@
 @deftypefnx {Loadable Function} {@var{a} =} matrix_type (@var{a}, 'banded', @var{nl}, @var{nu})\n\
 Identify the matrix type or mark a matrix as a particular type.  This allows\n\
 rapid for solutions of linear equations involving @var{a} to be performed.  \n\
-Called with a single argument, @code{matrix_type} returns the type of the matrix\n\
-and caches it for future use.  Called with more than one argument,\n\
+Called with a single argument, @code{matrix_type} returns the type of the\n\
+matrix and caches it for future use.  Called with more than one argument,\n\
 @code{matrix_type} allows the type of the matrix to be defined.\n\
 \n\
-If the option 'nocompute' is given, the function will not attempt to guess the\n\
-type if it is still unknown.  This is useful for debugging purposes.\n\
+If the option 'nocompute' is given, the function will not attempt to guess\n\
+the type if it is still unknown.  This is useful for debugging purposes.\n\
 \n\
 The possible matrix types depend on whether the matrix is full or sparse, and\n\
 can be one of the following\n\
@@ -88,8 +88,8 @@
 @itemx 'banded positive definite'\n\
 Banded matrix with the band size of @var{nl} below the diagonal and @var{nu}\n\
 above it.  If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and\n\
-treated with specialized code.  In addition the matrix can be marked as probably\n\
-a positive definite (Sparse matrices only)\n\
+treated with specialized code.  In addition the matrix can be marked as\n\
+probably a positive definite (Sparse matrices only)\n\
 \n\
 @item 'singular'\n\
 The matrix is assumed to be singular and will be treated with a minimum norm\n\
@@ -97,20 +97,20 @@
 \n\
 @end table\n\
 \n\
-Note that the matrix type will be discovered automatically on the first attempt\n\
-to solve a linear equation involving @var{a}.  Therefore @code{matrix_type} is\n\
-only useful to give Octave hints of the matrix type.  Incorrectly defining the\n\
-matrix type will result in incorrect results from solutions of linear equations,\n\
-and so it is entirely the responsibility of the user to correctly identify the\n\
-matrix type.\n\
+Note that the matrix type will be discovered automatically on the first\n\
+attempt to solve a linear equation involving @var{a}.  Therefore\n\
+@code{matrix_type} is only useful to give Octave hints of the matrix type.  \n\
+Incorrectly defining the matrix type will result in incorrect results from\n\
+solutions of linear equations, and so it is entirely the responsibility of\n\
+the user to correctly identify the matrix type.\n\
 \n\
 Also the test for positive definiteness is a low-cost test for a Hermitian\n\
-matrix with a real positive diagonal.  This does not guarantee that the matrix\n\
-is positive definite, but only that it is a probable candidate.  When such a\n\
-matrix is factorized, a Cholesky factorization is first attempted, and if that\n\
-fails the matrix is then treated with an LU factorization.  Once the matrix has\n\
-been factorized, @code{matrix_type} will return the correct classification of\n\
-the matrix.\n\
+matrix with a real positive diagonal.  This does not guarantee that the\n\
+matrix is positive definite, but only that it is a probable candidate.  When\n\
+such a matrix is factorized, a Cholesky factorization is first attempted,\n\
+and if that fails the matrix is then treated with an LU factorization.  Once\n\
+the matrix has been factorized, @code{matrix_type} will return the correct\n\
+classification of the matrix.\n\
 @end deftypefn")
 {
   int nargin = args.length ();
--- a/src/DLD-FUNCTIONS/onCleanup.cc
+++ b/src/DLD-FUNCTIONS/onCleanup.cc
@@ -253,10 +253,10 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{c} =} onCleanup (@var{action})\n\
 Creates a special object that executes a given function upon destruction.\n\
-If the object is copied to multiple variables (or cell or struct array elements)\n\
-or returned from a function, @var{action} will be executed after clearing the\n\
-last copy of the object.  Note that if multiple local onCleanup variables are\n\
-created, the order in which they are called is unspecified.\n\
+If the object is copied to multiple variables (or cell or struct array\n\
+elements) or returned from a function, @var{action} will be executed after\n\
+clearing the last copy of the object.  Note that if multiple local onCleanup\n\
+variables are created, the order in which they are called is unspecified.\n\
 @seealso{unwind_protect}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/qr.cc
+++ b/src/DLD-FUNCTIONS/qr.cc
@@ -773,8 +773,8 @@
 of @w{@var{A} + @var{u}*@var{v}'}, where @var{u} and @var{v} are\n\
 column vectors (rank-1 update) or matrices with equal number of columns\n\
 (rank-k update).  Notice that the latter case is done as a sequence of rank-1\n\
-updates; thus, for k large enough, it will be both faster and more accurate to\n\
-recompute the factorization from scratch.\n\
+updates; thus, for k large enough, it will be both faster and more accurate\n\
+to recompute the factorization from scratch.\n\
 \n\
 The QR factorization supplied may be either full\n\
 (Q is square) or economized (R is square).\n\
@@ -961,8 +961,8 @@
 resulting in the QR@tie{}factorization of a matrix @var{B} such that\n\
 @w{B(:,@var{j})} gives @var{u} and @w{B(:,@var{j}) = []} gives @var{A}.\n\
 Notice that the latter case is done as a sequence of k insertions;\n\
-thus, for k large enough, it will be both faster and more accurate to recompute\n\
-the factorization from scratch.\n\
+thus, for k large enough, it will be both faster and more accurate to\n\
+recompute the factorization from scratch.\n\
 \n\
 If @var{orient} is @code{\"col\"},\n\
 the QR factorization supplied may be either full\n\
@@ -1180,8 +1180,8 @@
 resulting in the QR@tie{}factorization of a matrix @var{B} such that\n\
 @w{A(:,@var{j}) = []} gives @var{B}.\n\
 Notice that the latter case is done as a sequence of k deletions;\n\
-thus, for k large enough, it will be both faster and more accurate to recompute\n\
-the factorization from scratch.\n\
+thus, for k large enough, it will be both faster and more accurate to\n\
+recompute the factorization from scratch.\n\
 \n\
 If @var{orient} is @code{\"col\"},\n\
 the QR factorization supplied may be either full\n\
--- a/src/DLD-FUNCTIONS/rand.cc
+++ b/src/DLD-FUNCTIONS/rand.cc
@@ -362,7 +362,8 @@
 fraction of a second.\n\
 \n\
 To compute the pseudo-random sequence, @code{rand} uses the Mersenne\n\
-Twister with a period of @math{2^{19937}-1} (See M. Matsumoto and T. Nishimura,\n\
+Twister with a period of @math{2^{19937}-1} (See M. Matsumoto and\n\
+T. Nishimura,\n\
 @cite{Mersenne Twister: A 623-dimensionally equidistributed uniform \n\
 pseudorandom number generator}, ACM Trans. on\n\
 Modeling and Computer Simulation Vol. 8, No. 1, pp. 3-30, January 1998,\n\
@@ -384,6 +385,7 @@
 rand (\"seed\", val)\n\
 @end example\n\
 \n\
+@noindent\n\
 which sets the seed of the generator to @var{val}.  The seed of the\n\
 generator can be queried with\n\
 \n\
--- a/src/DLD-FUNCTIONS/regexp.cc
+++ b/src/DLD-FUNCTIONS/regexp.cc
@@ -907,14 +907,15 @@
 Match zero or one times\n\
 \n\
 @item @{@}\n\
-Match range operator, which is of the form @code{@{@var{n}@}} to match exactly\n\
-@var{n} times, @code{@{@var{m},@}} to match @var{m} or more times,\n\
+Match range operator, which is of the form @code{@{@var{n}@}} to match\n\
+exactly @var{n} times, @code{@{@var{m},@}} to match @var{m} or more times,\n\
 @code{@{@var{m},@var{n}@}} to match between @var{m} and @var{n} times.\n\
 @end table\n\
 \n\
 @item [@dots{}] [^@dots{}]\n\
 \n\
-List operators, where for example @code{[ab]c} matches @code{ac} and @code{bc}\n\
+List operators, where for example @code{[ab]c} matches @code{ac} and\n\
+@code{bc}\n\
 \n\
 @item ()\n\
 Grouping operator\n\
@@ -1589,6 +1590,7 @@
 @end group\n\
 @end example\n\
 \n\
+@noindent\n\
 returns \"Dunn, Bill\"\n\
 \n\
 @var{options} may be zero or more of\n\
--- a/src/DLD-FUNCTIONS/sparse.cc
+++ b/src/DLD-FUNCTIONS/sparse.cc
@@ -70,9 +70,10 @@
 Given the integer index vectors @var{i} and @var{j}, a 1-by-@code{nnz} vector\n\
 of real of complex values @var{sv}, overall dimensions @var{m} and @var{n}\n\
 of the sparse matrix.  The argument @code{nzmax} is ignored but accepted for\n\
-compatibility with @sc{matlab}.  If @var{m} or @var{n} are not specified their\n\
-values are derived from the maximum index in the vectors @var{i} and @var{j} as\n\
-given by @code{@var{m} = max (@var{i})}, @code{@var{n} = max (@var{j})}.\n\
+compatibility with @sc{matlab}.  If @var{m} or @var{n} are not specified\n\
+their values are derived from the maximum index in the vectors @var{i} and\n\
+@var{j} as given by @code{@var{m} = max (@var{i})},\n\
+@code{@var{n} = max (@var{j})}.\n\
 \n\
 @strong{Note}: if multiple values are specified with the same\n\
 @var{i}, @var{j} indices, the corresponding values in @var{s} will\n\
@@ -207,10 +208,11 @@
 DEFUN_DLD (spalloc, args, ,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{s} =} spalloc (@var{m}, @var{n}, @var{nz})\n\
-Creates a @var{m}-by-@var{n} sparse matrix with pre-allocated space for at most\n\
-@var{nz} nonzero elements.  This is useful for building the matrix incrementally\n\
-by a sequence of indexed assignments.  Subsequent indexed assignments will reuse\n\
-the pre-allocated memory, provided they are of one of the simple forms\n\
+Creates a @var{m}-by-@var{n} sparse matrix with pre-allocated space for at\n\
+most @var{nz} nonzero elements.  This is useful for building the matrix\n\
+incrementally by a sequence of indexed assignments.  Subsequent indexed\n\
+assignments will reuse the pre-allocated memory, provided they are of one of\n\
+the simple forms\n\
 \n\
 @itemize\n\
 @item @code{@var{s}(I:J) = @var{x}}\n\
@@ -230,14 +232,13 @@
 @item no index is out of bounds.\n\
 @end itemize\n\
 \n\
-Partial movement of data may still occur, but in general the assignment will be\n\
-more memory and time-efficient under these circumstances.  In particular, it is\n\
-possible to efficiently build a pre-allocated sparse matrix from contiguous\n\
-block of columns.\n\
+Partial movement of data may still occur, but in general the assignment will\n\
+be more memory and time-efficient under these circumstances.  In particular,\n\
+it is possible to efficiently build a pre-allocated sparse matrix from\n\
+contiguous block of columns.\n\
 \n\
-The amount of pre-allocated memory for a given matrix may be queried using the\n\
-function\n\
-@code{nzmax}.\n\
+The amount of pre-allocated memory for a given matrix may be queried using\n\
+the function @code{nzmax}.\n\
 @seealso{nzmax, sparse}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/str2double.cc
+++ b/src/DLD-FUNCTIONS/str2double.cc
@@ -219,9 +219,9 @@
 @code{i} instead of @code{1*i}.\n\
 @code{a} and @code{b} should be real numbers\n\
 in a standard format.\n\
-@var{s} can also be a character matrix, in which case the conversion is repeated\n\
-for each row, or a cell array of strings, in which case each element is\n\
-converted and an array of the same dimensions is returned.\n\
+@var{s} can also be a character matrix, in which case the conversion is\n\
+repeated for each row, or a cell array of strings, in which case each element\n\
+is converted and an array of the same dimensions is returned.\n\
 @end deftypefn")
 {
   octave_value retval;
--- a/src/DLD-FUNCTIONS/tril.cc
+++ b/src/DLD-FUNCTIONS/tril.cc
@@ -386,7 +386,8 @@
 @end example\n\
 \n\
 If the option \"pack\" is given as third argument, the extracted elements\n\
-are not inserted into a matrix, but rather stacked column-wise one above other.\n\
+are not inserted into a matrix, but rather stacked column-wise one above\n\
+other.\n\
 @seealso{triu, diag}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/typecast.cc
+++ b/src/DLD-FUNCTIONS/typecast.cc
@@ -112,16 +112,17 @@
 @end group\n\
 @end example\n\
 \n\
-the last two are reserved for @var{class}; they indicate that a complex-valued\n\
-result is requested.  Complex arrays are stored in memory as consecutive pairs\n\
-of real numbers.  The sizes of integer types are given by their bit counts.  \n\
-Both logical and char are typically one byte wide; however, this is not\n\
-guaranteed by C++.  If your system is IEEE conformant, single and double should\n\
-be 4 bytes and 8 bytes wide, respectively.  \"logical\" is not allowed for\n\
-@var{class}.  If the input is a row vector, the return value is a row vector,\n\
-otherwise it is a column vector.  If the bit length of @var{x} is not divisible\n\
-by that of\n\
-@var{class}, an error occurs.\n\
+@noindent\n\
+the last two are reserved for @var{class}; they indicate that a\n\
+complex-valued result is requested.  Complex arrays are stored in memory as\n\
+consecutive pairs of real numbers.  The sizes of integer types are given by\n\
+their bit counts.  Both logical and char are typically one byte wide;\n\
+however, this is not guaranteed by C++.  If your system is IEEE conformant,\n\
+single and double should be 4 bytes and 8 bytes wide, respectively.  \n\
+\"logical\" is not allowed for @var{class}.  If the input is a row vector,\n\
+the return value is a row vector, otherwise it is a column vector.  If the\n\
+bit length of @var{x} is not divisible by that of @var{class}, an error\n\
+occurs.\n\
 \n\
 An example of the use of typecast on a little-endian machine is\n\
 \n\
@@ -273,9 +274,9 @@
 DEFUN_DLD (bitpack, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{y} =} bitpack (@var{x}, @var{class})\n\
-Returns a new array @var{y} resulting from interpreting a logical array @var{x}\n\
-as raw bit pattern for data of the numeric class @var{class}.  @var{class} must\n\
-be one of the built-in numeric classes:\n\
+Returns a new array @var{y} resulting from interpreting a logical array\n\
+@var{x} as raw bit pattern for data of the numeric class @var{class}.  \n\
+@var{class} must be one of the built-in numeric classes:\n\
 \n\
 @example\n\
 @group\n\
@@ -294,11 +295,10 @@
 @end example\n\
 \n\
 The number of elements of @var{x} should be divisible by the bit length of\n\
-@var{class}.  If it is not, excess bits are discarded.  Bits come in increasing\n\
-order of significance, i.e.\n\
-@code{x(1)} is bit 0, @code{x(2)} is bit 1, etc.\n\
-The result is a row vector if @var{x} is a row vector, otherwise it is a column\n\
-vector.\n\
+@var{class}.  If it is not, excess bits are discarded.  Bits come in\n\
+increasing order of significance, i.e. @code{x(1)} is bit 0, @code{x(2)} is\n\
+bit 1, etc.  The result is a row vector if @var{x} is a row vector, otherwise\n\
+it is a column vector.\n\
 @seealso{bitunpack,typecast,bitget,bitset}\n\
 @end deftypefn")
 {
@@ -383,8 +383,8 @@
 DEFUN_DLD (bitunpack, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{y} =} bitpack (@var{x})\n\
-Returns a logical array @var{y} corresponding to the raw bit pattern of @var{x}.\n\
-@var{x} must belong to one of the built-in numeric classes:\n\
+Returns a logical array @var{y} corresponding to the raw bit pattern of\n\
+@var{x}.  @var{x} must belong to one of the built-in numeric classes:\n\
 \n\
 @example\n\
 @group\n\
@@ -402,8 +402,8 @@
 @end group\n\
 @end example\n\
 \n\
-The result is a row vector if @var{x} is a row vector, otherwise it is a column\n\
-vector.\n\
+The result is a row vector if @var{x} is a row vector, otherwise it is a\n\
+column vector.\n\
 @seealso{bitpack,typecast,bitget,bitset}\n\
 @end deftypefn")
 {
--- a/src/data.cc
+++ b/src/data.cc
@@ -636,6 +636,7 @@
 x - y .* floor (x ./ y)\n\
 @end example\n\
 \n\
+@noindent\n\
 and is written such that the correct modulus is returned for\n\
 integer types.  This function handles negative values correctly.  That\n\
 is, @code{mod (-1, 3)} is 2, not -1, as @code{rem (-1, 3)} returns.\n\
@@ -1940,6 +1941,7 @@
 ipermute (permute (a, perm), perm)\n\
 @end example\n\
 \n\
+@noindent\n\
 returns the original array @var{a}.\n\
 @seealso{permute}\n\
 @end deftypefn")
@@ -2245,8 +2247,8 @@
 @end example\n\
 \n\
   \n\
-On the contrary, if 'double' is given, the sum is performed in double precision\n\
-even for single precision inputs.\n\
+On the contrary, if 'double' is given, the sum is performed in double\n\
+precision even for single precision inputs.\n\
 \n\
 For double precision inputs, 'extra' indicates that a more accurate algorithm\n\
 than straightforward summation is to be used.  For single precision inputs,\n\
@@ -2452,6 +2454,7 @@
 sum (x .* conj (x), dim)\n\
 @end example\n\
 \n\
+@noindent\n\
 but it uses less memory and avoids calling @code{conj} if @var{x} is real.\n\
 @seealso{sum}\n\
 @end deftypefn")
@@ -2893,8 +2896,9 @@
 DEFUN (isnumeric, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} isnumeric (@var{x})\n\
-Return nonzero if @var{x} is a numeric object, i.e., an integer, real or complex\n\
-array.  Logical and character arrays are not considered to be numeric.\n\
+Return nonzero if @var{x} is a numeric object, i.e., an integer, real or\n\
+complex array.  Logical and character arrays are not considered to be\n\
+numeric.\n\
 @seealso{ischar, islogical, isinteger}\n\
 @end deftypefn")
 {
@@ -4572,8 +4576,8 @@
 DEFUN (full, args, ,
     "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{FM} =} full (@var{SM})\n\
- returns a full storage matrix from a sparse, diagonal, permutation matrix or a\n\
-range.\n\
+ returns a full storage matrix from a sparse, diagonal, permutation matrix\n\
+or a range.\n\
 @seealso{sparse}\n\
 @end deftypefn")
 {
@@ -5805,12 +5809,13 @@
 @code{sort(@var{x})(@var{n})}.\n\
 @var{n} can also be a contiguous range, either ascending @code{l:u}\n\
 or descending @code{u:-1:l}, in which case a range of elements is returned.\n\
-If @var{x} is an array, @code{nth_element} operates along the dimension defined\n\
-by @var{dim}, or the first non-singleton dimension if @var{dim} is not given.\n\
+If @var{x} is an array, @code{nth_element} operates along the dimension\n\
+defined by @var{dim}, or the first non-singleton dimension if @var{dim} is\n\
+not given.\n\
 \n\
 nth_element encapsulates the C++ standard library algorithms nth_element and\n\
-partial_sort.  On average, the complexity of the operation is O(M*log(K)), where\n\
-@code{M = size(@var{x}, @var{dim})} and @code{K = length (@var{n})}.\n\
+partial_sort.  On average, the complexity of the operation is O(M*log(K)),\n\
+where @code{M = size(@var{x}, @var{dim})} and @code{K = length (@var{n})}.\n\
 This function is intended for cases where the ratio K/M is small; otherwise,\n\
 it may be better to use @code{sort}.\n\
 @seealso{sort, min, max}\n\
@@ -6203,17 +6208,16 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Built-in Function} {} merge (@var{mask}, @var{tval}, @var{fval})\n\
 @deftypefnx {Built-in Function} {} ifelse (@var{mask}, @var{tval}, @var{fval})\n\
-Merges elements of @var{true_val} and @var{false_val}, depending on the value of\n\
-@var{mask}.  If @var{mask} is a logical scalar, the other two arguments can be\n\
-arbitrary values.  Otherwise, @var{mask} must be a logical array, and\n\
-@var{tval},\n\
-@var{fval} should be arrays of matching class, or cell arrays.\n\
-In the scalar mask case, @var{tval} is returned if @var{mask} is true, otherwise\n\
-@var{fval} is returned.\n\
+Merges elements of @var{true_val} and @var{false_val}, depending on the\n\
+value of @var{mask}.  If @var{mask} is a logical scalar, the other two\n\
+arguments can be arbitrary values.  Otherwise, @var{mask} must be a logical\n\
+array, and @var{tval}, @var{fval} should be arrays of matching class, or\n\
+cell arrays.  In the scalar mask case, @var{tval} is returned if @var{mask}\n\
+is true, otherwise @var{fval} is returned.\n\
 \n\
-In the array mask case, both @var{tval} and @var{fval} must be either scalars or\n\
-arrays with dimensions equal to @var{mask}.  The result is constructed as\n\
-follows: \n\
+In the array mask case, both @var{tval} and @var{fval} must be either\n\
+scalars or arrays with dimensions equal to @var{mask}.  The result is\n\
+constructed as follows: \n\
 \n\
 @example\n\
 @group\n\
--- a/src/graphics.cc
+++ b/src/graphics.cc
@@ -5123,13 +5123,12 @@
 and a cell array @var{values} containing property values.\n\
 \n\
 In this case, the number of columns of @var{values} must match the number of\n\
-elements in @var{properties}.  The first column of @var{values} contains values\n\
-for the first entry in @var{properties}, etc.  The number of rows of\n\
-@var{values} must be 1 or match the number of elements of @var{h}.  In the first\n\
-case, each handle in @var{h} will be assigned the same values.  In the latter\n\
-case, the first handle in @var{h} will be assigned the values from the first row\n\
-of\n\
-@var{values} and so on.\n\
+elements in @var{properties}.  The first column of @var{values} contains\n\
+values for the first entry in @var{properties}, etc.  The number of rows of\n\
+@var{values} must be 1 or match the number of elements of @var{h}.  In the\n\
+first case, each handle in @var{h} will be assigned the same values.  In the\n\
+latter case, the first handle in @var{h} will be assigned the values from\n\
+the first row of @var{values} and so on.\n\
 \n\
 @item as a structure array @var{pv}\n\
 \n\
--- a/src/load-save.cc
+++ b/src/load-save.cc
@@ -1529,9 +1529,9 @@
 \n\
 @item -zip\n\
 @itemx -z\n\
-Use the gzip algorithm to compress the file.  This works equally on files that\n\
-are compressed with gzip outside of octave, and gzip can equally be used to\n\
-convert the files for backward compatibility.\n"
+Use the gzip algorithm to compress the file.  This works equally on files\n\
+that are compressed with gzip outside of octave, and gzip can equally be\n\
+used to convert the files for backward compatibility.\n"
 
 HAVE_ZLIB_HELP_STRING
 
@@ -1836,8 +1836,8 @@
 @code{save_header_format_string} is the empty string,\n\
 the header comment is omitted from text-format data files.  The\n\
 default value is\n\
+@c Set example in small font to prevent overfull line\n\
 \n\
-@c Set example in small font to prevent overfull line\n\
 @smallexample\n\
 \"# Created by Octave VERSION, %a %b %d %H:%M:%S %Y %Z <USER@@HOST>\"\n\
 @end smallexample\n\
--- a/src/ov-null-mat.cc
+++ b/src/ov-null-mat.cc
@@ -93,8 +93,9 @@
 @deftypefn {Built-in Function} {} isnull (@var{x})\n\
 Return 1 if @var{x} is a special null matrix, string or single quoted string.\n\
 Indexed assignment with such a value as right-hand side should delete array\n\
-elements.  This function should be used when overloading indexed assignment for\n\
-user-defined classes instead of @code{isempty}, to distinguish the cases:\n\
+elements.  This function should be used when overloading indexed assignment\n\
+for user-defined classes instead of @code{isempty}, to distinguish the\n\
+cases:\n\
 @table @asis\n\
 @item @code{A(I) = []}\n\
 This should delete elements if @code{I} is nonempty.\n\
--- a/src/ov-struct.cc
+++ b/src/ov-struct.cc
@@ -2140,9 +2140,9 @@
 DEFUN (rmfield, args, ,
        "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} rmfield (@var{s}, @var{f})\n\
-Return a copy of the structure (array) @var{s} with the field @var{f} removed.\n\
-If @var{f} is a cell array of strings or a character array, remove the named\n\
-fields.\n\
+Return a copy of the structure (array) @var{s} with the field @var{f}\n\
+removed.  If @var{f} is a cell array of strings or a character array, remove\n\
+the named fields.\n\
 @seealso{cellstr, iscellstr, setfield}\n\
 @end deftypefn")
 {
--- a/src/ov-usr-fcn.cc
+++ b/src/ov-usr-fcn.cc
@@ -741,10 +741,10 @@
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} is_ignored_output (@var{k})\n\
 Within a function, given an index @var{k} within the range @code{1:nargout},\n\
-return a logical value indicating whether the argument will be ignored on output\n\
-using the tilde (~) special output argument.  If @var{k} is outside the range,\n\
-the function yields false.  @var{k} can also be an array, in which case the\n\
-function works element-wise and a logical array is returned.\n\
+return a logical value indicating whether the argument will be ignored on\n\
+output using the tilde (~) special output argument.  If @var{k} is outside\n\
+the range, the function yields false.  @var{k} can also be an array, in\n\
+which case the function works element-wise and a logical array is returned.\n\
 \n\
 At the top level, @code{is_ignored_output} returns an error.\n\
 @seealso{nargout, nargin, varargin, varargout}\n\
--- a/src/pr-output.cc
+++ b/src/pr-output.cc
@@ -3856,7 +3856,8 @@
 Print the hexadecimal representation of numbers as they are stored in\n\
 memory.  For example, on a workstation which stores 8 byte real values\n\
 in IEEE format with the least significant byte first, the value of\n\
-@code{pi} when printed in @code{native-hex} format is @code{400921fb54442d18}.\n\
+@code{pi} when printed in @code{native-hex} format is\n\
+@code{400921fb54442d18}.\n\
 \n\
 @item hex\n\
 The same as @code{native-hex}, but always print the most significant\n\
--- a/src/strfns.cc
+++ b/src/strfns.cc
@@ -57,10 +57,10 @@
 to the corresponding ASCII character.  A range error results if an input\n\
 is outside the ASCII range (0-255).\n\
 \n\
-For cell arrays, each element is concatenated separately.  Cell arrays converted\n\
-through\n\
+For cell arrays, each element is concatenated separately.  Cell arrays\n\
+converted through\n\
 @code{char} can mostly be converted back with @code{cellstr}.\n\
-For example,\n\
+For example:\n\
 \n\
 @example\n\
 @group\n\
@@ -181,10 +181,10 @@
 to the corresponding ASCII character.  A range error results if an input\n\
 is outside the ASCII range (0-255).\n\
 \n\
-For cell arrays, each element is concatenated separately.  Cell arrays converted\n\
-through\n\
+For cell arrays, each element is concatenated separately.  Cell arrays\n\
+converted through\n\
 @code{strvcat} can mostly be converted back with @code{cellstr}.\n\
-For example,\n\
+For example:\n\
 \n\
 @example\n\
 @group\n\
@@ -791,8 +791,8 @@
 DEFUNX ("strncmpi", Fstrncmpi, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} strncmpi (@var{s1}, @var{s2}, @var{n})\n\
-Returns 1 if the first @var{n} character of @var{s1} and @var{s2} are the same,\n\
-disregarding case of alphabetic characters, and 0 otherwise.\n\
+Returns 1 if the first @var{n} character of @var{s1} and @var{s2} are the\n\
+same, disregarding case of alphabetic characters, and 0 otherwise.\n\
 \n\
 If either @var{s1} or @var{s2} is a cell array of strings, then an array\n\
 of the same size is returned, containing the values described above for\n\
--- a/src/variables.cc
+++ b/src/variables.cc
@@ -2451,8 +2451,8 @@
 Query or set the format string used by the command @code{whos}.\n\
 \n\
 A full format string is:\n\
+@c Set example in small font to prevent overfull line\n\
 \n\
-@c Set example in small font to prevent overfull line\n\
 @smallexample\n\
 %[modifier]<command>[:width[:left-min[:balance]]];\n\
 @end smallexample\n\