changeset 9044:656ad518f385

Documentation merge to main branch
author Rik <rdrider0-list@yahoo.com>
date Thu, 26 Mar 2009 11:47:34 -0700
parents d213f69a8343 (current diff) cfad8f9a77fa (diff)
children ac0a23e9f5c5 1bf0ce0930be
files
diffstat 173 files changed, 1156 insertions(+), 873 deletions(-) [+]
line wrap: on
line diff
--- a/CHECKLIST
+++ b/CHECKLIST
@@ -4,7 +4,7 @@
 
   * Update the version number in src/version.h.
 
-  * Update the version number in doc/refcard.tex.
+  * Update the version number in doc/refcard/refcard.tex.
 
   * Add a `Version M.N.P released.' line to the ChangeLog.
 
@@ -12,8 +12,6 @@
 
   * Check the README file.
 
-  * Create a new Announce.M.N.P file for the current release.
-
   * Run autoconf, autoheader, and configure before making tar files.
 
   * Update the NEWS and README.octave files in the anonymous ftp
--- a/NEWS
+++ b/NEWS
@@ -17,7 +17,7 @@
            endfor
 
     works as expected.  This capability has be used to introduce
-    stem-series, bar-series, etc.  objects for better Matlab
+    stem-series, bar-series, etc., objects for better Matlab
     compatibility.
 
  ** New graphics functions:
@@ -166,7 +166,7 @@
 
     Octave now includes a single precision data type.  Single
     precision variables can be created with the "single" command, or
-    from function like ones, etc.  For example
+    from functions like ones, eye, etc.  For example,
 
       single (1)
       ones (2, 2, "single")
@@ -188,14 +188,13 @@
  ** Improved array indexing.
 
     The underlying code used for indexing of arrays has been
-    completely rewritten and so the indexing of arrays is now
-    significantly faster.
+    completely rewritten and indexing is now significantly faster.
 
  ** Improved memory management.
 
     Octave will now attempt to share data in some cases where previously
     a copy would be made, such as certain array slicing operations or
-    conversions between cells, structs and cs-lists. This usually reduces
+    conversions between cells, structs and cs-lists.  This usually reduces
     both time and memory consumption.
 
  ** Improved performance for reduction operations.
@@ -263,7 +262,7 @@
     Additionally, fsolve is now able to solve overdetermined systems,
     complex-differentiable complex systems, systems with a sparse
     jacobian and can work in single precision if given single precision
-    inputs. It can also be called recursively.
+    inputs.  It can also be called recursively.
 
  ** Improvements to the norm function.
 
@@ -327,7 +326,7 @@
 
  ** Improvements to the help functions.
 
-    The help system has been reimplemented mostly in .m files to make
+    The help system has been mostly re-implemented in .m files to make
     it easier to modify.  Performance of the lookfor function has been
     greatly improved by caching the help text from all functions that
     are distributed with Octave.  The pkg function has been modified
--- a/PROJECTS
+++ b/PROJECTS
@@ -80,12 +80,12 @@
       endfor
     endfor
 
-    actually make sense. Otherwise the above will cause massive amounts
+    actually make sense.  Otherwise the above will cause massive amounts
     of memory reallocation.
 
     The fact is that this doesn't make sense in any case as the assign
-    function makes another copy of the sparse matrix. So although spalloc
-    might easily be made to have the correct behaviour, the first assign
+    function makes another copy of the sparse matrix.  So although spalloc
+    might easily be made to have the correct behavior, the first assign
     will cause the matrix to be resized!  There seems to be no simple
     way to treat this but a complete rewrite of the sparse assignment
     functions...
@@ -409,7 +409,7 @@
       programs will become hard to program.
 
       If possible, I would like to have the virtual memory system in
-      Octave i.e. the all big files, the user see as one big array or
+      Octave i.e., the all big files, the user see as one big array or
       such.  There could be several user selectable models to do the
       virtual memory depending on what kind of data the user have (1d,
       2d) and in what order they are processed (stream or random
@@ -422,16 +422,16 @@
     Michael Smolsky <fnsiguc@weizmann.weizmann.ac.il> wrote:
 
       I was thinking about a tool, which could be very useful for me
-      in my numerical simulation work. It is an interconnection
-      between gdb and octave. We are often managing very large arrays
+      in my numerical simulation work.  It is an interconnection
+      between gdb and octave.  We are often managing very large arrays
       of data in our fortran or c codes, which might be studied with
-      the help of octave at the algorithm development stages. Assume
+      the help of octave at the algorithm development stages.  Assume
       you're coding, say, wave equation.  And want to debug the
-      code. It would be great to pick some array from the memory of
-      the code you're develloping, fft it and see the image as a
-      log-log plot of the spectral density. I'm facing similar
+      code.  It would be great to pick some array from the memory of
+      the code you're developing, fft it and see the image as a
+      log-log plot of the spectral density.  I'm facing similar
       problems now.  To avoid high c-development cost, I develop in
-      matlab/octave, and then rewrite into c. It might be so much
+      matlab/octave, and then rewrite into c.  It might be so much
       easier, if I could off-load a c array right from the debugger
       into octave, study it, and, perhaps, change some [many] values
       with a convenient matlab/octave syntax, similar to
--- a/README
+++ b/README
@@ -34,12 +34,12 @@
 Octave requires approximately 1.5GB of disk storage to unpack and
 compile from source (significantly less if you don't compile with
 debugging symbols).  Once installed, Octave requires approximately
-450GB of disk space (again, considerably less if you don't build
+450MB of disk space (again, considerably less if you don't build
 shared libraries or the binaries and libraries do not include
 debugging symbols).
 
 To compile Octave, you will need a recent version of GNU Make.  You
-will also need a recent version of g++ or other ANSI C++ compiler.
+will also need a recent version of g++ or another ANSI C++ compiler.
 You will also need a Fortran 77 compiler or f2c.  If you use f2c, you
 will need a script like fort77 that works like a normal Fortran
 compiler by combining f2c with your C compiler in a single script.
@@ -60,7 +60,7 @@
 Octave's manual has been revised for version 3.0, but it is lagging a
 bit behind the development of the software.  In particular, there is
 currently no complete documentation of the C++ class libraries.  If
-you notice ommissions or inconsistencies, please report them as bugs
+you notice omissions or inconsistencies, please report them as bugs
 to bug@octave.org.  Specific suggestions for ways to improve Octave
 and its documentation are always welcome.  Reports with patches are
 even more welcome.
--- a/README.Cray
+++ b/README.Cray
@@ -12,13 +12,13 @@
 	--without-blas --without-lapack --disable-readline
 
     The last to arguments tell Octave to use the reference blas and
-    lapack implmentation in Fortran and to not require the readline
+    lapack implementation in Fortran and to not require the readline
     library.  If you have the readline library, you can omit the last
     option.  You can also try to use a vendor library for LAPACK and
     BLAS, but how are those compiled?  You will need a version of the
     library that is compiled for 64-bit double precision values, but
     that uses the D and Z names (I'm not sure that this is the case
-    with the Cray librararies).
+    with the Cray libraries).
 
     I'm using -O0 in an effort to speed up compilation.  If you want
     an optimized version and have time to wait for the build to
--- a/README.Cygwin
+++ b/README.Cygwin
@@ -10,7 +10,7 @@
 
 Binary version 3.0.2-2 is built with gcc-4.3.2-1
  
-Current cygwin octvave mantainer : 
+Current cygwin octvave maintainer : 
 	Marco Atzeri
 	http://matzeri.altervista.org
 
--- a/README.MSVC
+++ b/README.MSVC
@@ -266,9 +266,9 @@
 3. Installation
 ===============
 
-The compiled Octave is relocatable.   This means that whetever
+The compiled Octave is relocatable.  This means that whatever
 installation dir you chose at configure time, you can move the whole
-installation directory to another location without any problem.   Octave
+installation directory to another location without any problem.  Octave
 should still run OK.
 
 
--- a/README.kpathsea
+++ b/README.kpathsea
@@ -60,10 +60,10 @@
 the corresponding numbers.
 
 `KPSE_DEBUG_STAT (1)'
-     Report `stat'(2) calls. This is useful for verifying that your
+     Report `stat'(2) calls.  This is useful for verifying that your
      directory structure is not forcing Kpathsea to do many additional
      file tests (*note Slow path searching::., and *note Subdirectory
-     expansion::.). If you are using an up-to-date `ls-R' database
+     expansion::.).  If you are using an up-to-date `ls-R' database
      (*note Filename database::.), this should produce no output unless
      a nonexistent file that must exist is searched for.
 
@@ -75,15 +75,15 @@
      instead of using `ls-R'.
 
 `KPSE_DEBUG_FOPEN (4)'
-     Report file openings and closings. Especially useful when your
+     Report file openings and closings.  Especially useful when your
      system's file table is full, for seeing which files have been
-     opened but never closed. In case you want to set breakpoints in a
+     opened but never closed.  In case you want to set breakpoints in a
      debugger: this works by redefining `fopen' (`fclose') to be
      `kpse_fopen_trace' (`kpse_fclose_trace').
 
 `KPSE_DEBUG_PATHS (8)'
      Report general path information for each file type Kpathsea is
-     asked to search. This is useful when you are trying to track down
+     asked to search.  This is useful when you are trying to track down
      how a particular path got defined--from `texmf.cnf', `config.ps',
      an environment variable, the compile-time default, etc.  This is
      the contents of the `kpse_format_info_type' structure defined in
@@ -91,7 +91,7 @@
 
 `KPSE_DEBUG_EXPAND (16)'
      Report the directory list corresponding to each path element
-     Kpathsea searches. This is only relevant when Kpathsea searches
+     Kpathsea searches.  This is only relevant when Kpathsea searches
      the disk, since `ls-R' searches don't look through directory lists
      in this way.
 
@@ -127,9 +127,9 @@
      programs.
 
   Debugging output from Kpathsea is always written to standard error,
-and begins with the string `kdebug:'. (Except for hash table buckets,
+and begins with the string `kdebug:'.  (Except for hash table buckets,
 which just start with the number, but you can only get that output
-running under a debugger. See comments at the `hash_summary_only'
+running under a debugger.  See comments at the `hash_summary_only'
 variable in `kpathsea/db.c'.)
 
 Logging
@@ -145,7 +145,7 @@
 to if it does.
 
   Each successful search turns into one line in the log file: two words
-separated by a space. The first word is the time of the search, as the
+separated by a space.  The first word is the time of the search, as the
 integer number of seconds since "the epoch", i.e., UTC midnight 1
 January 1970 (more precisely, the result of the `time' system call).
 The second word is the filename.
--- a/README.snapshots
+++ b/README.snapshots
@@ -74,7 +74,7 @@
 /pub/gnu.
 
 Even though the snapshots are available in a public place, we ask that
-recipients not widely publicise the availability of the snapshots.
+recipients not widely publicize the availability of the snapshots.
 The motivation for this request is not to hoard them, but to avoid the
 situation where the general Octave user base naively attempts to use
 the snapshots, has trouble with them, complains publicly, and the
--- a/ROADMAP
+++ b/ROADMAP
@@ -64,7 +64,7 @@
 
   test          -- tests for the interpreter
     config         * configuration files for DejaGnu
-    octave.test    * subdirectories contianing actual tests are here
+    octave.test    * subdirectories containing actual tests are here
 
 
 John W. Eaton
--- a/doc/interpreter/basics.txi
+++ b/doc/interpreter/basics.txi
@@ -138,7 +138,7 @@
 @cindex @code{-i}
 Force interactive behavior.  This can be useful for running Octave via a
 remote shell command or inside an Emacs shell buffer.  For another way
-to run Octave within Emacs, see @ref{Emacs}.
+to run Octave within Emacs, see @ref{Emacs Octave Support}.
 
 @item --no-history
 @itemx -H
@@ -191,7 +191,7 @@
 @cindex @code{--traditional}
 @cindex @code{--braindead}
 For compatibility with @sc{Matlab}, set initial values for
-user-preferences to the following values
+user preferences to the following values
 
 @example
 @group
@@ -268,7 +268,7 @@
 @cindex startup
 
 When Octave starts, it looks for commands to execute from the files in
-the following list. These files may contain any valid Octave commands,
+the following list.  These files may contain any valid Octave commands,
 including function definitions.
 
 @cindex startup files
@@ -293,7 +293,7 @@
 
 @item ~/.octaverc
 @cindex @code{~/.octaverc}
-This file is normally used to make personal changes to the default
+This file is used to make personal changes to the default 
 Octave environment.
 
 @item .octaverc
@@ -301,8 +301,8 @@
 This file can be used to make changes to the default Octave environment
 for a particular project.  Octave searches for this file in the current
 directory after it reads @file{~/.octaverc}.  Any use of the @code{cd}
-command in the @file{~/.octaverc} file will affect the directory that
-Octave searches for the file @file{.octaverc}.
+command in the @file{~/.octaverc} file will affect the directory where
+Octave searches for @file{.octaverc}.
 
 If you start Octave in your home directory, commands from the file
 @file{~/.octaverc} will only be executed once.
@@ -386,7 +386,7 @@
 pressing @key{u}.  If your terminal does not have a @key{META} key, you
 can still type Meta characters using two-character sequences starting
 with @kbd{ESC}.  Thus, to enter @kbd{M-u}, you could type
-@key{ESC}@key{u}.  The @kbd{ESC} character sequences are also allowed on
+@key{ESC} @key{u}.  The @kbd{ESC} character sequences are also allowed on
 terminals with real Meta keys.  In the following sections, Meta
 characters such as @kbd{Meta-u} are written as @kbd{M-u}.
 
@@ -514,7 +514,7 @@
 @subsection Commands For Changing Text
 
 The following commands can be used for entering characters that would
-otherwise have a special meaning (e.g., @kbd{TAB}, @kbd{C-q}, etc.), or
+otherwise have a special meaning (e.g., @key{TAB}, @kbd{C-q}, etc.), or
 for quickly correcting typing mistakes.
 
 @table @kbd
@@ -588,8 +588,8 @@
 @table @kbd
 @item @key{LFD}
 @itemx @key{RET}
-Accept the line regardless of where the cursor is.  If this line is
-non-empty, add it to the history list.  If this line was a history
+Accept the current line regardless of where the cursor is.  If the line is
+non-empty, add it to the history list.  If the line was a history
 line, then restore the history line to its original state.
 
 @item C-p
@@ -643,7 +643,7 @@
 @subsection Customizing @code{readline}
 
 As mentioned earlier Octave uses the GNU readline library for
-command-line editing and history features. It is possible to
+command-line editing and history features.  It is possible to
 customize how readline works through a configuration file.
 
 @c FIXME -- need a brief description of the ~/.inputrc file here.
@@ -773,7 +773,7 @@
 
 Another class of error message occurs at evaluation time.  These
 errors are called @dfn{run-time errors}, or sometimes
-@dfn{evaluation errors} because they occur when your program is being
+@dfn{evaluation errors}, because they occur when your program is being
 @dfn{run}, or @dfn{evaluated}.  For example, if after correcting the
 mistake in the previous function definition, you type
 
@@ -808,7 +808,7 @@
 prompt string.
 
 The second and third lines in the error message indicates that the error occurred
-within the function @code{f}. If the function @code{f} had been called from
+within the function @code{f}.  If the function @code{f} had been called from
 another function, for example, @code{g}, the list of errors would have ended with
 one more line:
 
@@ -816,7 +816,7 @@
 error:   g at line 1, column 17
 @end example
 
-These lists of function calls usually make it fairly easy to trace the
+These lists of function calls make it fairly easy to trace the
 path your program took before the error occurred, and to correct the
 error before trying again.
 
@@ -852,7 +852,7 @@
 @noindent
 (where @var{octave-interpreter-name} should be replaced with the full
 file name for your Octave binary).  Note that this will only work if
-@samp{#!} appears at the very beginning of the file. After making this
+@samp{#!} appears at the very beginning of the file.  After making this
 file executable
 (with the @code{chmod} command), you can simply type:
 
@@ -873,7 +873,7 @@
 pass to that interpreter.  The operating system then runs the
 interpreter with the given argument and the full argument list of the
 executed program.  The first argument in the list is the full file name
-of the Octave program. The rest of the argument list will either be
+of the Octave program.  The rest of the argument list will either be
 options to Octave, or data files, or both.  The @samp{-qf} option is
 usually specified in stand-alone Octave programs to prevent them from
 printing the normal startup message, and to keep them from behaving
@@ -929,32 +929,90 @@
 
 @node Comments
 @section Comments in Octave Programs
-@cindex @samp{#}
-@cindex @samp{%}
 @cindex comments
 @cindex use of comments
 @cindex documenting Octave programs
 @cindex programs
 
 A @dfn{comment} is some text that is included in a program for the sake
-of human readers, and that is not really part of the program.  Comments
-can explain what the program does, and how it works.  Nearly all
+of human readers, and that is not an executable part of the program.  
+Comments can explain what the program does, and how it works.  Nearly all
 programming languages have provisions for comments, because programs are
 typically hard to understand without them.
 
+@menu
+* Single Line Comments::
+* Block Comments::
+* Comments and the Help System::                    
+@end menu
+
+@node Single Line Comments
+@subsection Single Line Comments
+@cindex @samp{#}
+@cindex @samp{%}
+
 In the Octave language, a comment starts with either the sharp sign
 character, @samp{#}, or the percent symbol @samp{%} and continues to the
-end of the line.  The Octave interpreter ignores the rest of a
-line following a sharp sign or percent symbol.  For example, we could
-have put the following into the function @code{f}:
+end of the line.  Any text following the sharp sign or percent symbol is
+ignored by the Octave interpreter and not executed.  The following example
+shows whole line and partial line comments.
+@example
+@group
+function countdown
+  # Count down for main rocket engines 
+  disp(3);
+  disp(2);
+  disp(1);
+  disp("Blast Off!");  # Rocket leaves pad
+endfunction
+@end group
+@end example
+
+@node Block Comments
+@subsection Block Comments
+@cindex multi-line comments
+@cindex @samp{#@{}
+@cindex @samp{%@{}
 
+Entire blocks of code can be commented by enclosing the code between 
+matching @samp{#@{} and @samp{#@}} or @samp{%@{} and @samp{%@}} markers.  
+For example,
+@example
+@group
+function quick_countdown
+  # Count down for main rocket engines 
+  disp(3);
+ #@{
+  disp(2);
+  disp(1);
+ #@}
+  disp("Blast Off!");  # Rocket leaves pad
+endfunction
+@end group
+@end example
+
+@noindent
+will produce a very quick countdown from '3' to 'Blast Off' as the
+lines "@code{disp(2);}" and "@code{disp(3);}" won't be executed.
+
+@node Comments and the Help System
+@subsection Comments and the Help System
+@cindex documenting functions
+@cindex documenting user scripts
+@cindex help, user-defined functions
+
+The @code{help} command (@pxref{Getting Help}) is able to find the first
+block of comments in a function (even those that are composed directly
+on the command line).  This means that the same commands used to get help
+on built-in functions are available for user-defined functions.  For 
+example, after defining the function @code{f} below,
 @example
 @group
 function xdot = f (x, t)
 
 # usage: f (x, t)
 #
-# This function defines the right hand
+# This function defines the right-hand
 # side functions for a set of nonlinear
 # differential equations.
 
@@ -964,18 +1022,13 @@
 @end group
 @end example
 
-The @code{help} command (@pxref{Getting Help}) is able to find the first
-block of comments in a function (even those that are composed directly
-on the command line).  This means that users of Octave can use the same
-commands to get help for built-in functions, and for functions that you
-have defined.  For example, after defining the function @code{f} above,
 the command @kbd{help f} produces the output
 
 @example
 @group
  usage: f (x, t)
 
- This function defines the right hand
+ This function defines the right-hand
  side functions for a set of nonlinear
  differential equations.
 @end group
@@ -986,3 +1039,6 @@
 purpose of a comment is to help you or another person understand the
 program at a later time.
 
+The @code{help} parser currently only recognizes single line comments
+(@pxref{Single Line Comments}) and not block comments for the initial 
+help text. 
--- a/doc/interpreter/container.txi
+++ b/doc/interpreter/container.txi
@@ -21,7 +21,7 @@
 @cindex containers
 
 Octave includes support for two different mechanisms to contain
-arbitrary data types in the same variable. Structures, which are C-like,
+arbitrary data types in the same variable.  Structures, which are C-like,
 and are indexed with named fields, and cell arrays, where each element
 of the array can have a different data type and or shape.
 
@@ -221,8 +221,8 @@
 @subsection Structure Arrays
 
 A structure array is a particular instance of a structure, where each of
-the fields of the structure is represented by a cell array. Each of
-these cell arrays has the same dimensions. An example of the creation of
+the fields of the structure is represented by a cell array.  Each of
+these cell arrays has the same dimensions.  An example of the creation of
 a structure array is
 
 @example
@@ -235,7 +235,7 @@
 @end example
 
 @noindent
-which creates a 2-by-1 structure array with two fields. As previously,
+which creates a 2-by-1 structure array with two fields.  As previously,
 to print the value of the structure array, you can type its name:
 
 @example
@@ -268,7 +268,7 @@
 
 Furthermore, the structure array can return a comma separated list
 (@pxref{Comma Separated Lists}), if indexed by one of its own field
-names. For example
+names.  For example
 
 @example
 @group
@@ -305,7 +305,7 @@
 @end group
 @end example
 
-The function @code{size} will return the size of the structure. For
+The function @code{size} will return the size of the structure.  For
 the example above
 
 @example
@@ -318,7 +318,7 @@
 @end example
 
 Elements can be deleted from a structure array in a similar manner to a
-numerical array, by assigning the elements to an empty matrix. For
+numerical array, by assigning the elements to an empty matrix.  For
 example
 
 @example
@@ -350,10 +350,10 @@
 @subsection Creating Structures
 
 As well as indexing a structure with ".", Octave can create a structure
-with the @code{struct} command. @code{struct} takes pairs of arguments,
+with the @code{struct} command.  @code{struct} takes pairs of arguments,
 where the first argument in the pair is the fieldname to include in the
 structure and the second is a scalar or cell array, representing the
-values to include in the structure or structure array. For example
+values to include in the structure or structure array.  For example
 
 @example
 @group
@@ -368,7 +368,7 @@
 
 If the values passed to @code{struct} are a mix of scalar and cell
 arrays, then the scalar arguments are expanded to create a 
-structure array with a consistent dimension. For example
+structure array with a consistent dimension.  For example
 
 @example
 @group
@@ -431,7 +431,7 @@
 @subsection Processing Data in Structures
 
 The simplest way to process data in a structure is within a @code{for}
-loop (@pxref{Looping Over Structure Elements}). A similar effect can be
+loop (@pxref{Looping Over Structure Elements}).  A similar effect can be
 achieved with the @code{structfun} function, where a user defined
 function is applied to each field of the structure.
 
@@ -447,8 +447,8 @@
 @cindex cell arrays
 
 It can be both necessary and convenient to store several variables of
-different size or type in one variable. A cell array is a container
-class able to do just that. In general cell arrays work just like
+different size or type in one variable.  A cell array is a container
+class able to do just that.  In general cell arrays work just like
 @math{N}-dimensional arrays, with the exception of the use of @samp{@{}
 and @samp{@}} as allocation and indexing operators.
 
@@ -491,7 +491,7 @@
 @end example
 
 The indexing operators can also be used to insert or overwrite elements
-of a cell array. The following code inserts the scalar 3 on the
+of a cell array.  The following code inserts the scalar 3 on the
 third place of the previously created cell array
 
 @example
@@ -511,7 +511,7 @@
 @end group
 @end example
 
-In general nested cell arrays are displayed hierarchically as above. In
+In general nested cell arrays are displayed hierarchically as above.  In
 some circumstances it makes sense to reference them by their index, and
 this can be performed by the @code{celldisp} function.
 
@@ -528,12 +528,12 @@
 @subsection Creating Cell Array
 
 The introductory example showed how to create a cell array containing
-currently available variables. In many situations, however, it is useful
+currently available variables.  In many situations, however, it is useful
 to create a cell array and then fill it with data.
 
 The @code{cell} function returns a cell array of a given size, containing
-empty matrices. This function is similar to the @code{zeros}
-function for creating new numerical arrays. The following example creates
+empty matrices.  This function is similar to the @code{zeros}
+function for creating new numerical arrays.  The following example creates
 a 2-by-2 cell array containing empty matrices
 
 @example
@@ -550,10 +550,10 @@
 @end group
 @end example
 
-Just like numerical arrays, cell arrays can be multidimensional. The
+Just like numerical arrays, cell arrays can be multidimensional.  The
 @code{cell} function accepts any number of positive integers to describe
-the size of the returned cell array. It is also possible to set the size
-of the cell array through a vector of positive integers. In the
+the size of the returned cell array.  It is also possible to set the size
+of the cell array through a vector of positive integers.  In the
 following example two cell arrays of equal size are created, and the size
 of the first one is displayed
 
@@ -566,7 +566,7 @@
 @end example
 
 @noindent
-As can be seen, the @code{size} function also works for cell arrays. As
+As can be seen, the @code{size} function also works for cell arrays.  As
 do the other functions describing the size of an object, such as
 @code{length}, @code{numel}, @code{rows}, and @code{columns}.
 
@@ -586,7 +586,7 @@
 @subsection Indexing Cell Arrays
 
 As shown in the introductory example elements can be inserted from cell
-arrays using the @samp{@{} and @samp{@}} operators. Besides the change
+arrays using the @samp{@{} and @samp{@}} operators.  Besides the change
 of operators, indexing works for cell arrays like for multidimensional
 arrays.  As an example, all the rows of the first and third column of a
 cell array can be set to @code{0} with the following code
@@ -596,7 +596,7 @@
 @end example
 
 Accessing values in a cell array is, however, different from the same
-operation for numerical arrays. Accessing a single element of a cell
+operation for numerical arrays.  Accessing a single element of a cell
 array is very similar to numerical arrays, for example
 
 @example
@@ -613,10 +613,10 @@
 Separated Lists}) of all the requested elements as discussed later. 
 
 One distinction between @samp{@{} and @samp{(} to index cell arrays is
-in the deletion of elements from the cell array. In a similar manner to
+in the deletion of elements from the cell array.  In a similar manner to
 a numerical array the @samp{()} operator can be used to delete elements
-from the cell array. The @samp{@{@}} operator however will remove the
-elements of the cell array, but not delete the space for them. For example
+from the cell array.  The @samp{@{@}} operator however will remove the
+elements of the cell array, but not delete the space for them.  For example
 
 @example
 @group
@@ -643,10 +643,10 @@
 @subsection Cell Arrays of Strings
 
 One common use of cell arrays is to store multiple strings in the same
-variable. It is possible to store multiple strings in a character matrix
-by letting each row be a string. This, however, introduces the problem
-that all strings must be of equal length. Therefore it is recommended to
-use cell arrays to store multiple strings. If, however, the character
+variable.  It is possible to store multiple strings in a character matrix
+by letting each row be a string.  This, however, introduces the problem
+that all strings must be of equal length.  Therefore it is recommended to
+use cell arrays to store multiple strings.  If, however, the character
 matrix representation is required for an operation, it can be converted
 to a cell array of strings using the @code{cellstr} function
 
@@ -662,8 +662,8 @@
 
 One further advantage of using cell arrays to store multiple strings is
 that most functions for string manipulations included with Octave
-support this representation. As an example, it is possible to compare
-one string with many others using the @code{strcmp} function. If one of
+support this representation.  As an example, it is possible to compare
+one string with many others using the @code{strcmp} function.  If one of
 the arguments to this function is a string and the other is a cell array
 of strings, each element of the cell array will be compared the string
 argument,
@@ -691,8 +691,8 @@
 @subsection Processing Data in Cell Arrays
 
 Data that is stored in a cell array can be processed in several ways
-depending on the actual data. The simplest way to process that data
-is to iterate through it using one or more @code{for} loops. The same
+depending on the actual data.  The simplest way to process that data
+is to iterate through it using one or more @code{for} loops.  The same
 idea can be implemented more easily through the use of the @code{cellfun}
 function that calls a user-specified function on all elements of a cell
 array.
@@ -714,15 +714,15 @@
 
 Comma separated lists@footnote{Comma-separated lists are also sometimes
 informally referred to as @dfn{cs-lists}.} are the basic argument type
-to all Octave functions. In the example
+to all Octave functions.  In the example
 
 @example
 max (@var{a}, @var{b})
 @end example
 
 @noindent
-@code{@var{a}, @var{b}} is a comma separated list. Comma separated lists
-can appear on both the right and left hand side of an equation. For
+@code{@var{a}, @var{b}} is a comma separated list.  Comma separated lists
+can appear on both the right and left hand side of an equation.  For
 example
 
 @example
@@ -730,12 +730,12 @@
 @end example
 
 @noindent
-where @code{@var{i}, @var{j}} is equally a comma separated list. Comma
-separated lists cannot be directly manipulated by the user. However,
+where @code{@var{i}, @var{j}} is equally a comma separated list.  Comma
+separated lists cannot be directly manipulated by the user.  However,
 both structures and cell arrays can be converted into comma
 separated lists, which makes them useful to keep the input arguments and
-return values of functions organized. Another example of where a comma
-separated list can be used is in the creation of a new array. If all the
+return values of functions organized.  Another example of where a comma
+separated list can be used is in the creation of a new array.  If all the
 accessed elements of a cell array are scalars or column vectors, they
 can be concatenated into a new column vector containing the elements, by
 surrounding the list with @code{[} and @code{]} as in the following
@@ -764,7 +764,7 @@
 
 Just like it is possible to create a numerical array from selected
 elements of a cell array, it is possible to create a new cell array
-containing the selected elements. By surrounding the list with 
+containing the selected elements.  By surrounding the list with 
 @samp{@{} and @samp{@}} a new cell array will be created, as the
 following example illustrates
 
@@ -781,9 +781,9 @@
 @noindent
 This syntax is however a bit cumbersome, and since this is a common
 operation, it is possible to achieve the same using the @samp{(}
-and @samp{)} operators for indexing. When a cell array is indexed
+and @samp{)} operators for indexing.  When a cell array is indexed
 using the @samp{(} and @samp{)} operators a new cell array containing
-the selected elements will be created. Using this syntax, the previous 
+the selected elements will be created.  Using this syntax, the previous 
 example can be simplified into the following
 
 @example
@@ -797,7 +797,7 @@
 @end example
 
 A comma separated list can equally appear on the left-hand side of an
-assignment. An example is 
+assignment.  An example is 
 
 @example
 @group
@@ -812,8 +812,8 @@
 @end example
 
 Structure arrays can equally be used to create comma separated
-lists. This is done by addressing one of the fields of a structure
-array. For example
+lists.  This is done by addressing one of the fields of a structure
+array.  For example
 
 @example
 @group
--- a/doc/interpreter/contrib.txi
+++ b/doc/interpreter/contrib.txi
@@ -24,8 +24,8 @@
 This chapter is dedicated to those who wish to contribute code to Octave.
 
 @menu 
-* How to Contribute::		How you may start contributing code.
-* General Guidelines::		Advices applicable to any type of source.
+* How to Contribute::
+* General Guidelines::
 * Octave Sources (m-files)::
 * C++ Sources::
 * Other Sources::	
--- a/doc/interpreter/data.txi
+++ b/doc/interpreter/data.txi
@@ -47,7 +47,7 @@
 
 The standard built-in data types are real and complex scalars and
 matrices, ranges, character strings, a data structure type, and cell
-arrays. Additional built-in data types may be added in future versions.
+arrays.  Additional built-in data types may be added in future versions.
 If you need a specialized data type that is not currently provided as a
 built-in type, you are encouraged to write your own user-defined data
 type and contribute it for distribution in a future release of Octave.
@@ -113,8 +113,8 @@
 @cindex missing data
 
 It is possible to represent missing data explicitly in Octave using
-@code{NA} (short for ``Not Available''). Missing data can only be
-represented when data is represented as floating point numbers. In this
+@code{NA} (short for ``Not Available'').  Missing data can only be
+represented when data is represented as floating point numbers.  In this
 case missing data is represented as a special case of the representation
 of @code{NaN}.
 
--- a/doc/interpreter/debug.txi
+++ b/doc/interpreter/debug.txi
@@ -20,8 +20,8 @@
 @chapter Debugging
 
 Octave includes a built-in debugger to aid in the development of
-scripts. This can be used to interrupt the execution of an Octave script
-at a certain point, or when certain conditions are met. Once execution
+scripts.  This can be used to interrupt the execution of an Octave script
+at a certain point, or when certain conditions are met.  Once execution
 has stopped, and debug mode is entered, the symbol table at the point
 where execution has stopped can be examined and modified to check for
 errors.
@@ -41,7 +41,7 @@
 @section Entering Debug Mode
 
 There are two basic means of interrupting the execution of an Octave
-script. These are breakpoints @pxref{Breakpoints}, discussed in the next
+script.  These are breakpoints @pxref{Breakpoints}, discussed in the next
 section and interruption based on some condition.
 
 Octave supports three means to stop execution based on the values set in
@@ -80,11 +80,11 @@
 
 @noindent
 Note that breakpoints cannot be set in built-in functions
-(eg. @code{sin}, etc) or dynamically loaded function (ie. oct-files). To
+(e.g., @code{sin}, etc) or dynamically loaded function (i.e., oct-files).  To
 set a breakpoint immediately on entering a function, the breakpoint
 should be set to line 1. The leading comment block will be ignored and
 the breakpoint will be set to the first executable statement in the
-function. For example
+function.  For example
 
 @example
 @group
@@ -113,7 +113,7 @@
 dbclear ("asind", dbstatus ("asind"));
 @end example
 
-A breakpoint can be set in a subfunction. For example if a file contains
+A breakpoint can be set in a subfunction.  For example if a file contains
 the functions
 
 @example
@@ -146,7 +146,7 @@
 
 @noindent
 The @code{keyboard} function is typically placed in a script at the
-point where the user desires that the execution is stopped. It
+point where the user desires that the execution is stopped.  It
 automatically sets the running script into the debug mode.
 
 @node Debug Mode
--- a/doc/interpreter/diagperm.txi
+++ b/doc/interpreter/diagperm.txi
@@ -21,7 +21,7 @@
 
 @menu
 * Basic Usage::          Creation and Manipulation of Diagonal and Permutation Matrices
-* Matrix Algebra::   	 Linear Algebra with Diagonal and Permutation Matrices
+* Matrix Algebra::       Linear Algebra with Diagonal and Permutation Matrices
 * Function Support::     Functions That Are Aware of These Matrices
 * Example Codes::        Some Examples of Usage
 * Zeros Treatment::      The Differences in Treatment of Zero Elements
--- a/doc/interpreter/dynamic.txi
+++ b/doc/interpreter/dynamic.txi
@@ -1085,7 +1085,7 @@
 allocate any memory that is needed by the foreign code, with either the
 fortran_vec method or the @code{OCTAVE_LOCAL_BUFFER} macro.
 
-The Octave unwind_protect mechanism (@ref{The unwind_protect Statement})
+The Octave unwind_protect mechanism (@ref{The @code{unwind_protect} Statement})
 can also be used in oct-files.  In conjunction with the exception
 handling of Octave, it is important to enforce that certain code is run
 to allow variables, etc to be restored even if an exception occurs.  An
--- a/doc/interpreter/emacs.txi
+++ b/doc/interpreter/emacs.txi
@@ -20,7 +20,7 @@
 @c Written by Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> on 1996/05/17.
 @c Last updated by KH on 1997/07/31.
 
-@node Emacs
+@node Emacs Octave Support
 @appendix Emacs Octave Support
 
 The development of Octave code can greatly be facilitated using Emacs
--- a/doc/interpreter/errors.txi
+++ b/doc/interpreter/errors.txi
@@ -44,7 +44,7 @@
 Since an error can occur during the evaluation of a program, it is
 very convenient to be able to detect that an error occurred, so that
 the error can be fixed.  This is possible with the @code{try} statement
-described in @ref{The try Statement}.
+described in @ref{The @code{try} Statement}.
 
 @menu
 * Raising Errors::
@@ -105,7 +105,7 @@
 Invalid call to f.  Correct usage is:
 
      @print{}  -- Function File: f (ARG1)
-     @print{}      Function help text goes here...
+     @print{}      Function help text goes here@dots{}
      @print{} 
      @print{} 
      @print{} 
@@ -126,7 +126,7 @@
 @subsection Catching Errors
 
 When an error occurs, it can be detected and handled using the
-@code{try} statement as described in @ref{The try Statement}.
+@code{try} statement as described in @ref{The @code{try} Statement}.
 As an example, the following piece of code counts the number of errors
 that occurs during a @code{for} loop.
 
@@ -191,7 +191,7 @@
 
 @DOCSTRING(rethrow)
 
-@c XXX: I have no idea what the rest of the functions are used for...
+@c FIXME: I have no idea what the rest of the functions are used for...
 
 @DOCSTRING(errno)
 
@@ -221,18 +221,18 @@
 @subsection Issuing Warnings
 
 It is possible to issue warnings from any code using the @code{warning}
-function. In its most simple form, the @code{warning} function takes a
-string describing the warning as its input argument. As an example,
+function.  In its most simple form, the @code{warning} function takes a
+string describing the warning as its input argument.  As an example,
 the following code controls if the variable @samp{a} is non-negative,
 and if not issues a warning and sets @samp{a} to zero.
 
 @example
 a = -1;
 if (a < 0)
-  warning ("'a' must be non-negative. Setting 'a' to zero.");
+  warning ("'a' must be non-negative.  Setting 'a' to zero.");
   a = 0;
 endif
-     @print{} 'a' must be non-negative. Setting 'a' to zero.
+     @print{} 'a' must be non-negative.  Setting 'a' to zero.
 @end example
 
 Since warnings aren't fatal to a running program, it is not possible
@@ -263,7 +263,7 @@
 
 @example
 warning ("non-negative-variable", 
-         "'a' must be non-negative. Setting 'a' to zero.");
+         "'a' must be non-negative.  Setting 'a' to zero.");
 @end example
 
 @noindent
@@ -272,7 +272,7 @@
 @example
 warning ("off", "non-negative-variable");
 warning ("non-negative-variable", 
-         "'a' must be non-negative. Setting 'a' to zero.");
+         "'a' must be non-negative.  Setting 'a' to zero.");
 @end example
 
 The functions distributed with Octave can issue one of the following
--- a/doc/interpreter/eval.txi
+++ b/doc/interpreter/eval.txi
@@ -38,8 +38,8 @@
 @section Calling a Function by its Name
 
 The @code{feval} function allows you to call a function from a string
-containing its name. This is useful when writing a function that needs to
-call user-supplied functions. The @code{feval} function takes the name
+containing its name.  This is useful when writing a function that needs to
+call user-supplied functions.  The @code{feval} function takes the name
 of the function to call as its first argument, and the remaining 
 arguments are given to the function.
 
--- a/doc/interpreter/expr.txi
+++ b/doc/interpreter/expr.txi
@@ -127,7 +127,7 @@
 size whose elements are all one, and then to scale it to produce the
 desired result.  @xref{Special Utility Matrices}.
 
-It is also possible to create a matrix with different values. The
+It is also possible to create a matrix with different values.  The
 following example creates a 10 dimensional row vector @math{a} containing
 the values
 @iftex
@@ -206,7 +206,7 @@
 @cindex arguments in function call
 The way to use a function is with a @dfn{function call} expression,
 which consists of the function name followed by a list of
-@dfn{arguments} in parentheses. The arguments are expressions which give
+@dfn{arguments} in parentheses.  The arguments are expressions which give
 the raw materials for the calculation that the function will do.  When
 there is more than one argument, they are separated by commas.  If there
 are no arguments, you can omit the parentheses, but it is a good idea to
@@ -709,7 +709,7 @@
 
 @strong{Warning:} there is one exception to the rule of evaluating
 @code{all (@var{boolean1}(:))}, which is when @code{boolean1} is the
-empty matrix. The truth value of an empty matrix is always @code{false}
+empty matrix.  The truth value of an empty matrix is always @code{false}
 so @code{[] && true} evaluates to @code{false} even though
 @code{all ([])} is @code{true}.
 
@@ -936,7 +936,7 @@
 
 @noindent
 The number of values on the left side of the expression can, however,
-not exceed the number of values on the right side. For example, the
+not exceed the number of values on the right side.  For example, the
 following will produce an error.
 
 @c Using 'smallexample' to make text fit on page when creating smallbook.
@@ -966,7 +966,7 @@
 @opindex *=
 @opindex /=
 Similar operators also exist for subtraction (@code{-=}),
-multiplication (@code{*=}), and division (@code{/=}). An expression
+multiplication (@code{*=}), and division (@code{/=}).  An expression
 of the form
 
 @example
--- a/doc/interpreter/func.txi
+++ b/doc/interpreter/func.txi
@@ -17,7 +17,7 @@
 @c <http://www.gnu.org/licenses/>.
 
 @node Functions and Scripts
-@chapter Functions and Script Files
+@chapter Functions and Scripts
 @cindex defining functions
 @cindex user-defined functions
 @cindex functions, user-defined
@@ -362,7 +362,7 @@
 
 @noindent
 and then use the value of @code{nargin} to determine which of the input
-arguments should be considered. The problem with this approach is
+arguments should be considered.  The problem with this approach is
 that it can only handle a limited number of input arguments.
 
 If the special parameter name @code{varargin} appears at the end of a
@@ -378,9 +378,9 @@
 
 @noindent
 In the function body the input arguments can be accessed through the
-variable @code{varargin}. This variable is a cell array containing
-all the input arguments. @xref{Cell Arrays}, for details on working
-with cell arrays. The @code{smallest} function can now be defined
+variable @code{varargin}.  This variable is a cell array containing
+all the input arguments.  @xref{Cell Arrays}, for details on working
+with cell arrays.  The @code{smallest} function can now be defined
 like this
 
 @example
@@ -504,7 +504,7 @@
 
 @deffn {Keyword} return
 When Octave encounters the keyword @code{return} inside a function or
-script, it returns control to the caller immediately. At the top level,
+script, it returns control to the caller immediately.  At the top level,
 the return statement is ignored.  A @code{return} statement is assumed
 at the end of every function definition.
 @end deffn
@@ -514,7 +514,7 @@
 @cindex default arguments
 
 Since Octave supports variable number of input arguments, it is very useful
-to assign default values to some input arguments. When an input argument
+to assign default values to some input arguments.  When an input argument
 is declared in the argument list it is possible to assign a default
 value to the argument like this
 
@@ -636,14 +636,14 @@
 @subsection Manipulating the load path
 
 When a function is called, Octave searches a list of directories for
-a file that contains the function declaration. This list of directories
-is known as the load path. By default the load path contains
+a file that contains the function declaration.  This list of directories
+is known as the load path.  By default the load path contains
 a list of directories distributed with Octave plus the current
-working directory. To see your current load path call the @code{path}
+working directory.  To see your current load path call the @code{path}
 function without any input or output arguments.
 
 It is possible to add or remove directories to or from the load path
-using @code{addpath} and @code{rmpath}. As an example, the following
+using @code{addpath} and @code{rmpath}.  As an example, the following
 code adds @samp{~/Octave} to the load path.
 
 @example
@@ -712,14 +712,14 @@
 
 In many cases one function needs to access one or more helper
 functions.  If the helper function is limited to the scope of a single
-function, then subfunctions as discussed above might be used. However,
+function, then subfunctions as discussed above might be used.  However,
 if a single helper function is used by more than one function, then
 this is no longer possible.  In this case the helper functions might
 be placed in a subdirectory, called "private", of the directory in which
 the functions needing access to this helper function are found.
 
 As a simple example, consider a function @code{func1}, that calls a helper
-function @code{func2} to do much of the work. For example
+function @code{func2} to do much of the work.  For example
 
 @example
 @group
@@ -739,9 +739,9 @@
 @subsection Overloading and Autoloading
 
 The @code{dispatch} function can be used to alias one function name to
-another. It can be used to alias all calls to a particular function name
+another.  It can be used to alias all calls to a particular function name
 to another function, or the alias can be limited to only a particular
-variable type. Consider the example
+variable type.  Consider the example
 
 @example
 @group
@@ -759,7 +759,7 @@
 
 @noindent
 which aliases the user-defined function @code{spsin} to @code{sin}, but only for real sparse
-matrices. Note that the builtin @code{sin} already  correctly treats
+matrices.  Note that the builtin @code{sin} already  correctly treats
 sparse matrices and so this example is only illustrative.
 
 @DOCSTRING(dispatch)
@@ -767,16 +767,16 @@
 @DOCSTRING(builtin)
 
 A single dynamically linked file might define several
-functions. However, as Octave searches for functions based on the
+functions.  However, as Octave searches for functions based on the
 functions filename, Octave needs a manner in which to find each of the
-functions in the dynamically linked file. On operating systems that
+functions in the dynamically linked file.  On operating systems that
 support symbolic links, it is possible to create a symbolic link to the
 original file for each of the functions which it contains.
 
 However, there is at least one well known operating system that doesn't
-support symbolic links. Making copies of the original file for each of
+support symbolic links.  Making copies of the original file for each of
 the functions is undesirable as it increases the
-amount of disk space used by Octave. Instead Octave supplies the
+amount of disk space used by Octave.  Instead Octave supplies the
 @code{autoload} function, that permits the user to define in which
 file a certain function will be found.
 
@@ -786,7 +786,7 @@
 @subsection Function Locking
 
 It is sometime desirable to lock a function into memory with the
-@code{mlock} function. This is typically used for dynamically linked
+@code{mlock} function.  This is typically used for dynamically linked
 functions in Oct-files or mex-files that contain some initialization,
 and it is desirable that calling @code{clear} does not remove this
 initialization.
@@ -864,9 +864,9 @@
 @node Function Precedence
 @subsection Function Precedence
 
-Given the numereous different ways that Octave can define a function, it
+Given the numerous different ways that Octave can define a function, it
 is possible and even likely that multiple versions of a function, might be
-defined within a particular scope. The precedence of which function will be
+defined within a particular scope.  The precedence of which function will be
 used within a particular scope is given by
 
 @enumerate 1
@@ -895,7 +895,7 @@
 A function that is marked as autoloaded with @xref{doc-autoload}.
 
 @item A Function on the Path
-A function that can be found on the users load-path. There can also be
+A function that can be found on the users load-path.  There can also be
 Oct-file, mex-file or m-file versions of this function and the precedence
 between these versions are in that order.
 
@@ -939,7 +939,7 @@
 # Define function one:
 
 function one ()
-  ...
+  @dots{}
 @end group
 @end example
 
@@ -1015,9 +1015,9 @@
 @cindex anonymous functions
 
 It can be very convenient store a function in a variable so that it
-can be passed to a different function. For example, a function that
-performs numerical minimisation needs access to the function that 
-should be minimised.
+can be passed to a different function.  For example, a function that
+performs numerical minimization needs access to the function that 
+should be minimized.
 
 @menu
 * Function Handles::
@@ -1126,7 +1126,7 @@
 @subsection Inline Functions
 
 An inline function is created from a string containing the function
-body using the @code{inline} function. The following code defines the
+body using the @code{inline} function.  The following code defines the
 function @math{f(x) = x^2 + 2}.
 
 @example
@@ -1151,7 +1151,7 @@
 @section Commands
 
 Commands are a special class of functions that only accept string
-input arguments. A command can be called as an ordinary function, but
+input arguments.  A command can be called as an ordinary function, but
 it can also be called without the parentheses like the following example
 shows
 
@@ -1191,9 +1191,9 @@
 where @code{name} is the function to be marked as a command.
 
 One difficulty of commands occurs when one of the string input arguments
-are stored in a variable. Since Octave can't tell the difference between
+are stored in a variable.  Since Octave can't tell the difference between
 a variable name, and an ordinary string, it is not possible to pass a
-variable as input to a command. In such a situation a command must be
+variable as input to a command.  In such a situation a command must be
 called as a function.
 
 @DOCSTRING(mark_as_command)
--- a/doc/interpreter/install.txi
+++ b/doc/interpreter/install.txi
@@ -34,8 +34,9 @@
 Free Software Foundation.
 
 @strong{Note:} This file is automatically generated from
-@file{doc/interpreter/install.txi} in the Octave sources, so to make
-changes to this documentation file, change that source file.
+@file{doc/interpreter/install.txi} in the Octave sources.  To update
+the documentation make changes to the .txi source file rather than this
+derived file.
 
 @node Installation
 @chapter Installing Octave
@@ -157,18 +158,19 @@
 
 @item --without-framework-opengl
 Don't use framework OpenGL headers, libraries and specific source code
-for compilation even if the configure test succeeds. If this option is
+for compilation even if the configure test succeeds.  If this option is
 given then OpenGL headers and libraries in standard system locations are
-tested (the default value is @code{--with-framework-opengl}). This is a
+tested (the default value is @code{--with-framework-opengl}).  This is a
 platform specific configure option for Mac systems.
 
 @item --help
 Print a summary of the options recognized by the configure script.
 @end table
 
-See the file @file{INSTALL} for more information about the command line
-options used by configure.  That file also contains instructions for
-compiling in a directory other than where the source is located.
+See the file @file{INSTALL} for more general information about the 
+command line options used by configure.  That file also contains 
+instructions for compiling in a directory other than where the source 
+is located.
 
 @item
 Run make.
@@ -184,7 +186,7 @@
 any but the most peripheral sense.
 
 To compile Octave, you will need a recent version of GNU Make.  You will
-also need a recent version of @code{g++} or other ANSI C++ compiler. You
+also need a recent version of @code{g++} or other ANSI C++ compiler.  You
 will also need a Fortran 77 compiler or @code{f2c}.  If you use
 @code{f2c}, you will need a script like @code{fort77} that works like a
 normal Fortran compiler by combining @code{f2c} with your C compiler in
@@ -202,7 +204,7 @@
 @url{ftp.gnu.org} is available by anonymous ftp from
 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}.
 
-You will need about 925 megabytes of disk storage to work with when
+You will need about 1 gigabyte of disk storage to work with when
 building Octave from source (considerably less if you don't compile with
 debugging symbols).  To do that, use the command
 
@@ -372,7 +374,7 @@
 @noindent
 to match the prototype declaration for the @code{signal} function.  This
 change should also be made for the @code{SIG_DFL} and @code{SIG_ERR}
-symbols. It may be necessary to change the definitions in
+symbols.  It may be necessary to change the definitions in
 @file{sys/signal.h} as well.
 
 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should
--- a/doc/interpreter/intro.txi
+++ b/doc/interpreter/intro.txi
@@ -36,11 +36,6 @@
 
 This document corresponds to Octave version @value{VERSION}.
 
-@c FIXME -- add explanation about how and why Octave was written.
-@c
-@c FIXME -- add a sentence or two explaining that we could
-@c                  always use more funding.
-
 @menu
 * Running Octave::              
 * Simple Examples::             
@@ -56,7 +51,7 @@
 commands immediately afterward.
 
 If you get into trouble, you can usually interrupt Octave by typing
-@kbd{Control-C} (usually written @kbd{C-c} for short).  @kbd{C-c} gets
+@kbd{Control-C} (written @kbd{C-c} for short).  @kbd{C-c} gets
 its name from the fact that you type it by holding down @key{CTRL} and
 then pressing @key{c}.  Doing this will normally return you to Octave's
 prompt.
@@ -82,7 +77,7 @@
 
 @subsection Creating a Matrix
 
-To create a new matrix and store it in a variable so that it you can
+To create a new matrix and store it in a variable so that you can
 refer to it later, type the command
 
 @example
@@ -91,8 +86,8 @@
 
 @noindent
 Octave will respond by printing the matrix in neatly aligned columns.
-Ending a command with a semicolon tells Octave to not print the result
-of a command.  For example
+Ending a command with a semicolon tells Octave not to print the result
+of the command.  For example
 
 @example
 octave:2> B = rand (3, 2);
@@ -102,9 +97,9 @@
 will create a 3 row, 2 column matrix with each element set to a random
 value between zero and one.
 
-To display the value of any variable, simply type the name of the
-variable.  For example, to display the value stored in the matrix
-@code{B}, type the command
+To display the value of a variable, simply type the name of the
+variable at the prompt.  For example, to display the value stored in the 
+matrix @code{B}, type the command
 
 @example
 octave:3> B
@@ -209,7 +204,7 @@
 @end ifnottex
 This is straightforward, and may be accomplished by entering the
 function body directly on the command line.  For example, the following
-commands define the right hand side function for an interesting pair of
+commands define the right-hand side function for an interesting pair of
 nonlinear differential equations.  Note that while you are entering a
 function, Octave responds with a different prompt, to indicate that it
 is waiting for you to complete your input.
@@ -297,8 +292,8 @@
 At the Octave prompt, you can recall, edit, and reissue previous
 commands using Emacs- or vi-style editing commands.  The default
 keybindings use Emacs-style commands.  For example, to recall the
-previous command, press @kbd{Control-p} (usually written @kbd{C-p} for
-short). Doing this will normally bring back the previous line of input.
+previous command, press @kbd{Control-p} (written @kbd{C-p} for
+short).  Doing this will normally bring back the previous line of input.
 @kbd{C-n} will bring up the next line of input, @kbd{C-b} will move
 the cursor backward on the line, @kbd{C-f} will move the cursor forward
 on the line, etc.
@@ -317,8 +312,8 @@
 that you want to use.  This name of the function may not always be
 obvious, but a good place to start is to just type @code{help}.
 This will show you all the operators, reserved words, functions,
-built-in variables, and function files. An alternative is to search the
-documentation using the @code{lookfor} function. This function is
+built-in variables, and function files.  An alternative is to search the
+documentation using the @code{lookfor} function.  This function is
 described in @ref{Getting Help}.
 
 Once you know the name of the function you wish to use, you can get more
@@ -519,7 +514,7 @@
 @end deftypefn
 
 Any parameter whose name contains the name of a type (e.g.,
-@var{integer}, @var{integer1} or @var{matrix}) is expected to be of that
+@var{integer} or @var{matrix}) is expected to be of that
 type.  Parameters named @var{object} may be of any type.  Parameters
 with other sorts of names (e.g., @var{new_file}) are discussed
 specifically in the description of the function.  In some sections,
@@ -559,7 +554,7 @@
 @cindex command descriptions
 
 Command descriptions have a format similar to function descriptions,
-except that the word `Function' is replaced by `Command.  Commands are
+except that the word `Function' is replaced by `Command'.  Commands are
 functions that may be called without surrounding their arguments in
 parentheses.  For example, here is the description for Octave's
 @code{cd} command:
--- a/doc/interpreter/io.txi
+++ b/doc/interpreter/io.txi
@@ -221,7 +221,7 @@
 If Octave for some reason exits unexpectedly it will by default save the
 variables available in the workspace to a file in the current directory.
 By default this file is named @samp{octave-core} and can be loaded
-into memory with the @code{load} command.  While the default behaviour
+into memory with the @code{load} command.  While the default behavior
 most often is reasonable it can be changed through the following
 functions.
 
@@ -275,7 +275,7 @@
 * Output Conversion Syntax::    
 * Table of Output Conversions::  
 * Integer Conversions::         
-* Floating-Point Conversions::  Other Output Conversions::    
+* Floating-Point Conversions::
 * Other Output Conversions::    
 * Formatted Input::             
 * Input Conversion Syntax::     
@@ -302,7 +302,7 @@
 @example
 filename = "myfile.txt";
 fid = fopen (filename, "w");
-# Do the actual I/O here...
+# Do the actual I/O here@dots{}
 fclose (fid);
 @end example
 
--- a/doc/interpreter/numbers.txi
+++ b/doc/interpreter/numbers.txi
@@ -306,7 +306,7 @@
 
 A matrix may have one or both dimensions zero, and operations on empty
 matrices are handled as described by Carl de Boor in @cite{An Empty
-Exercise}, SIGNUM, Volume 25, pages 2--6, 1990 and C. N. Nett and W. M.
+Exercise}, SIGNUM, Volume 25, pages 2-6, 1990 and C. N. Nett and W. M.
 Haddad, in @cite{A System-Theoretic Appropriate Realization of the Empty
 Matrix Concept}, IEEE Transactions on Automatic Control, Volume 38,
 Number 5, May 1993.
@@ -412,7 +412,7 @@
 
 Octave includes support for single precision data types, and most of the
 functions in Octave accept single precision values and return single
-precion answers. A single precision variable is created with the
+precision answers.  A single precision variable is created with the
 @code{single} function.
 
 @DOCSTRING(single)
@@ -428,7 +428,7 @@
     @result{} single
 @end example
 
-Many functions can also return single precision values directly. For
+Many functions can also return single precision values directly.  For
 example
 
 @example
@@ -448,15 +448,15 @@
 @section Integer Data Types
 
 Octave supports integer matrices as an alternative to using double
-precision. It is possible to use both signed and unsigned integers
-represented by 8, 16, 32, or 64 bits. It should be noted that most
+precision.  It is possible to use both signed and unsigned integers
+represented by 8, 16, 32, or 64 bits.  It should be noted that most
 computations require floating point data, meaning that integers will
-often change type when involved in numeric computations. For this
+often change type when involved in numeric computations.  For this
 reason integers are most often used to store data, and not for
 calculations.
 
 In general most integer matrices are created by casting
-existing matrices to integers. The following example shows how to cast
+existing matrices to integers.  The following example shows how to cast
 a matrix into 32 bit integers.
 
 @example
@@ -505,28 +505,28 @@
 
 While many numerical computations can't be carried out in integers,
 Octave does support basic operations like addition and multiplication
-on integers. The operators @code{+}, @code{-}, @code{.*}, and @code{./}
-work on integers of the same type. So, it is possible to add two 32 bit
+on integers.  The operators @code{+}, @code{-}, @code{.*}, and @code{./}
+work on integers of the same type.  So, it is possible to add two 32 bit
 integers, but not to add a 32 bit integer and a 16 bit integer.
 
 The arithmetic operations on integers are performed by casting the
 integer values to double precision values, performing the operation, and
-then re-casting the values back to the original integer type. As the
+then re-casting the values back to the original integer type.  As the
 double precision type of Octave is only capable of representing integers
 with up to 53 bits of precision, it is not possible to perform
 arithmetic with 64 bit integer types.
 
 When doing integer arithmetic one should consider the possibility of
-underflow and overflow. This happens when the result of the computation
-can't be represented using the chosen integer type. As an example it is
+underflow and overflow.  This happens when the result of the computation
+can't be represented using the chosen integer type.  As an example it is
 not possible to represent the result of @math{10 - 20} when using
-unsigned integers. Octave makes sure that the result of integer
-computations is the integer that is closest to the true result. So, the
+unsigned integers.  Octave makes sure that the result of integer
+computations is the integer that is closest to the true result.  So, the
 result of @math{10 - 20} when using unsigned integers is zero.
 
 When doing integer division Octave will round the result to the nearest
-integer. This is different from most programming languages, where the
-result is often floored to the nearest integer. So, the result of
+integer.  This is different from most programming languages, where the
+result is often floored to the nearest integer.  So, the result of
 @code{int32(5)./int32(8)} is @code{1}.
 
 @DOCSTRING(idivide)
@@ -535,7 +535,7 @@
 @section Bit Manipulations
 
 Octave provides a number of functions for the manipulation of numeric
-values on a bit by bit basis. The basic functions to set and obtain the
+values on a bit by bit basis.  The basic functions to set and obtain the
 values of individual bits are @code{bitset} and @code{bitget}.
 
 @DOCSTRING(bitset)
@@ -544,11 +544,11 @@
 
 The arguments to all of Octave's bitwise operations can be scalar or
 arrays, except for @code{bitcmp}, whose @var{k} argument must a
-scalar. In the case where more than one argument is an array, then all
+scalar.  In the case where more than one argument is an array, then all
 arguments must have the same shape, and the bitwise operator is applied
-to each of the elements of the argument individually. If at least one
+to each of the elements of the argument individually.  If at least one
 argument is a scalar and one an array, then the scalar argument is
-duplicated. Therefore
+duplicated.  Therefore
 
 @example
 bitget (100, 8:-1:1)
@@ -561,7 +561,7 @@
 @end example
 
 It should be noted that all values passed to the bit manipulation
-functions of Octave are treated as integers. Therefore, even though the
+functions of Octave are treated as integers.  Therefore, even though the
 example for @code{bitset} above passes the floating point value
 @code{10}, it is treated as the bits @code{[1, 0, 1, 0]} rather than the
 bits of the native floating point format representation of @code{10}.
@@ -585,8 +585,8 @@
 @DOCSTRING(bitxor)
 
 The bitwise 'not' operator is a unary operator that performs a logical
-negation of each of the bits of the value. For this to make sense, the
-mask against which the value is negated must be defined. Octave's
+negation of each of the bits of the value.  For this to make sense, the
+mask against which the value is negated must be defined.  Octave's
 bitwise 'not' operator is @code{bitcmp}.
 
 @DOCSTRING(bitcmp)
@@ -595,9 +595,9 @@
 
 @DOCSTRING(bitshift)
 
-Bits that are shifted out of either end of the value are lost. Octave
+Bits that are shifted out of either end of the value are lost.  Octave
 also uses arithmetic shifts, where the sign bit of the value is kept
-during a right shift. For example
+during a right shift.  For example
 
 @example
 @group
@@ -615,19 +615,19 @@
 @node Logical Values
 @section Logical Values
 
-Octave has built-in support for logical values, i.e. variables that
-are either @code{true} or @code{false}. When comparing two variables,
+Octave has built-in support for logical values, i.e., variables that
+are either @code{true} or @code{false}.  When comparing two variables,
 the result will be a logical value whose value depends on whether or
 not the comparison is true.
 
 The basic logical operations are @code{&}, @code{|}, and @code{!},
 which correspond to ``Logical And'', ``Logical Or'', and ``Logical
-Negation''. These operations all follow the usual rules of logic.
+Negation''.  These operations all follow the usual rules of logic.
 
 It is also possible to use logical values as part of standard numerical
-calculations. In this case @code{true} is converted to @code{1}, and
+calculations.  In this case @code{true} is converted to @code{1}, and
 @code{false} to 0, both represented using double precision floating
-point numbers. So, the result of @code{true*22 - false/6} is @code{22}.
+point numbers.  So, the result of @code{true*22 - false/6} is @code{22}.
 
 Logical values can also be used to index matrices and cell arrays.
 When indexing with a logical array the result will be a vector containing
@@ -658,7 +658,7 @@
 @node Promotion and Demotion of Data Types
 @section Promotion and Demotion of Data Types
 
-Many operators and functions can work with mixed data types. For example
+Many operators and functions can work with mixed data types.  For example
 
 @example
 uint8 (1) + 1
@@ -667,11 +667,11 @@
 
 @noindent
 where the above operator works with an 8-bit integer and a double precision
-value and returns an 8-bit integer value. Note that the type is demoted
+value and returns an 8-bit integer value.  Note that the type is demoted
 to an 8-bit integer, rather than promoted to a double precision value as
-might be expected. The reason is that if Octave promoted values in
+might be expected.  The reason is that if Octave promoted values in
 expressions like the above with all numerical constants would need to be
-explicitly cast to the appropriate data type type like
+explicitly cast to the appropriate data type like
 
 @example
 uint8 (1) + uint8 (1)
@@ -680,7 +680,7 @@
 
 @noindent
 which becomes difficult for the user to apply uniformly and might allow
-hard to find bugs to be introduced. The same applies to single precision
+hard to find bugs to be introduced.  The same applies to single precision
 values where a mixed operation such as
 
 @example
@@ -689,7 +689,7 @@
 @end example
 
 @noindent
-returns a single precision value. The mixed operations that are valid
+returns a single precision value.  The mixed operations that are valid
 and their returned data types are
 
 @multitable @columnfractions .2 .3 .3 .2
@@ -714,7 +714,7 @@
 where the returned value is single precision.
 
 In the case of mixed type indexed assignments, the type is not
-changed. For example
+changed.  For example
 
 @example
 x = ones (2, 2);
@@ -730,9 +730,9 @@
 @section Predicates for Numeric Objects
 
 Since the type of a variable may change during the execution of a
-program, it can be necessary to do type checking at run-time. Doing this
-also allows you to change the behaviour of a function depending on the
-type of the input. As an example, this naive implementation of @code{abs}
+program, it can be necessary to do type checking at run-time.  Doing this
+also allows you to change the behavior of a function depending on the
+type of the input.  As an example, this naive implementation of @code{abs}
 returns the absolute value of the input if it is a real number, and the
 length of the input if it is a complex number.
 
--- a/doc/interpreter/octave.texi
+++ b/doc/interpreter/octave.texi
@@ -30,7 +30,10 @@
 @vskip 2pt
 @end iftex
 @ifnottex
-@sp 1
+@c Texinfo @sp should work but in practice produces ugly results for HTML.
+@c A simple blank line produces the correct behavior. 
+@c @sp 1
+
 @end ifnottex
 @noindent
 @strong{See also:} \args\.
@@ -153,7 +156,7 @@
 * Strings::                     
 * Data Containers::             
 * Variables::                   
-* Expressions::                 Expressions.
+* Expressions::                 
 * Evaluation::                  
 * Statements::                  Looping and program flow control.
 * Functions and Scripts::       
@@ -183,18 +186,17 @@
 * Packages:: 
 * Dynamically Linked Functions::
 * Test and Demo Functions::
-* Tips::                        
+* Tips and Standards::                        
 * Contributing Guidelines::
 * Trouble::                     If you have trouble installing Octave.
 * Installation::                How to configure, compile and install Octave.
-* Emacs::                       
+* Emacs Octave Support::                       
 @c * Grammar::                     
 * Copying::                     The GNU General Public License.
 * Concept Index::               An item for each concept.
 * Function Index::              An item for each documented function.
 * Operator Index::              An item for each documented operator.
 
-@c FIXME -- is the detailed node listing up to date?
 @detailmenu
  --- The Detailed Node Listing ---
 
@@ -204,7 +206,7 @@
 * How You Can Contribute to Octave::  
 * Distribution::                
 
-A Brief Introduction to Octave
+Introduction
 
 * Running Octave::              
 * Simple Examples::             
@@ -250,6 +252,12 @@
 * Customizing the Prompt::      
 * Diary and Echo Commands::     
 
+Comments
+
+* Single Line Comments::
+* Block Comments::
+* Comments and the Help System::                    
+
 Data Types
 
 * Built-in Data Types::         
@@ -259,8 +267,10 @@
 Built-in Data Types
 
 * Numeric Objects::             
+* Missing Data::                
 * String Objects::              
 * Data Structure Objects::      
+* Cell Array Objects::          
 
 Numeric Data Types
 
@@ -277,20 +287,51 @@
 
 * Empty Matrices::              
 
+Integer Data Types
+
+* Integer Arithmetic::
+
 Strings
 
-* Creating Strings::            
-* Comparing Strings::
+* Escape Sequences in string constants::
+* Character Arrays::
+* Creating Strings:: 
+* Comparing Strings::           
 * Manipulating Strings::     
 * String Conversions::          
 * Character Class Functions::   
 
+Creating Strings
+
+* Concatenating Strings:: 
+* Conversion of Numerical Data to Strings::
+
 Data Containers
 
 * Data Structures::
 * Cell Arrays::
 * Comma Separated Lists::
 
+Data Structures
+
+* Structure Arrays::
+* Creating Structures::
+* Manipulating Structures::
+* Processing Data in Structures::
+
+Cell Arrays
+
+* Creating Cell Arrays::                 
+* Indexing Cell Arrays::
+* Cell Arrays of Strings::
+* Processing Data in Cell Arrays::
+
+Variables
+
+* Global Variables::            
+* Persistent Variables::        
+* Status of Variables::         
+
 Expressions
 
 * Index Expressions::           
@@ -304,11 +345,6 @@
 
 Calling Functions
 
-Variables
-
-* Global Variables::            
-* Status of Variables::         
-
 * Call by Value::               
 * Recursion::                   
 
@@ -317,39 +353,76 @@
 * Element-by-element Boolean Operators::  
 * Short-circuit Boolean Operators::  
 
+Evaluation
+
+* Calling a Function by its Name::
+* Evaluation in a Different Context::
+
 Statements
 
-* The if Statement::            
-* The switch Statement::        
-* The while Statement::         
-* The do-until Statement::      
-* The for Statement::           
-* The break Statement::         
-* The continue Statement::      
-* The unwind_protect Statement::  
-* The try Statement::           
+* The @code{if} Statement::            
+* The @code{switch} Statement::        
+* The @code{while} Statement::         
+* The @code{do-until} Statement::      
+* The @code{for} Statement::           
+* The @code{break} Statement::         
+* The @code{continue} Statement::      
+* The @code{unwind_protect} Statement::  
+* The @code{try} Statement::           
 * Continuation Lines::          
 
+The @code{switch} Statement
+
+* Notes for the C programmer::  
+
 The @code{for} Statement
 
 * Looping Over Structure Elements::  
 
-Functions and Script Files
+Functions and Scripts
 
 * Defining Functions::          
 * Multiple Return Values::      
 * Variable-length Argument Lists::  
 * Variable-length Return Lists::  
 * Returning From a Function::   
+* Default Arguments::   
 * Function Files::              
 * Script Files::                
+* Function Handles Inline Functions and Anonymous Functions::
+* Commands::
 * Organization of Functions::   
 
+Function Files
+
+* Manipulating the load path::
+* Subfunctions::
+* Private Functions::
+* Overloading and Autoloading::
+* Function Locking::
+* Function Precedence::
+
+Function Handles Inline Functions and Anonymous Functions
+
+* Function Handles::
+* Anonymous Functions::
+* Inline Functions::
+
 Errors and Warnings
 
 * Handling Errors::
 * Handling Warnings::
 
+Handling Errors
+
+* Raising Errors::
+* Catching Errors::
+
+Handling Warnings
+
+* Issuing Warnings::
+* Enabling and Disabling Warnings::
+
 Debugging
 
 * Entering Debug Mode::
@@ -368,6 +441,15 @@
 * Terminal Output::             
 * Terminal Input::              
 * Simple File I/O::             
+* Rational Approximations::
+
+Terminal Output
+
+* Paging Screen Output::
+
+Simple File I/O
+
+* Saving Data on Unexpected Exits::
 
 C-Style I/O Functions
 
@@ -396,6 +478,68 @@
 * Plotting Basics::
 * Advanced Plotting::
 
+Plotting Basics
+
+* Two-Dimensional Plots::       
+* Three-Dimensional Plotting::  
+* Plot Annotations::            
+* Multiple Plots on One Page::  
+* Multiple Plot Windows::       
+* Printing Plots::              
+* Interacting with plots::
+* Test Plotting Functions::     
+
+Two-Dimensional Plots
+
+* Two-dimensional Function Plotting::
+
+Three-Dimensional Plotting
+
+* Three-dimensional Function Plotting::
+* Three-dimensional Geometric Shapes::
+
+Advanced Plotting
+
+* Graphics Objects::
+* Graphics Object Properties::  
+* Managing Default Properties::  
+* Colors::
+* Line Styles::
+* Marker Styles::
+* Callbacks::
+* Object Groups::
+* Graphics backends::
+
+Graphics Object Properties
+
+* Root Figure Properties::      
+* Figure Properties::           
+* Axes Properties::             
+* Line Properties::             
+* Text Properties::             
+* Image Properties::            
+* Patch Properties::            
+* Surface Properties::          
+* Searching Properties::
+
+Object Groups
+
+* Data sources in object groups::
+* Area series::
+* Bar series::
+* Contour groups::
+* Error bar series::
+* Line series::
+* Quiver group::
+* Scatter group::
+* Stair group::
+* Stem Series::
+* Surface group::
+
+Graphics backends
+
+* Interaction with gnuplot::
+
 Matrix Manipulation
 
 * Finding Elements and Checking Conditions::  
@@ -411,6 +555,7 @@
 * Trigonometry::                
 * Sums and Products::           
 * Special Functions::           
+* Coordinate Transformations::
 * Mathematical Constants::      
 
 Linear Algebra
@@ -419,27 +564,57 @@
 * Basic Matrix Functions::      
 * Matrix Factorizations::       
 * Functions of a Matrix::       
+* Specialized Solvers::
 
 Diagonal and Permutation Matrices
 
-* Basic Usage::
-* Matrix Algebra::
-* Function Support::
-* Example Codes::
-* Zeros Treatment::
+* Basic Usage::          Creation and Manipulation of Diagonal and Permutation Matrices
+* Matrix Algebra::       Linear Algebra with Diagonal and Permutation Matrices
+* Function Support::     Functions That Are Aware of These Matrices
+* Example Codes::        Some Examples of Usage
+* Zeros Treatment::      The Differences in Treatment of Zero Elements
+
+Basic Usage
+
+* Creating Diagonal Matrices::
+* Creating Permutation Matrices::
+* Explicit and Implicit Conversions::
+
+Matrix Algebra
+
+* Expressions Involving Diagonal Matrices::
+* Expressions Involving Permutation Matrices::
+
+Function Support
+
+* Diagonal Matrix Functions::
+* Permutation Matrix Functions::
 
 Sparse Matrices
 
-* Basics::
-* Sparse Linear Algebra::
-* Iterative Techniques::
-* Real Life Example::
+* Basics::                      Creation and Manipulation of Sparse Matrices
+* Sparse Linear Algebra::       Linear Algebra on Sparse Matrices
+* Iterative Techniques::        Iterative Techniques
+* Real Life Example::           Using Sparse Matrices
+
+Basics
+
+* Storage of Sparse Matrices::
+* Creating Sparse Matrices::
+* Information::
+* Operators and Functions::
+
+Operators and Functions
+
+* Sparse Functions::            
+* Return Types of Operators and Functions::  
+* Mathematical Considerations::  
 
 Numerical Integration
 
-* Functions of One Variable::   
+* Functions of One Variable:: 
+* Functions of Multiple Variables:: 
 * Orthogonal Collocation::      
-* Functions of Multiple Variables:: 
 
 Differential Equations
 
@@ -448,6 +623,7 @@
 
 Optimization
 
+* Linear Programming::       
 * Quadratic Programming::       
 * Nonlinear Programming::       
 * Linear Least Squares::        
@@ -487,6 +663,11 @@
 * Convex Hull::
 * Interpolation on Scattered Data::
 
+Delaunay Triangulation
+
+* Plotting the Triangulation::
+* Identifying points in Triangulation::
+
 Image Processing
 
 * Loading and Saving Images::   
@@ -497,11 +678,17 @@
 
 Object Oriented Programming
 
-* Creating a Class:
+* Creating a Class::
 * Manipulating Classes::
 * Indexing Objects::
 * Overloading Objects::
 
+Overloading Objects
+
+* Function Overloading::
+* Operator Overloading::
+* Precedence of Objects::
+
 System Utilities
 
 * Timing Utilities::            
@@ -519,19 +706,54 @@
 
 Packages
 
-* Installing and Removing Packages::
-* Using Packages::
-* Administrating Packages::
-* Creating Packages::
+* Installing and Removing Packages::  
+* Using Packages::              
+* Administrating Packages::     
+* Creating Packages::           
+
+Creating Packages
+
 * The DESCRIPTION File::        
 * The INDEX file::              
 * PKG_ADD and PKG_DEL directives::  
 
 Dynamically Linked Functions
 
-* Oct-Files::
-* Mex-Files::
-* Standalone Programs::
+* Oct-Files::                   
+* Mex-Files::                   
+* Standalone Programs::         
+
+Oct-Files
+
+* Getting Started with Oct-Files::  
+* Matrices and Arrays in Oct-Files::  
+* Character Strings in Oct-Files::  
+* Cell Arrays in Oct-Files::    
+* Structures in Oct-Files::  
+* Sparse Matrices in Oct-Files::  
+* Accessing Global Variables in Oct-Files::  
+* Calling Octave Functions from Oct-Files::  
+* Calling External Code from Oct-Files::  
+* Allocating Local Memory in Oct-Files::  
+* Input Parameter Checking in Oct-Files::  
+* Exception and Error Handling in Oct-Files::  
+* Documentation and Test of Oct-Files::  
+
+Sparse Matrices in Oct-Files
+
+* Array and Sparse Differences::  
+* Creating Sparse Matrices in Oct-Files::  
+* Using Sparse Matrices in Oct-Files::  
+
+Mex-Files
+
+* Getting Started with Mex-Files::  
+* Working with Matrices and Arrays in Mex-Files::  
+* Character Strings in Mex-Files::  
+* Cell Arrays with Mex-Files::  
+* Structures with Mex-Files::  
+* Sparse Matrices with Mex-Files::  
+* Calling Other Functions in Mex-Files::  
 
 Test and Demo Functions
 
@@ -542,11 +764,19 @@
 
 * Style Tips::                  Writing clean and robust programs.
 * Coding Tips::                 Making code run faster.
-* Documentation Tips::          Writing readable documentation strings.
 * Comment Tips::                Conventions for writing comments.
 * Function Headers::            Standard headers for functions.
+* Documentation Tips::          Writing readable documentation strings.
 
-Known Causes of Trouble with Octave
+Contributing Guidelines
+
+* How to Contribute::
+* General Guidelines::
+* Octave Sources (m-files)::
+* C++ Sources::
+* Other Sources::	
+
+Trouble
 
 * Actual Bugs::                 Bugs we will fix later.
 * Reporting Bugs::              
@@ -563,7 +793,7 @@
 * Reporting: Bug Reporting.     How to report a bug effectively.
 * Patches: Sending Patches.     How to send a patch for Octave.
 
-Installing Octave
+Installation
 
 * Installation Problems::       
 
@@ -573,11 +803,6 @@
 * Using Octave Mode::           
 * Running Octave From Within Emacs::  
 * Using the Emacs Info Reader for Octave::  
-
-@c Grammar
-@c 
-@c * Keywords::                    
-
 @end detailmenu
 @end menu
 
@@ -625,10 +850,8 @@
 @c
 @c @include amuse.texi
 
-@c Appendices start here.  Installation and bugs have to go before the
-@c readline and Info appendices because we want to have separate indices
-@c for them, and there appears to be no way to go back to the original
-@c set of indices once a redirection has taken place.
+@c ------------------------------------------------------------------------
+@c Appendices start here. 
 
 @include dynamic.texi
 @include testfun.texi
@@ -640,6 +863,9 @@
 @c @include grammar.texi
 @include gpl.texi
 
+@c ------------------------------------------------------------------------
+@c Indices start here. 
+
 @include cp-idx.texi
 @c @include vr-idx.texi
 @include fn-idx.texi
--- a/doc/interpreter/plot.txi
+++ b/doc/interpreter/plot.txi
@@ -23,8 +23,8 @@
 @cindex graphics
 
 @menu
-* Plotting Basics::             
-* Advanced Plotting::           
+* Plotting Basics::
+* Advanced Plotting::
 @end menu
 
 @node Plotting Basics
@@ -225,7 +225,7 @@
 
 Octave can plot a function from a function handle inline function or
 string defining the function without the user needing to explicitly
-create the data to be plotted. The function @code{fplot} also generates
+create the data to be plotted.  The function @code{fplot} also generates
 two-dimensional plots with linear axes using a function name and limits
 for the range of the x-coordinate instead of the x and y data.  For
 example,
@@ -476,7 +476,7 @@
 @subsection Interacting with plots
 
 The user can select points on a plot with the @code{ginput} function or
-selction the position at which to place text on the plot with the
+selection the position at which to place text on the plot with the
 @code{gtext} function using the mouse.
 
 @DOCSTRING(ginput)
@@ -668,7 +668,7 @@
 
 @DOCSTRING(drawnow)
 
-Only figures that are modified will be updated. The @code{refresh}
+Only figures that are modified will be updated.  The @code{refresh}
 function can also be to force an update of the current figure, even if
 it is nor modified.
 
@@ -702,7 +702,7 @@
 @DOCSTRING(ishold)
 
 To clear the current figure, call the @code{clf} function.  To clear the
-current axis, call the @code{cla} function. To bring the current fingure
+current axis, call the @code{cla} function.  To bring the current figure
 to the top of the window stack, call the @code{shg} function.  To delete
 a graphics object, call @code{delete} on its index.  To close the
 figure window, call the @code{close} function.
@@ -983,28 +983,28 @@
 The size of the font, in points to use.
 
 @item fontangle
-Flag whether the font is italic or normal. Valid values are 'normal',
+Flag whether the font is italic or normal.  Valid values are 'normal',
 'italic' and 'oblique'.
 
 @item fontweight
-Flag whether the font is bold, etc. Valid values are 'normal', 'bold',
+Flag whether the font is bold, etc.  Valid values are 'normal', 'bold',
 'demi' or 'light'.
 
 @item interpreter
-Determines how the text is rendered. Valid values are 'none', 'tex' or
+Determines how the text is rendered.  Valid values are 'none', 'tex' or
 'latex'.
 @end table
 
 All text objects, including titles, labels, legends, and text, include
 the property 'interpreter', this property determines the manner in which
-special control sequences in the text are rendered. If the interpreter
-is set to 'none', then no rendering occurs. At this point the 'latex'
+special control sequences in the text are rendered.  If the interpreter
+is set to 'none', then no rendering occurs.  At this point the 'latex'
 option is not implemented and so the 'latex' interpreter also does not
 interpret the text.
 
 The 'tex' option implements a subset of @sc{TeX} functionality in the
-rendering of the text. This allows the insertion of special characters
-such as Greek or mathematical symbols within the text. The special
+rendering of the text.  This allows the insertion of special characters
+such as Greek or mathematical symbols within the text.  The special
 characters are also inserted with a code starting with the back-slash
 (\) character, as in the table @ref{tab:extended}. 
 
@@ -1019,13 +1019,13 @@
 @end multitable
 
 These are be used in conjunction with the @{ and @} characters to limit
-the change in the font to part of the string. For example
+the change in the font to part of the string.  For example
 
 @example
 xlabel ('@{\bf H@} = a @{\bf V@}')
 @end example
 
-where the character 'a' will not appear in a bold font. Note that to
+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.
 
@@ -1038,9 +1038,9 @@
 @end multitable
 
 Finally, the superscript and subscripting can be controlled with the '^'
-and '_' characters. If the '^' or '_' is followed by a @{ character,
+and '_' characters.  If the '^' or '_' is followed by a @{ character,
 then all of the block surrounded by the @{ @} pair is super- or
-sub-scripted. Without the @{ @} pair, only the character immediately
+sub-scripted.  Without the @{ @} pair, only the character immediately
 following the '^' or '_' is super- or sub-scripted.
 
 @float Table,tab:extended
@@ -1464,7 +1464,7 @@
 @cindex callbacks
 
 Callback functions can be associated with graphics objects and triggered
-after certain events occur. The basic structure of all callback function
+after certain events occur.  The basic structure of all callback function
 is 
 
 @example
@@ -1476,9 +1476,9 @@
 @end example
 
 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
+@code{code} gives some event specific data.  This can then be associated
 with an object either at the objects creation or later with the
-@code{set} function. For example
+@code{set} function.  For example
 
 @example
 plot (x, "DeleteFcn", @@(s, e) disp("Window Deleted"))
@@ -1489,7 +1489,7 @@
 Deleted" will be displayed.
 
 Additional user arguments can be passed to callback functions, and will
-be passed after the 2 default arguments. For example
+be passed after the 2 default arguments.  For example
 
 @example
 plot (x, "DeleteFcn", @{@@mycallback, "1"@})
@@ -1505,9 +1505,9 @@
 @itemize @bullet
 @item CreateFcn
 This is the callback that is called at the moment of the objects
-creation. It is not called if the object is altered in any way, and so
+creation.  It is not called if the object is altered in any way, and so
 it only makes sense to define this callback in the function call that
-defines the object. Callbacks that are added to @code{CreateFcn} later with
+defines the object.  Callbacks that are added to @code{CreateFcn} later with
 the @code{set} function will never be executed.
 
 @item DeleteFcn
@@ -1515,7 +1515,7 @@
 
 @item ButtonDownFcn
 This is the callback that is called if a mouse button is pressed while
-the pointer is over this object. Note, that the gnuplot interface does
+the pointer is over this object.  Note, that the gnuplot interface does
 not respect this callback.
 @end itemize
 
@@ -1537,7 +1537,7 @@
 A number of Octave high level plot functions return groups of other
 graphics objects or they return graphics objects that are have their
 properties linked in such a way that changes to one of the properties
-results in changes in the others. A graphic object that groups other
+results in changes in the others.  A graphic object that groups other
 objects is an @code{hggroup}
 
 @DOCSTRING(hggroup)
@@ -1556,17 +1556,17 @@
 @end example
 
 @noindent
-which groups the two plots into a single object and contols their
-visiblity directly. The default properties of an @code{hggroup} are
+which groups the two plots into a single object and controls their
+visibility directly.  The default properties of an @code{hggroup} are
 the same as the set of common properties for the other graphics
-objects. Additional properties can be added with the @code{addproperty}
+objects.  Additional properties can be added with the @code{addproperty}
 function. 
 
 @DOCSTRING(addproperty)
 
 Once a property in added to an @code{hggroup}, it is not linked to any
 other property of either the children of the group, or any other
-graphics object. Add so to control the way in which this newly added
+graphics object.  Add so to control the way in which this newly added
 property is used, the @code{addlistener} function is used to define a
 callback function that is executed when the property is altered.
 
@@ -1594,7 +1594,7 @@
 
 @noindent
 that adds a @code{linestyle} property to the @code{hggroup} and
-propagating any changes its its value to the children of the group. The
+propagating any changes its value to the children of the group.  The
 @code{linkprop} function can be used to simplify the above to be
 
 @example
@@ -1624,9 +1624,9 @@
 @noindent
 For example the @code{stem} function creates a stem series where each
 @code{hggroup} of the stem series contains two line objects representing
-the body and head of the stem. The @code{ydata} property of the
+the body and head of the stem.  The @code{ydata} property of the
 @code{hggroup} of the stem series represents the head of the stem,
-whereas the body of the stem is between the baseline and this value. For
+whereas the body of the stem is between the baseline and this value.  For
 example
 
 @example
@@ -1640,17 +1640,17 @@
 @end example
 
 @noindent
-shows the the difference between the @code{xdata} of the @code{hggroup}
+shows the difference between the @code{xdata} of the @code{hggroup}
 of a stem series object and the underlying line.
 
 The basic properties of such group objects is that they consist of one 
 or more linked @code{hggroup}, and that changes in certain properties of
-these groups are propagated to other members of the group. Whereas,
+these groups are propagated to other members of the group.  Whereas,
 certain properties of the members of the group only apply to the current
 member.
 
 In addition the members of the group can also be linked to other
-graphics objects through callback functions. For example the baseline of
+graphics objects through callback functions.  For example the baseline of
 the @code{bar} or @code{stem} functions is a line object, whose length
 and position are automatically adjusted, based on changes to the
 corresponding hggroup elements.
@@ -1673,7 +1673,7 @@
 @subsubsection Data sources in object groups
 @cindex data sources in object groups
 
-All of the group objects contain data source parameters. There are
+All of the group objects contain data source parameters.  There are
 string parameters that contain an expression that is evaluated to update
 the relevant data property of the group when the @code{refreshdata}
 function is called. 
@@ -1690,8 +1690,8 @@
 @cindex series objects
 @cindex area series
 
-Area series objects are created by the @code{area} function. Each of the
-@code{hggroup} elements contains a single patch object. The properties
+Area series objects are created by the @code{area} function.  Each of the
+@code{hggroup} elements contains a single patch object.  The properties
 of the area series are
 
 @table @code
@@ -1701,11 +1701,11 @@
 @item linewidth
 @itemx linestyle
 The line width and style of the edge of the patch objects making up the
-areas. @xref{Line Styles}.
+areas.  @xref{Line Styles}.
 
 @item edgecolor
 @itemx facecolor
-The line and fill color of the patch objects making up the areas. @xref{Colors}.
+The line and fill color of the patch objects making up the areas.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -1724,7 +1724,7 @@
 @cindex bar series
 
 Bar series objects are created by the @code{bar} or @code{barh}
-functions. Each @code{hgrroup} element contains a single patch object. 
+functions.  Each @code{hggroup} element contains a single patch object. 
 The properties of the bar series are
 
 @table @code
@@ -1732,12 +1732,12 @@
 @itemx baseline
 @itemx basevalue
 The property @code{showbaseline} flags whether the baseline of the bar
-series is displayed (default is "on"). The handle of the graphics object
+series is displayed (default is "on").  The handle of the graphics object
 representing the baseline is given by the @code{baseline} property and
 the y-value of the baseline by the @code{basevalue} property. 
 
 Changes to any of these property are propagated to the other members of
-the bar series and to the baseline itself. Equally changes in the
+the bar series and to the baseline itself.  Equally changes in the
 properties of the base line itself are propagated to the members of the
 corresponding bar series.
 
@@ -1745,7 +1745,7 @@
 @itemx barlayout
 @itemx horizontal
 The property @code{barwidth} is the width of the bar corresponding to
-the @var{width} variable passed to @code{bar} or @var{barh}. Whether the
+the @var{width} variable passed to @code{bar} or @var{barh}.  Whether the
 bar series is "grouped" or "stacked" is determined by the
 @code{barlayout} property and whether the bars are horizontal or
 vertical by the @code{horizontal} property.
@@ -1756,14 +1756,14 @@
 @item linewidth
 @itemx linestyle
 The line width and style of the edge of the patch objects making up the
-bars. @xref{Line Styles}.
+bars.  @xref{Line Styles}.
 
 @item edgecolor
 @itemx facecolor
-The line and fill color of the patch objects making up the bars. @xref{Colors}.
+The line and fill color of the patch objects making up the bars.  @xref{Colors}.
 
 @item xdata
-The nominal x positions of the bars. Changes in this property and
+The nominal x positions of the bars.  Changes in this property and
 propagated to the other members of the bar series. 
 
 @item ydata
@@ -1780,8 +1780,8 @@
 @cindex contour series
 
 Contour group objects are created by the @code{contour}, @code{contourf}
-and @code{contour3} functions. The are equally one of the handles returned
-by the @code{surfc} and @code{meshc} functions. The properties of the contour
+and @code{contour3} functions.  The are equally one of the handles returned
+by the @code{surfc} and @code{meshc} functions.  The properties of the contour
 group are
 
 @table @code
@@ -1796,9 +1796,9 @@
 @item zlevelmode
 @itemx zlevel
 The radio property @code{zlevelmode} can have the values "none", "auto" or 
-"manual". When its value is "none" there is no z component to the plotted
-contours. When its value is "auto" the z value of the plotted contours is 
-at the same value as the contour itself. If the value is "manual", then the
+"manual".  When its value is "none" there is no z component to the plotted
+contours.  When its value is "auto" the z value of the plotted contours is 
+at the same value as the contour itself.  If the value is "manual", then the
 z value at which to plot the contour is determined by the @code{zlevel}
 property.
 
@@ -1806,10 +1806,10 @@
 @itemx levellist
 @itemx levelstepmode
 @itemx levelstep
-If @code{levellistmode} is "manual", then the levels at whch to plot the 
-contours is determined by @code{levellist}. If @code{levellistmode} is
+If @code{levellistmode} is "manual", then the levels at which to plot the 
+contours is determined by @code{levellist}.  If @code{levellistmode} is
 set to "auto", then the distance between contours is determined by 
-@code{levelstep}. If both @code{levellistmode} and @code{levelstepmode}
+@code{levelstep}.  If both @code{levellistmode} and @code{levelstepmode}
 are set to "auto", then there are assumed to be 10 equal spaced contours.
 
 @item textlistmode
@@ -1817,9 +1817,9 @@
 @itemx textstepmode
 @itemx textstep
 If @code{textlistmode} is "manual", then the labelled contours 
-is determined by @code{textlist}. If @code{textlistmode} is set to 
+is determined by @code{textlist}.  If @code{textlistmode} is set to 
 "auto", then the distance between labelled contours is determined by 
-@code{textstep}. If both @code{textlistmode} and @code{textstepmode}
+@code{textstep}.  If both @code{textlistmode} and @code{textstepmode}
 are set to "auto", then there are assumed to be 10 equal spaced 
 labelled contours.
 
@@ -1832,11 +1832,11 @@
 @item linewidth
 @item linestyle
 @item linecolor
-The properties of the contour lines. The properties @code{linewidth} and
-@code{linestyle} are similar to the correponding properties for lines. The
+The properties of the contour lines.  The properties @code{linewidth} and
+@code{linestyle} are similar to the corresponding properties for lines.  The
 property @code{linecolor} is a color property (@pxref{Colors}), that can also
-have the values of "none" or "auto". If @code{linecolor} is "none", then no
-contour line is drawn. If @code{linecolor} is "auto" then the line color is
+have the values of "none" or "auto".  If @code{linecolor} is "none", then no
+contour line is drawn.  If @code{linecolor} is "auto" then the line color is
 determined by the colormap.
 
 @item xdata
@@ -1855,23 +1855,23 @@
 @cindex series objects
 @cindex error bar series
 
-Error bar series are created by the @code{errorbar} function. Each 
-@code{hgrroup} element contains two line objects represnting the data and
-the errorbars separately. The properties of the error bar series are
+Error bar series are created by the @code{errorbar} function.  Each 
+@code{hggroup} element contains two line objects representing the data and
+the errorbars separately.  The properties of the error bar series are
 
 @table @code
 @item color
-The RGB color or color name of the line objects of the error bars. @xref{Colors}.
+The RGB color or color name of the line objects of the error bars.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the line objects of the error bars. @xref{Line Styles}.
+The line width and style of the line objects of the error bars.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
 @itemx markersize
-The line and fill color of the markers on the error bars. @xref{Colors}.
+The line and fill color of the markers on the error bars.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -1896,22 +1896,22 @@
 @cindex line series
 
 Line series objects are created by the @code{plot}  and @code{plot3}
-functions and are of the type @code{line}. The properties of the
+functions and are of the type @code{line}.  The properties of the
 line series with the ability to add data sources.
 
 @table @code
 @item color
-The RGB color or color name of the line objects. @xref{Colors}.
+The RGB color or color name of the line objects.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the line objects. @xref{Line Styles}.
+The line width and style of the line objects.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
 @itemx markersize
-The line and fill color of the markers. @xref{Colors}.
+The line and fill color of the markers.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -1930,38 +1930,38 @@
 @cindex quiver group
 
 Quiver series objects are created by the @code{quiver} or @code{quiver3}
-functions. Each @code{hggroup} element of the series contains three line
+functions.  Each @code{hggroup} element of the series contains three line
 objects as children representing the body and head of the arrow,
-together with a marker as the point of original of the arrows. The 
+together with a marker as the point of original of the arrows.  The 
 properties of the quiver series are
 
 @table @code
 @item autoscale
 @itemx autoscalefactor
 Flag whether the length of the arrows is scaled or defined directly from
-the @var{u}, @var{v} and @var{w} data. If the arrow length is falgged
+the @var{u}, @var{v} and @var{w} data.  If the arrow length is flagged
 as being scaled by the @code{autoscale} property, then the length of the
 autoscaled arrow is controlled by the @code{autoscalefactor}. 
 
 @item maxheadsize
 This property controls the size of the head of the arrows in the quiver
-series. The default value is 0.2.
+series.  The default value is 0.2.
 
 @item showarrowhead
 Flag whether the arrow heads are displayed in the quiver plot.
 
 @item color
-The RGB color or color name of the line objects of the quiver. @xref{Colors}.
+The RGB color or color name of the line objects of the quiver.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the line objects of the quiver. @xref{Line Styles}.
+The line width and style of the line objects of the quiver.  @xref{Line Styles}.
 
 @item marker
 @itemx markerfacecolor
 @itemx markersize
 The line and fill color of the marker objects at the original of the
-arrows. @xref{Colors}.
+arrows.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -1988,18 +1988,18 @@
 @cindex scatter group
 
 Scatter series objects are created by the @code{scatter} or @code{scatter3}
-functions. A single hggroup element contains as many children as there are
+functions.  A single hggroup element contains as many children as there are
 points in the scatter plot, with each child representing one of the points.
 The properties of the stem series are
 
 @table @code
 @item linewidth
-The line width of the line objects of the points. @xref{Line Styles}.
+The line width of the line objects of the points.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
-The line and fill color of the markers of the points. @xref{Colors}.
+The line and fill color of the markers of the points.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -2007,11 +2007,11 @@
 The original x, y and z data of the stems.
 
 @item cdata
-The color data for the points of the plot. Each point can have a separate
+The color data for the points of the plot.  Each point can have a separate
 color, or a unique color can be specified.
 
 @item sizedata
-The size data for the points of the plot. Each point can its own size or a 
+The size data for the points of the plot.  Each point can its own size or a 
 unique size can be specified.
 
 @item xdatasource
@@ -2027,23 +2027,23 @@
 @cindex group objects
 @cindex stair group
 
-Stair series objects are created by the @code{stair} function. Each
+Stair series objects are created by the @code{stair} function.  Each
 @code{hggroup} element of the series contains a single line object as a
-child representing the stair. The properties of the stair series are
+child representing the stair.  The properties of the stair series are
 
 @table @code
 @item color
-The RGB color or color name of the line objects of the stairs. @xref{Colors}.
+The RGB color or color name of the line objects of the stairs.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the line objects of the stairs. @xref{Line Styles}.
+The line width and style of the line objects of the stairs.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
 @itemx markersize
-The line and fill color of the markers on the stairs. @xref{Colors}.
+The line and fill color of the markers on the stairs.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -2060,8 +2060,8 @@
 @cindex stem series
 
 Stem series objects are created by the @code{stem} or @code{stem3}
-functions. Each @code{hgrroup} element contains a single line object
-as a child respresenting the stems. The properties of the stem series
+functions.  Each @code{hggroup} element contains a single line object
+as a child representing the stems.  The properties of the stem series
 are
 
 @table @code
@@ -2069,28 +2069,28 @@
 @itemx baseline
 @itemx basevalue
 The property @code{showbaseline} flags whether the baseline of the
-stem series is displayed (default is "on"). The handle of the graphics
+stem series is displayed (default is "on").  The handle of the graphics
 object representing the baseline is given by the @code{baseline}
 property and the y-value (or z-value for @code{stem3}) of the baseline
 by the @code{basevalue} property.
 
 Changes to any of these property are propagated to the other members of
-the stem series and to the baseline itself. Equally changes in the
+the stem series and to the baseline itself.  Equally changes in the
 properties of the base line itself are propagated to the members of the
 corresponding stem series.
 
 @item color
-The RGB color or color name of the line objects of the stems. @xref{Colors}.
+The RGB color or color name of the line objects of the stems.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the line objects of the stems. @xref{Line Styles}.
+The line width and style of the line objects of the stems.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
 @itemx markersize
-The line and fill color of the markers on the stems. @xref{Colors}.
+The line and fill color of the markers on the stems.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
@@ -2110,24 +2110,24 @@
 
 Surface group objects are created by the @code{surf} or @code{mesh}
 functions, but are equally one of the handles returned by the @code{surfc}
-or @code{meshc} functions. The surface group is of the type @code{surface}.
+or @code{meshc} functions.  The surface group is of the type @code{surface}.
 
 The properties of the surface group are
 
 @table @code
 @item edgecolor
 @item facecolor
-The RGB color or color name of the edges or faces of the surface. @xref{Colors}.
+The RGB color or color name of the edges or faces of the surface.  @xref{Colors}.
 
 @item linewidth
 @itemx linestyle
-The line width and style of the lines on the surface. @xref{Line Styles}.
+The line width and style of the lines on the surface.  @xref{Line Styles}.
 
 @item marker
 @itemx markeredgecolor
 @itemx markerfacecolor
 @itemx markersize
-The line and fill color of the markers on the surface. @xref{Colors}.
+The line and fill color of the markers on the surface.  @xref{Colors}.
 
 @item xdata
 @itemx ydata
--- a/doc/interpreter/preface.txi
+++ b/doc/interpreter/preface.txi
@@ -57,10 +57,10 @@
 people to do more ambitious computations just as easily.
 
 Everyone is encouraged to share this software with others under the
-terms of the GNU General Public License (@pxref{Copying}) as described
-at the beginning of this manual.  You are also encouraged to help make
-Octave more useful by writing and contributing additional functions for
-it, and by reporting any problems you may have.
+terms of the GNU General Public License (@pxref{Copying}).  You are 
+also encouraged to help make Octave more useful by writing and 
+contributing additional functions for it, and by reporting any problems
+you may have.
 
 @menu
 * Acknowledgements::            
@@ -73,7 +73,7 @@
 @cindex acknowledgements
 
 Many people have already contributed to Octave's development.  The
-following people have helped write parts of Octave or helped out in
+following people have helped code parts of Octave or aided in
 various other ways (listed alphabetically).
 
 @include contributors.texi
@@ -142,7 +142,7 @@
 @end itemize
 
 This project would not have been possible without the GNU software used
-in and used to produce Octave.
+in and to produce Octave.
 
 @node How You Can Contribute to Octave
 @unnumberedsec How You Can Contribute to Octave
@@ -152,7 +152,8 @@
 There are a number of ways that you can contribute to help make Octave a
 better system.  Perhaps the most important way to contribute is to write
 high-quality code for solving new problems, and to make your code freely
-available for others to use.
+available for others to use.  @xref{Contributing Guidelines}, for detailed 
+information on contributing new code.
 
 If you find Octave useful, consider providing additional funding to
 continue its development.  Even a modest amount of additional funding
@@ -169,15 +170,16 @@
 @cindex distribution of Octave
 
 Octave is @dfn{free} software.  This means that everyone is free to
-use it and free to redistribute it on certain conditions.  Octave is not
-in the public domain.  It is copyrighted and there are restrictions on
-its distribution, but the restrictions are designed to ensure that
-others will have the same freedom to use and redistribute Octave that
-you have.  The precise conditions can be found in the GNU General Public
-License that comes with Octave and that also appears in @ref{Copying}.
+use it and free to redistribute it on certain conditions.  Octave 
+is not, however, in the public domain.  It is copyrighted and there are
+restrictions on its distribution, but the restrictions are designed to 
+ensure that others will have the same freedom to use and redistribute 
+Octave that you have.  The precise conditions can be found in the 
+GNU General Public License that comes with Octave and that also appears 
+in @ref{Copying}.
 
-Octave is available on CD-ROM with various collections of other free
-software, and from the Free Software Foundation.  Ordering a copy of
+Octave is available on CD-ROM, with various collections of other free
+software, from the Free Software Foundation.  Ordering a copy of
 Octave from the Free Software Foundation helps to fund the development
 of more free software.  For more information, write to
 
@@ -189,4 +191,4 @@
 @end quotation
 
 Octave can also be downloaded from @url{http://www.octave.org}, where
-additional information also is available.
+additional information is available.
--- a/doc/interpreter/set.txi
+++ b/doc/interpreter/set.txi
@@ -26,7 +26,7 @@
 @DOCSTRING(unique)
 
 @menu
-* Set Operations:: 
+* Set Operations::
 @end menu
 
 @node Set Operations
--- a/doc/interpreter/stmt.txi
+++ b/doc/interpreter/stmt.txi
@@ -47,19 +47,19 @@
 @dfn{body} of a control statement.
 
 @menu
-* The if Statement::            
-* The switch Statement::        
-* The while Statement::         
-* The do-until Statement::      
-* The for Statement::           
-* The break Statement::         
-* The continue Statement::      
-* The unwind_protect Statement::  
-* The try Statement::           
+* The @code{if} Statement::            
+* The @code{switch} Statement::        
+* The @code{while} Statement::         
+* The @code{do-until} Statement::      
+* The @code{for} Statement::           
+* The @code{break} Statement::         
+* The @code{continue} Statement::      
+* The @code{unwind_protect} Statement::  
+* The @code{try} Statement::           
 * Continuation Lines::          
 @end menu
 
-@node The if Statement
+@node The @code{if} Statement
 @section The @code{if} Statement
 @cindex @code{if} statement
 @cindex @code{else} statement
@@ -208,7 +208,7 @@
 using the indentation to show how Octave groups the statements.
 @xref{Functions and Scripts}.
 
-@node The switch Statement
+@node The @code{switch} Statement
 @section The @code{switch} Statement
 @cindex @code{switch} statement
 @cindex @code{case} statement
@@ -216,7 +216,7 @@
 @cindex @code{endswitch} statement
 
 It is very common to take different actions depending on the value of
-one variable. This is possible using the @code{if} statement in the
+one variable.  This is possible using the @code{if} statement in the
 following way
 
 @example
@@ -231,8 +231,8 @@
 
 @noindent
 This kind of code can however be very cumbersome to both write and
-maintain. To overcome this problem Octave supports the @code{switch}
-statement. Using this statement, the above example becomes
+maintain.  To overcome this problem Octave supports the @code{switch}
+statement.  Using this statement, the above example becomes
 
 @example
 switch (X)
@@ -247,7 +247,7 @@
 
 @noindent
 This code makes the repetitive structure of the problem more explicit,
-making the code easier to read, and hence maintain. Also, if the
+making the code easier to read, and hence maintain.  Also, if the
 variable @code{X} should change its name, only one line would need
 changing compared to one line per case when @code{if} statements are
 used.
@@ -270,16 +270,16 @@
 @end example
 
 @noindent
-where @var{label} can be any expression. However, duplicate
+where @var{label} can be any expression.  However, duplicate
 @var{label} values are not detected, and only the @var{command_list}
-corresponding to the first match will be executed. For the
+corresponding to the first match will be executed.  For the
 @code{switch} statement to be meaningful at least one
 @code{case @var{label} @var{command_list}} clause must be present,
 while the @code{otherwise @var{command_list}} clause is optional.
 
 If @var{label} is a cell array the corresponding @var{command_list}
 is executed if @emph{any} of the elements of the cell array match
-@var{expression}. As an example, the following program will print
+@var{expression}.  As an example, the following program will print
 @samp{Variable is either 6 or 7}.
 
 @example
@@ -299,7 +299,7 @@
 @c Strings can be matched
 
 One advantage of using the @code{switch} statement compared to using
-@code{if} statements is that the @var{label}s can be strings. If an
+@code{if} statements is that the @var{label}s can be strings.  If an
 @code{if} statement is used it is @emph{not} possible to write
 
 @example
@@ -328,7 +328,7 @@
 @subsection Notes for the C programmer
 
 The @code{switch} statement is also available in the widely used C
-programming language. There are, however, some differences
+programming language.  There are, however, some differences
 between the statement in Octave and C
 
 @itemize @bullet
@@ -363,7 +363,7 @@
 @end example
 
 @noindent
-particularly for C programmers. If @code{doit()} should be executed if
+particularly for C programmers.  If @code{doit()} should be executed if
 @var{foo} is either @code{1} or @code{2}, the above code should be
 written with a cell array like this
 
@@ -377,7 +377,7 @@
 @end example
 @end itemize
 
-@node The while Statement
+@node The @code{while} Statement
 @section The @code{while} Statement
 @cindex @code{while} statement
 @cindex @code{endwhile} statement
@@ -446,7 +446,7 @@
 body; but using one makes the program clearer unless the body is very
 simple.
 
-@node The do-until Statement
+@node The @code{do-until} Statement
 @section The @code{do-until} Statement
 @cindex @code{do-until} statement
 
@@ -493,7 +493,7 @@
 body; but using one makes the program clearer unless the body is very
 simple.
 
-@node The for Statement
+@node The @code{for} Statement
 @section The @code{for} Statement
 @cindex @code{for} statement
 @cindex @code{endfor} statement
@@ -548,7 +548,7 @@
 more elements to assign.
 
 Within Octave is it also possible to iterate over matrices or cell arrays
-using the @code{for} statement. For example consider
+using the @code{for} statement.  For example consider
 
 @example
 @group
@@ -565,10 +565,10 @@
 
 @noindent
 In this case the variable @code{i} takes on the value of the columns of
-the matrix or cell matrix. So the first loop iterates twice, producing
+the matrix or cell matrix.  So the first loop iterates twice, producing
 two column vectors @code{[1;2]}, followed by @code{[3;4]}, and likewise
-for the loop over the cell array. This can be extended to loops over
-multidimensional arrays. For example
+for the loop over the cell array.  This can be extended to loops over
+multidimensional arrays.  For example
 
 @example
 @group
@@ -616,7 +616,7 @@
 In this form of the @code{for} statement, the value of @var{expression}
 must be a structure.  If it is, @var{key} and @var{val} are set to the
 name of the element and the corresponding value in turn, until there are
-no more elements. For example,
+no more elements.  For example,
 
 @example
 @group
@@ -650,7 +650,7 @@
 structure elements when the names of the elements do not need to be
 known.
 
-@node The break Statement
+@node The @code{break} Statement
 @section The @code{break} Statement
 @cindex @code{break} statement
 
@@ -705,7 +705,7 @@
 @end group
 @end example
 
-@node The continue Statement
+@node The @code{continue} Statement
 @section The @code{continue} Statement
 @cindex @code{continue} statement
 
@@ -754,7 +754,7 @@
 @end group
 @end example
 
-@node The unwind_protect Statement
+@node The @code{unwind_protect} Statement
 @section The @code{unwind_protect} Statement
 @cindex @code{unwind_protect} statement
 @cindex @code{unwind_protect_cleanup}
@@ -782,7 +782,7 @@
 
 This is useful to protect temporary changes to global variables from
 possible errors.  For example, the following code will always restore
-the original value of the global variable @code{frobnositcate}
+the original value of the global variable @code{frobnosticate}
 even if an error occurs in the first part of the @code{unwind_protect}
 block.
 
@@ -805,7 +805,7 @@
 point of the error and the statement to restore the value would not be
 executed.
 
-@node The try Statement
+@node The @code{try} Statement
 @section The @code{try} Statement
 @cindex @code{try} statement
 @cindex @code{catch}
--- a/doc/interpreter/strings.txi
+++ b/doc/interpreter/strings.txi
@@ -314,7 +314,7 @@
 
 @item @code{strcat} removes trailing white space in the arguments (except
 within cell arrays), while @code{cstrcat} leaves white space untouched.  Both
-kinds of behaviour can be useful as can be seen in the examples:
+kinds of behavior can be useful as can be seen in the examples:
 
 @example
 @group
@@ -377,7 +377,7 @@
 
 @noindent To determine if two strings are identical it is necessary to use the
 @code{strcmp} function.  It compares complete strings and is case
-sensistive.  @code{strncmp} compares only the first @code{N} characters (with
+sensitive.  @code{strncmp} compares only the first @code{N} characters (with
 @code{N} given as a parameter).  @code{strcmpi} and @code{strncmpi} are the
 corresponding functions for case-insensitive comparison.
 
@@ -396,15 +396,17 @@
 
 Octave supports a wide range of functions for manipulating strings.
 Since a string is just a matrix, simple manipulations can be accomplished
-using standard operators. The following example shows how to replace
+using standard operators.  The following example shows how to replace
 all blank characters with underscores.
 
 @example
-quote = ...
+@group
+quote = @dots{}
   "First things first, but not necessarily in that order";
 quote( quote == " " ) = "_"
 @result{} quote = 
     First_things_first,_but_not_necessarily_in_that_order
+@end group
 @end example
 
 For more complex manipulations, such as searching, replacing, and
--- a/doc/interpreter/tips.txi
+++ b/doc/interpreter/tips.txi
@@ -17,7 +17,7 @@
 @c along with Octave; see the file COPYING.  If not, see
 @c <http://www.gnu.org/licenses/>.
 
-@node Tips
+@node Tips and Standards
 @appendix Tips and Standards
 @cindex tips
 @cindex standards of coding style
@@ -126,7 +126,7 @@
 
 If you are using @code{eval} as an exception handling mechanism and not
 because you need to execute some arbitrary text, use the @code{try}
-statement instead.  @xref{The try Statement}.
+statement instead.  @xref{The @code{try} Statement}.
 
 @item
 If you are calling lots of functions but none of them will need to
--- a/doc/interpreter/var.txi
+++ b/doc/interpreter/var.txi
@@ -55,10 +55,10 @@
 @dfn{assignment operators} and @dfn{increment operators}.
 @xref{Assignment Ops, ,Assignment Expressions}.
 
-There is one built-in variable with a special meaning. The @code{ans} variable
+There is one built-in variable with a special meaning.  The @code{ans} variable
 always contains the result of the last computation, where the output wasn't
-assigned to any variable. The code @code{a = cos (pi)} will assign the value -1
-to the variable @code{a}, but will not change the value of @code{ans}. However,
+assigned to any variable.  The code @code{a = cos (pi)} will assign the value -1
+to the variable @code{a}, but will not change the value of @code{ans}.  However,
 the code @code{cos (pi)} will set the value of @code{ans} to -1.
 
 Variables in Octave do not have fixed types, so it is possible to first
@@ -186,7 +186,7 @@
 
 A variable that has been declared @dfn{persistent} within a function
 will retain its contents in memory between subsequent calls to the
-same function. The difference between persistent variables and global
+same function.  The difference between persistent variables and global
 variables is that persistent variables are local in scope to a
 particular function and are not visible elsewhere.
 
@@ -225,7 +225,7 @@
 @end example
 
 The behavior of persistent variables is equivalent to the behavior of
-static variables in C. The command @code{static} in Octave is also
+static variables in C.  The command @code{static} in Octave is also
 recognized and is equivalent to @code{persistent}.
 
 Like global variables, a persistent variable may only be initialized once.
@@ -265,7 +265,7 @@
 
 The value of a persistent variable is kept in memory until it is
 explicitly cleared.  Assuming that the implementation of @code{count_calls}
-is saved on disc, we get the following behaviour.
+is saved on disc, we get the following behavior.
 
 @example
 @group
@@ -312,7 +312,7 @@
 @section Status of Variables
 
 When creating simple one-shot programs it can be very convenient to
-see which variables are available at the prompt. The function @code{who}
+see which variables are available at the prompt.  The function @code{who}
 and its siblings @code{whos} and @code{whos_line_format} will show
 different information about what is in memory, as the following shows.
 
@@ -331,9 +331,9 @@
 @DOCSTRING(whos_line_format)
 
 Instead of displaying which variables are in memory, it is possible
-to determine if a given variable is available. That way it is possible
-to alter the behaviour of a program depending on the existence of a
-variable. The following example illustrates this.
+to determine if a given variable is available.  That way it is possible
+to alter the behavior of a program depending on the existence of a
+variable.  The following example illustrates this.
 
 @example
 if (! exist ("meaning", "var"))
@@ -344,7 +344,7 @@
 @DOCSTRING(exist)
 
 Usually Octave will manage the memory, but sometimes it can be practical
-to remove variables from memory manually. This is usually needed when
+to remove variables from memory manually.  This is usually needed when
 working with large variables that fill a substantial part of the memory.
 On a computer that uses the IEEE floating point format, the following
 program allocates a matrix that requires around 128 MB memory.
@@ -355,13 +355,13 @@
 
 @noindent
 Since having this variable in memory might slow down other computations,
-it can be necessary to remove it manually from memory. The @code{clear}
+it can be necessary to remove it manually from memory.  The @code{clear}
 function allows this.
 
 @DOCSTRING(clear)
 
 Information about a function or variable such as its location in the
-file system can also be acquired from within Octave. This is usually
+file system can also be acquired from within Octave.  This is usually
 only useful during development of programs, and not within a program.
 
 @DOCSTRING(type)
--- a/scripts/general/celldisp.m
+++ b/scripts/general/celldisp.m
@@ -18,8 +18,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} celldisp (@var{c}, @var{name})
-## Recursively display the contents of a cell array. By default the values
-## are displayed with the name of the variable @var{c}. However, this name
+## Recursively display the contents of a cell array.  By default the values
+## are displayed with the name of the variable @var{c}.  However, this name
 ## can be replaced with the variable @var{name}.
 ## @seealso{disp}
 ## @end deftypefn
--- a/scripts/general/circshift.m
+++ b/scripts/general/circshift.m
@@ -22,8 +22,8 @@
 ## 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,
 ## 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
+## shifted.  If an element of @var{n} is zero, then the corresponding
+## dimension of @var{x} will not be shifted.  For example
 ##
 ## @example
 ## @group
--- a/scripts/general/diff.m
+++ b/scripts/general/diff.m
@@ -35,8 +35,8 @@
 ##
 ## The second argument is optional.  If supplied, @code{diff (@var{x},
 ## @var{k})}, where @var{k} is a nonnegative integer, returns the
-## @var{k}-th differences. It is possible that @var{k} is larger than
-## then first non-singleton dimension of the matrix. In this case,
+## @var{k}-th differences.  It is possible that @var{k} is larger than
+## then first non-singleton dimension of the matrix.  In this case,
 ## @code{diff} continues to take the differences along the next
 ## non-singleton dimension.
 ##
--- a/scripts/general/genvarname.m
+++ b/scripts/general/genvarname.m
@@ -49,8 +49,8 @@
 ## @end example
 ##
 ## Note that the result is a char array/cell array of strings, not the
-## variables themselves. To define a variable, @code{eval()} can be
-## used. The following trivial example sets @code{x} to @code{42}.
+## variables themselves.  To define a variable, @code{eval()} can be
+## used.  The following trivial example sets @code{x} to @code{42}.
 ##
 ## @example
 ## @group
@@ -80,7 +80,7 @@
 ##
 ## Since variable names may only contain letters, digits and underscores,
 ## genvarname replaces any sequence of disallowed characters with
-## an underscore. Also, variables may not begin with a digit; in this
+## an underscore.  Also, variables may not begin with a digit; in this
 ## case an underscore is added before the variable name.
 ##
 ## Variable names beginning and ending with two underscores "__" are valid but
@@ -88,9 +88,9 @@
 ## genvarname will not generate such names.
 ##
 ## genvarname will also make sure that returned names do not clash with
-## keywords such as "for" and "if". A number will be appended if necessary.
+## keywords such as "for" and "if".  A number will be appended if necessary.
 ## Note, however, that this does @strong{not} include function names,
-## such as "sin". Such names should be included in @var{avoid} if necessary.
+## such as "sin".  Such names should be included in @var{avoid} if necessary.
 ## @seealso{isvarname, exist, tmpnam, eval}
 ## @end deftypefn
 
--- a/scripts/general/idivide.m
+++ b/scripts/general/idivide.m
@@ -18,12 +18,12 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} idivide (@var{x}, @var{y}, @var{op})
-## Integer division with different round rules. The standard behavior of
+## Integer division with different round rules.  The standard behavior of
 ## the an integer division such as @code{@var{a} ./ @var{b}} is to round
-## the result to the nearest integer. This is not always the desired
+## the result to the nearest integer.  This is not always the desired
 ## behavior and @code{idivide} permits integer element-by-element
 ## division to be performed with different treatment for the fractional
-## part of the division as determined by the @var{op} flag. @var{op} is
+## part of the division as determined by the @var{op} flag.  @var{op} is
 ## a string with one of the values: 
 ##
 ## @table @asis
--- a/scripts/general/rat.m
+++ b/scripts/general/rat.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {@var{s} =} rat (@var{x}, @var{tol})
 ## @deftypefnx {Function File} {[@var{n}, @var{d}] =} rat (@var{x}, @var{tol})
 ##
-## Find a rational approximation to @var{x} within tolerance defined
-## by @var{tol} using a continued fraction expansion. E.g,
+## Find a rational approximation to @var{x} within the tolerance defined
+## by @var{tol} using a continued fraction expansion.  For example,
 ##
 ## @example
 ## rat(pi) = 3 + 1/(7 + 1/16) = 355/113
--- a/scripts/general/repmat.m
+++ b/scripts/general/repmat.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} repmat (@var{A}, @var{m}, @var{n})
 ## @deftypefnx {Function File} {} repmat (@var{A}, [@var{m} @var{n}])
-## @deftypefnx {Function File} {} repmat (@var{A}, [@var{m} @var{n} @var{p} ...])
+## @deftypefnx {Function File} {} repmat (@var{A}, [@var{m} @var{n} @var{p} @dots{}])
 ## Form a block matrix of size @var{m} by @var{n}, with a copy of matrix
 ## @var{A} as each element.  If @var{n} is not specified, form an 
 ## @var{m} by @var{m} block matrix.
--- a/scripts/general/rotdim.m
+++ b/scripts/general/rotdim.m
@@ -22,8 +22,8 @@
 ## 90-degree increments.  The second argument is optional, and specifies
 ## how many 90-degree rotations are to be applied (the default value is 1).
 ## The third argument is also optional and defines the plane of the
-## rotation. As such @var{plane} is a two element vector containing two
-## different valid dimensions of the matrix. If @var{plane} is not given
+## rotation.  As such @var{plane} is a two element vector containing two
+## different valid dimensions of the matrix.  If @var{plane} is not given
 ## Then the first two non-singleton dimensions are used.
 ##
 ## Negative values of @var{n} rotate the matrix in a clockwise direction.
--- a/scripts/general/shiftdim.m
+++ b/scripts/general/shiftdim.m
@@ -20,9 +20,9 @@
 ## @deftypefn {Function File} {@var{y} =} shiftdim (@var{x}, @var{n})
 ## @deftypefnx {Function File} {[@var{y}, @var{ns}] =} shiftdim (@var{x})
 ## Shifts the dimension of @var{x} by @var{n}, where @var{n} must be
-## an integer scalar. When @var{n} is positive, the dimensions of
+## an integer scalar.  When @var{n} is positive, the dimensions of
 ## @var{x} are shifted to the left, with the leading dimensions
-## circulated to the end. If @var{n} is negative, then the dimensions
+## circulated to the end.  If @var{n} is negative, then the dimensions
 ## of @var{x} are shifted to the right, with @var{n} leading singleton
 ## dimensions added.
 ##
--- a/scripts/general/sortrows.m
+++ b/scripts/general/sortrows.m
@@ -21,7 +21,7 @@
 ## @deftypefn {Function File} {} sortrows (@var{a}, @var{c})
 ## Sort the rows of the matrix @var{a} according to the order of the
 ## columns specified in @var{c}.  If @var{c} is omitted, a
-## lexicographical sort is used. By default ascending order is used 
+## lexicographical sort is used.  By default ascending order is used 
 ## however if elements of @var{c} are negative then the corresponding  
 ## column is sorted in descending order.
 ## @end deftypefn
--- a/scripts/general/structfun.m
+++ b/scripts/general/structfun.m
@@ -23,19 +23,19 @@
 ## @deftypefnx {Function File} {} structfun (@dots{}, "UniformOutput", @var{val})
 ## 
 ## Evaluate the function named @var{name} on the fields of the structure
-## @var{s}. The fields of @var{s} are passed to the function @var{func}
+## @var{s}.  The fields of @var{s} are passed to the function @var{func}
 ## individually.
 ##
 ## @code{structfun} accepts an arbitrary function @var{func} in the form of 
 ## an inline function, function handle, or the name of a function (in a 
-## character string). In the case of a character string argument, the 
+## character string).  In the case of a character string argument, the 
 ## function must accept a single argument named @var{x}, and it must return 
-## a string value. If the function returns more than one argument, they are
+## a string value.  If the function returns more than one argument, they are
 ## returned as separate output variables.
 ##
 ## If the parameter "UniformOutput" is set to true (the default), then the function
 ## must return a single element which will be concatenated into the
-## return value. If "UniformOutput" is false, the outputs placed in a structure
+## return value.  If "UniformOutput" is false, the outputs placed in a structure
 ## with the same fieldnames as the input structure.
 ## 
 ## @example
@@ -48,14 +48,14 @@
 ## @end example
 ## 
 ## Given the parameter "ErrorHandler", then @var{errfunc} defines a function to
-## call in case @var{func} generates an error. The form of the function is
+## call in case @var{func} generates an error.  The form of the function is
 ## 
 ## @example
 ## function [@dots{}] = errfunc (@var{se}, @dots{})
 ## @end example
 ## 
 ## 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
+## @var{func}, given by @var{se}.  This is a structure with the elements
 ## "identifier", "message" and "index", giving respectively the error
 ## identifier, the error message, and the index into the input arguments
 ## of the element that caused the error.
--- a/scripts/help/lookfor.m
+++ b/scripts/help/lookfor.m
@@ -17,24 +17,24 @@
 ## -*- texinfo -*-
 ## @deftypefn {Command} lookfor @var{str}
 ## @deftypefnx {Command} lookfor -all @var{str}
-## @deftypefnx {Function} {[@var{fun}, @var{helpstring}] = } lookfor (@var{str})
-## @deftypefnx {Function} {[@var{fun}, @var{helpstring}] = } lookfor ('-all', @var{str})
+## @deftypefnx {Function} {[@var{fun}, @var{helpstring}] =} lookfor (@var{str})
+## @deftypefnx {Function} {[@var{fun}, @var{helpstring}] =} lookfor ('-all', @var{str})
 ## Search for the string @var{str} in all of the functions found in the
 ## function search path.  By default @code{lookfor} searches for @var{str}
-## in the first sentence of the help string of each function found. The entire
+## in the first sentence of the help string of each function found.  The entire
 ## help string of each function found in the path can be searched if
-## the '-all' argument is supplied. All searches are case insensitive.
+## the '-all' argument is supplied.  All searches are case insensitive.
 ## 
 ## Called with no output arguments, @code{lookfor} prints the list of matching
-## functions to the terminal. Otherwise the output arguments @var{fun} and
+## functions to the terminal.  Otherwise the output arguments @var{fun} and
 ## @var{helpstring} define the matching functions and the first sentence of
 ## each of their help strings.
 ## 
 ## Note that the ability of @code{lookfor} to correctly identify the first
 ## sentence of the help of the functions is dependent on the format of the
-## functions help. All of the functions in Octave itself will correctly
+## functions help.  All of the functions in Octave itself will correctly
 ## find the first sentence, but the same can not be guaranteed for other
-## functions. Therefore the use of the '-all' argument might be necessary
+## functions.  Therefore the use of the '-all' argument might be necessary
 ## to find related functions that are not part of Octave.
 ## @seealso{help, which}
 ## @end deftypefn
--- a/scripts/help/type.m
+++ b/scripts/help/type.m
@@ -19,11 +19,11 @@
 ## Display the definition of each @var{name} that refers to a function.
 ## 
 ## Normally also displays whether each @var{name} is user-defined or built-in;
-## the @code{-q} option suppresses this behaviour.
+## the @code{-q} option suppresses this behavior.
 ##
-## If an output argument is requested nothing is displayed. Instead a cell array
-## of strings is returned, where each element corresponds to the definition of
-## each requested function.
+## If an output argument is requested nothing is displayed.  Instead, a cell 
+## array of strings is returned, where each element corresponds to the 
+## definition of each requested function.
 ## @end deftypefn
 
 function retval = type (varargin)
--- a/scripts/miscellaneous/edit.m
+++ b/scripts/miscellaneous/edit.m
@@ -32,7 +32,7 @@
 ## is a system function, then it will first be copied to the directory
 ## @code{HOME} (see further down) and then edited.  
 ## If no file is found, then the m-file 
-## variant, ending with ".m", will be considered. If still no file
+## variant, ending with ".m", will be considered.  If still no file
 ## is found, then variants with a leading "@@" and then with both a
 ## leading "@@" and trailing ".m" will be considered.
 ##
@@ -49,7 +49,7 @@
 ## function will be inserted into the .cc file as a comment.
 ##
 ## @item
-## If @var{name.ext} is on your path then it will be editted, otherwise
+## If @var{name.ext} is on your path then it will be edited, otherwise
 ## the editor will be started with @file{HOME/name.ext} as the
 ## filename.  If @file{name.ext} is not modifiable, it will be copied to
 ## @code{HOME} before editing.
@@ -64,7 +64,7 @@
 ## If an output argument is requested and the first argument is @code{get}
 ## then @code{edit} will return the value of the control field @var{field}.
 ## If the control field does not exist, edit will return a structure 
-## containing all fields and values. Thus, @code{edit get all} returns
+## containing all fields and values.  Thus, @code{edit get all} returns
 ## a complete control structure.
 ## The following control fields are used:
 ##
@@ -85,15 +85,15 @@
 ##
 ## See also field 'mode', which controls how the editor is run by Octave.
 ## 
-## On cygwin, you will need to convert the cygwin path to a windows
+## On Cygwin, you will need to convert the Cygwin path to a Windows
 ## path if you are using a native Windows editor.  For example
 ## @example
 ## '"C:/Program Files/Good Editor/Editor.exe" "$(cygpath -wa %s)"'
 ## @end example
 ##
 ## @item home
-## This is the location of user local m-files. Be be sure it is in your
-## path. The default is @file{~/octave}.
+## This is the location of user local m-files.  Be be sure it is in your
+## path.  The default is @file{~/octave}.
 ##
 ## @item author
 ## This is the name to put after the "## Author:" field of new functions.
@@ -123,12 +123,12 @@
 ## @item mode
 ## This value determines whether the editor should be started in async mode
 ## (editor is started in the background and Octave continues) or sync mode
-## (Octave waits until the editor exits). Set it to "async" to start the editor
-## in async mode. The default is "sync" (see also "system").
+## (Octave waits until the editor exits).  Set it to "async" to start the editor
+## in async mode.  The default is "sync" (see also "system").
 ##
 ## @item editinplace
 ## Determines whether files should be edited in place, without regard to 
-## whether they are modifiable or not. The default is @code{false}.
+## whether they are modifiable or not.  The default is @code{false}.
 ## @end table
 ## @end deftypefn
 
--- a/scripts/miscellaneous/getfield.m
+++ b/scripts/miscellaneous/getfield.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{v1}, @dots{}] =} getfield (@var{s}, @var{key}, @dots{}) 
-## Extract fields from a structure. For example
+## Extract fields from a structure.  For example
 ##
 ## @example
 ## @group
--- a/scripts/miscellaneous/intwarning.m
+++ b/scripts/miscellaneous/intwarning.m
@@ -26,7 +26,7 @@
 ## @table @asis
 ## @item "query"
 ## The state of the Octave integer conversion and math warnings is
-## queried. If there is no output argument, then the state is printed.
+## queried.  If there is no output argument, then the state is printed.
 ## Otherwise it is returned in a structure with the fields "identifier"
 ## and "state".
 ##
@@ -41,21 +41,21 @@
 ## @end smallexample 
 ##
 ## @item "on"
-## Turn integer conversion and math warnings "on". If there is no output
-## argument, then nothing is printed. Otherwise the original state of
+## Turn integer conversion and math warnings "on".  If there is no output
+## argument, then nothing is printed.  Otherwise the original state of
 ## the state of the integer conversion and math warnings is returned in
 ## a structure array.
 ##
 ## @item "off"
-## Turn integer conversion and math warnings "on". If there is no output
-## argument, then nothing is printed. Otherwise the original state of
+## Turn integer conversion and math warnings "on".  If there is no output
+## argument, then nothing is printed.  Otherwise the original state of
 ## the state of the integer conversion and math warnings is returned in
 ## a structure array.
 ## @end table
 ##
 ## The original state of the integer warnings can be restored by passing
 ## the structure array returned by @code{intwarning} to a later call to
-## @code{intwarning}. For example
+## @code{intwarning}.  For example
 ##
 ## @example
 ## s = intwarning ("off");
--- a/scripts/miscellaneous/namelengthmax.m
+++ b/scripts/miscellaneous/namelengthmax.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} namelengthmax ()
-## Returns the 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 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 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/run.m
+++ b/scripts/miscellaneous/run.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {} run (@var{f})
 ## @deftypefnx {Command} {} run @var{f}
 ## Run scripts in the current workspace that are not necessarily on the
-## path. If @var{f} is the script to run, including its path, then @code{run}
-## change the directory to the directory where @var{f} is found. @code{run}
+## path.  If @var{f} is the script to run, including its path, then @code{run}
+## change the directory to the directory where @var{f} is found.  @code{run}
 ## then executes the script, and returns to the original directory.
 ## @seealso{system}
 ## @end deftypefn
--- a/scripts/miscellaneous/swapbytes.m
+++ b/scripts/miscellaneous/swapbytes.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} swapbytes (@var{x})
 ## Swaps the byte order on values, converting from little endian to big 
-## endian and visa-versa. For example
+## endian and vice versa.  For example
 ##
 ## @example
 ## @group
--- a/scripts/miscellaneous/symvar.m
+++ b/scripts/miscellaneous/symvar.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {} symvar (@var{s})
 ## Identifies the argument names in the function defined by a string.
 ## Common constant names such as @code{pi}, @code{NaN}, @code{Inf},
-## @code{eps}, @code{i} or @code{j} are ignored. The arguments that are
-## found are returned in a cell array of strings. If no variables are
+## @code{eps}, @code{i} or @code{j} are ignored.  The arguments that are
+## found are returned in a cell array of strings.  If no variables are
 ## found then the returned cell array is empty.
 ## @end deftypefn
 
--- a/scripts/miscellaneous/warning_ids.m
+++ b/scripts/miscellaneous/warning_ids.m
@@ -36,7 +36,7 @@
 ## 
 ## @example
 ## if (s = t)
-##   ...
+##   @dots{}
 ## @end example
 ## 
 ## @noindent
@@ -45,7 +45,7 @@
 ## 
 ## @example
 ## if (s == t)
-##   ...
+##   @dots{}
 ## @end example
 ## 
 ## @noindent
@@ -57,7 +57,7 @@
 ## 
 ## @example
 ## while (c = getc())
-##   ...
+##   @dots{}
 ## @end example
 ## 
 ## @noindent
@@ -69,7 +69,7 @@
 ## 
 ## @example
 ## if (x = 1)  # intended to test (x == 1)!
-##   ...
+##   @dots{}
 ## @end example
 ## 
 ## @noindent
@@ -81,7 +81,7 @@
 ## 
 ## @example
 ## while ((c = getc()))
-##   ...
+##   @dots{}
 ## @end example
 ## 
 ## @noindent
--- a/scripts/miscellaneous/what.m
+++ b/scripts/miscellaneous/what.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Command} {} what 
 ## @deftypefnx {Command} {} what @var{dir}
 ## @deftypefnx {Function File} {w =} what (@var{dir})
-## List the Octave specific files in a directory. If the variable @var{dir}
-## is given then check that directory rather than the current directory. If
+## List the Octave specific files in a directory.  If the variable @var{dir}
+## is given then check that directory rather than the current directory.  If
 ## a return argument is requested, the files found are returned in the 
 ## structure @var{w}.
 ## @seealso{which}
--- a/scripts/path/pathdef.m
+++ b/scripts/path/pathdef.m
@@ -24,7 +24,7 @@
 ##
 ## @enumerate
 ## @item @file{~/.octaverc}
-## @item @file{<octave-home>/.../<version>/m/startup/octaverc}
+## @item @file{<octave-home>/@dots{}/<version>/m/startup/octaverc}
 ## @item Octave's path prior to changes by any octaverc.
 ## @end enumerate
 ## @seealso{path, addpath, rmpath, genpath, savepath, pathsep}
--- a/scripts/path/savepath.m
+++ b/scripts/path/savepath.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} savepath (@var{file})
-## Save the the portion of the current function search path, that is
+## Save the portion of the current function search path, that is
 ## not set during Octave's initialization process, to @var{file}.
 ## If @var{file} is omitted, @file{~/.octaverc} is used.  If successful,
 ## @code{savepath} returns 0.
--- a/scripts/plot/ancestor.m
+++ b/scripts/plot/ancestor.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{parent} =} ancestor (@var{h}, @var{type})
 ## @deftypefnx {Function File} {@var{parent} =} ancestor (@var{h}, @var{type}, 'toplevel')
 ## Return the first ancestor of handle object @var{h} whose type matches
-## @var{type}, where @var{type} is a character string. If @var{type} is a
+## @var{type}, where @var{type} is a character string.  If @var{type} is a
 ## cell array of strings, return the first parent whose type matches
 ## any of the given type strings.
 ##
--- a/scripts/plot/area.m
+++ b/scripts/plot/area.m
@@ -23,17 +23,17 @@
 ## @deftypefnx {Function File} {} area (@var{y}, @dots{})
 ## @deftypefnx {Function File} {} area (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} area (@dots{})
-## Area plot of cumulative sum of the columns of @var{y}. This shows the
+## Area plot of cumulative sum of the columns of @var{y}.  This shows the
 ## contributions of a value to a sum, and is functionally similar to 
 ## @code{plot (@var{x}, cumsum (@var{y}, 2))}, except that the area under 
 ## the curve is shaded.
 ##
 ## If the @var{x} argument is omitted it is assumed to be given by
-## @code{1 : rows (@var{y})}. A value @var{lvl} can be defined that determines
+## @code{1 : rows (@var{y})}.  A value @var{lvl} can be defined that determines
 ## where the base level of the shading under the curve should be defined.
 ##
 ## Additional arguments to the @code{area} function are passed to the 
-## @code{patch}. The optional return value @var{h} provides a handle to 
+## @code{patch}.  The optional return value @var{h} provides a handle to 
 ## area series object representing the patches of the areas.
 ## @seealso{plot, patch}
 ## @end deftypefn
--- a/scripts/plot/backend.m
+++ b/scripts/plot/backend.m
@@ -19,11 +19,11 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} backend (@var{name})
 ## @deftypefnx {Function File} backend (@var{hlist}, @var{name})
-## Change the default graphics backend to @var{name}. If the backend is
+## Change the default graphics backend to @var{name}.  If the backend is
 ## not already loaded, it is first initialized (initialization is done
 ## through the execution of __init_@var{name}__).
 ##
-## @var{hlist} is a list of figure handles. When given, this function
+## @var{hlist} is a list of figure handles.  When given, this function
 ## only switches the default backend for the corresponding figures.
 ## @seealso{available_backends}
 ## @end deftypefn
--- a/scripts/plot/bar.m
+++ b/scripts/plot/bar.m
@@ -32,16 +32,16 @@
 ## The default width of 0.8 for the bars can be changed using @var{w}. 
 ##
 ## If @var{y} is a matrix, then each column of @var{y} is taken to be a
-## separate bar graph plotted on the same graph. By default the columns
-## are plotted side-by-side. This behavior can be changed by the @var{style}
+## separate bar graph plotted on the same graph.  By default the columns
+## are plotted side-by-side.  This behavior can be changed by the @var{style}
 ## argument, which can take the values @code{"grouped"} (the default),
 ## or @code{"stacked"}.
 ##
 ## The optional return value @var{h} provides a handle to the "bar series"
-## object with one handle per column of the variable @var{y}. This
+## 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
--- a/scripts/plot/barh.m
+++ b/scripts/plot/barh.m
@@ -31,13 +31,13 @@
 ## The default width of 0.8 for the bars can be changed using @var{w}. 
 ##
 ## If @var{y} is a matrix, then each column of @var{y} is taken to be a
-## separate bar graph plotted on the same graph. By default the columns
-## are plotted side-by-side. This behavior can be changed by the @var{style}
+## separate bar graph plotted on the same graph.  By default the columns
+## are plotted side-by-side.  This behavior can be changed by the @var{style}
 ## argument, which can take the values @code{"grouped"} (the default),
 ## or @code{"stacked"}.
 ##
 ## The optional return value @var{h} provides a handle to the bar series
-## object. See @code{bar} for a description of the use of the bar series.
+## object.  See @code{bar} for a description of the use of the bar series.
 ##
 ## The optional input handle @var{h} allows an axis handle to be passed.
 ## Properties of the patch graphics object can be changed using
--- a/scripts/plot/caxis.m
+++ b/scripts/plot/caxis.m
@@ -23,7 +23,7 @@
 ##
 ## The argument @var{limits} should be a 2 element vector specifying the 
 ## lower and upper limits to assign to the first and last value in the
-## colormap. Values outside this range are clamped to the first and last
+## colormap.  Values outside this range are clamped to the first and last
 ## colormap entries. 
 ##
 ## If @var{limits} is 'auto', then automatic colormap scaling is applied,
--- a/scripts/plot/clabel.m
+++ b/scripts/plot/clabel.m
@@ -24,23 +24,23 @@
 ## @deftypefnx {Function File} {} clabel (@var{c}, @var{h})
 ## @deftypefnx {Function File} {} clabel (@dots{}, @var{prop}, @var{val}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} clabel (@dots{})
-## Adds labels to the contours of a contour plot. The contour plot is specified
+## Adds labels to the contours of a contour plot.  The contour plot is specified
 ## by the contour matrix @var{c} and optionally the contourgroup object @var{h}
 ## that are returned by @code{contour}, @code{contourf} and @code{contour3}.
 ## The contour labels are rotated and placed in the contour itself.
 ##
-## By default, all contours are labelled. However, the contours to label can be
-## specified by the vector @var{v}. If the "manual" argument is given then
+## By default, all contours are labelled.  However, the contours to label can be
+## specified by the vector @var{v}.  If the "manual" argument is given then
 ## the contours to label can be selected with the mouse.
 ##
 ## Additional property/value pairs that are valid properties of text objects
-## can be given and are passed to the underlying text objects. Additionally,
+## can be given and are passed to the underlying text objects.  Additionally,
 ## the property "LabelSpacing" is available allowing the spacing between labels
-## on a contour (in points) to be specified. The default is 144 points, or 2
+## on a contour (in points) to be specified.  The default is 144 points, or 2
 ## inches.
 ##
 ## The returned value @var{h} is the set of text object that represent the
-## contour labels. The "userdata" property of the text objects contains the
+## contour labels.  The "userdata" property of the text objects contains the
 ## numerical value of the contour label.
 ##
 ## An example of the use of @code{clabel} is
--- a/scripts/plot/colorbar.m
+++ b/scripts/plot/colorbar.m
@@ -19,11 +19,11 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} colorbar (@var{s})
 ## @deftypefnx {Function File} {} colorbar ("peer", @var{h}, @dots{})
-## Adds a colorbar to the current axes. Valid values for @var{s} are
+## Adds a colorbar to the current axes.  Valid values for @var{s} are
 ##
 ## @table @asis
 ## @item "EastOutside"
-## Place the colorbar outside the plot to the right. This is the default.
+## Place the colorbar outside the plot to the right.  This is the default.
 ## @item "East"
 ## Place the colorbar inside the plot to the right.
 ## @item "WestOutside"
--- a/scripts/plot/comet.m
+++ b/scripts/plot/comet.m
@@ -20,14 +20,14 @@
 ## @deftypefnx {Function File} {} comet (@var{x}, @var{y}, @var{p})
 ## @deftypefnx {Function File} {} comet (@var{ax}, @dots{})
 ## Produce a simple comet style animation along the trajectory provided by 
-## the input coordinate vecors (@var{x}, @var{y}), where @var{x} will default
+## the input coordinate vectors (@var{x}, @var{y}), where @var{x} will default
 ## to the indices of @var{y}.
 ##
 ## The speed of the comet may be controlled by @var{p}, which represents the
-## time which passes as the animation passes from one point to the next. The
+## time which passes as the animation passes from one point to the next.  The
 ## default for @var{p} is 0.1 seconds.
 ##
-## If @var{ax} is specified the animition is produced in that axis rather than
+## If @var{ax} is specified the animation is produced in that axis rather than
 ## the @code{gca}.
 ## @end deftypefn
 
--- a/scripts/plot/compass.m
+++ b/scripts/plot/compass.m
@@ -24,7 +24,7 @@
 ## @deftypefnx {Function File} {@var{h} =} compass (@dots{})
 ##
 ## Plot the @code{(@var{u}, @var{v})} components of a vector field emanating
-## from the origin of a polar polt. If a single complex argument @var{z} is 
+## from the origin of a polar plot.  If a single complex argument @var{z} is 
 ## given, then @code{@var{u} = real (@var{z})} and @code{@var{v} = imag 
 ## (@var{z})}.
 ##
--- a/scripts/plot/contour3.m
+++ b/scripts/plot/contour3.m
@@ -27,7 +27,7 @@
 ## Plot level curves (contour lines) of the matrix @var{z}, using the
 ## contour matrix @var{c} computed by @code{contourc} from the same
 ## arguments; see the latter for their interpretation.  The contours are
-## ploted at the Z level corresponding to their contour. The set of
+## plotted at the Z level corresponding to their contour.  The set of
 ## contour levels, @var{c}, is only returned if requested.  For example:
 ##
 ## @example
--- a/scripts/plot/contourc.m
+++ b/scripts/plot/contourc.m
@@ -26,8 +26,8 @@
 ## contour lines in the following format
 ##
 ## @example
-## @var{c} = [lev1, x1, x2, ..., levn, x1, x2, ... 
-##      len1, y1, y2, ..., lenn, y1, y2, ...]
+## @var{c} = [lev1, x1, x2, @dots{}, levn, x1, x2, @dots{} 
+##      len1, y1, y2, @dots{}, lenn, y1, y2, @dots{}]
 ## @end example
 ##
 ## @noindent
@@ -36,7 +36,7 @@
 ## 
 ## If @var{x} and @var{y} are omitted they are taken as the row/column 
 ## index of @var{z}.  @var{vn} is either a scalar denoting the number of lines 
-## to compute or a vector containing the values of the lines. If only one 
+## to compute or a vector containing the values of the lines.  If only one 
 ## value is wanted, set @code{@var{vn} = [val, val]};
 ## If @var{vn} is omitted it defaults to 10.
 ##
--- a/scripts/plot/contourf.m
+++ b/scripts/plot/contourf.m
@@ -35,10 +35,10 @@
 ## The return value @var{h} is handle-vector to the patch objects creating
 ## the filled contours.
 ##
-## If @var{x} and @var{y} are ommited they are taken as the row/column
+## If @var{x} and @var{y} are omitted they are taken as the row/column
 ## index of @var{z}.  @var{n} is a scalar denoting the number of lines
 ## to compute.  Alternatively @var{lvl} is a vector containing the
-## contour levels. If only one value (e.g. lvl0) is wanted, set
+## contour levels.  If only one value (e.g., lvl0) is wanted, set
 ## @var{lvl} to [lvl0, lvl0].  If both @var{n} or @var{lvl} are omitted
 ## a default value of 10 contour level is assumed.
 ##
--- a/scripts/plot/cylinder.m
+++ b/scripts/plot/cylinder.m
@@ -30,7 +30,7 @@
 ## are assumed.
 ##
 ## Called with no return arguments, @code{cylinder} calls directly
-## @code{surf (@var{x}, @var{y}, @var{z})}. If an axes handle @var{ax}
+## @code{surf (@var{x}, @var{y}, @var{z})}.  If an axes handle @var{ax}
 ## is passed as the first argument, the surface is plotted to this set
 ## of axes.
 ##
--- a/scripts/plot/diffuse.m
+++ b/scripts/plot/diffuse.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {} diffuse (@var{sx}, @var{sy}, @var{sz}, @var{l})
 ## Calculate diffuse reflection strength of a surface defined by the normal
 ## vector elements @var{sx}, @var{sy}, @var{sz}. 
-## The light vector can be specified using parameter @var{L}. It can be
+## The light vector can be specified using parameter @var{L}.  It can be
 ## given as 2-element vector [azimuth, elevation] in degrees or as 3-element
 ## vector [lx, ly, lz]. 
 ## @seealso{specular, surfl}
--- a/scripts/plot/ellipsoid.m
+++ b/scripts/plot/ellipsoid.m
@@ -20,9 +20,9 @@
 ## @deftypefn {Function File} {[@var{x}, @var{y}, @var{z}] =} ellipsoid (@var{xc},@var{yc}, @var{zc}, @var{xr}, @var{yr}, @var{zr}, @var{n})
 ## @deftypefnx {Function File} {} ellipsoid (@var{h}, @dots{})
 ## Generate three matrices in @code{meshgrid} format that define an
-## ellipsoid.   Called with no return arguments, @code{ellipsoid} calls
+## ellipsoid.  Called with no return arguments, @code{ellipsoid} calls
 ## directly @code{surf (@var{x}, @var{y}, @var{z})}.  If an axes handle
-## is passed as the first argument, the the surface is plotted to this
+## is passed as the first argument, the surface is plotted to this
 ## set of axes.
 ## @seealso{sphere}
 ## @end deftypefn
--- a/scripts/plot/errorbar.m
+++ b/scripts/plot/errorbar.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} errorbar (@var{args})
-## This function produces two-dimensional plots with errorbars. Many
+## This function produces two-dimensional plots with errorbars.  Many
 ## different combinations of arguments are possible.  The simplest form is
 ##
 ## @example
@@ -28,7 +28,7 @@
 ## @noindent
 ## where the first argument is taken as the set of @var{y} coordinates
 ## and the second argument @var{ey} is taken as the errors of the
-## @var{y} values. @var{x} coordinates are taken to be the indices
+## @var{y} values.  @var{x} coordinates are taken to be the indices
 ## of the elements, starting with 1.
 ##
 ## If more than two arguments are given, they are interpreted as
@@ -40,18 +40,18 @@
 ## @noindent
 ## where after @var{x} and @var{y} there can be up to four error
 ## parameters such as @var{ey}, @var{ex}, @var{ly}, @var{uy} etc.,
-## depending on the plot type. Any number of argument sets may appear,
+## depending on the plot type.  Any number of argument sets may appear,
 ## as long as they are separated with a format string @var{fmt}.
 ##
 ## If @var{y} is a matrix, @var{x} and error parameters must also be matrices
-## having same dimensions. The columns of @var{y} are plotted versus the
+## having same dimensions.  The columns of @var{y} are plotted versus the
 ## corresponding columns of @var{x} and errorbars are drawn from
 ## the corresponding columns of error parameters.
 ##
 ## If @var{fmt} is missing, yerrorbars ("~") plot style is assumed.
 ##
 ## If the @var{fmt} argument is supplied, it is interpreted as in
-## normal plots. In addition the following plot styles are supported by
+## normal plots.  In addition the following plot styles are supported by
 ## errorbar:
 ##
 ## @table @samp
--- a/scripts/plot/ezcontour.m
+++ b/scripts/plot/ezcontour.m
@@ -23,13 +23,13 @@
 ## @deftypefnx {Function File} {} ezcontour (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezcontour (@dots{})
 ##
-## Plots the contour lines of a function. @var{f} is a string, inline function
-## or function handle with two arguments defining the function. By default the
+## Plots the contour lines of a function.  @var{f} is a string, inline function
+## or function handle with two arguments defining the function.  By default the
 ## plot is over the domain @code{-2*pi < @var{x} < 2*pi} and @code{-2*pi < 
 ## @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/ezcontourf.m
+++ b/scripts/plot/ezcontourf.m
@@ -23,13 +23,13 @@
 ## @deftypefnx {Function File} {} ezcontourf (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezcontourf (@dots{})
 ##
-## Plots the filled contour lines of a function. @var{f} is a string, inline 
-## function or function handle with two arguments defining the function. By 
+## Plots the filled contour lines of a function.  @var{f} is a string, inline 
+## function or function handle with two arguments defining the function.  By 
 ## default the plot is over the domain @code{-2*pi < @var{x} < 2*pi} and 
 ## @code{-2*pi < @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/ezmesh.m
+++ b/scripts/plot/ezmesh.m
@@ -25,13 +25,13 @@
 ## @deftypefnx {Function File} {} ezmesh (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezmesh (@dots{})
 ##
-## Plots the mesh defined by a function. @var{f} is a string, inline
-## function or function handle with two arguments defining the function. By 
+## Plots the mesh defined by a function.  @var{f} is a string, inline
+## function or function handle with two arguments defining the function.  By 
 ## default the plot is over the domain @code{-2*pi < @var{x} < 2*pi} and
 ## @code{-2*pi < @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/ezmeshc.m
+++ b/scripts/plot/ezmeshc.m
@@ -25,13 +25,13 @@
 ## @deftypefnx {Function File} {} ezmeshc (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezmeshc (@dots{})
 ##
-## Plots the mesh and contour lines defined by a function. @var{f} is a string,
+## Plots the mesh and contour lines defined by a function.  @var{f} is a string,
 ## inline function or function handle with two arguments defining the function.
 ## By default the plot is over the domain @code{-2*pi < @var{x} < 2*pi} and
 ## @code{-2*pi < @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/ezplot.m
+++ b/scripts/plot/ezplot.m
@@ -24,15 +24,15 @@
 ## @deftypefnx {Function File} {} ezplot (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezplot (@dots{})
 ##
-## Plots in two-dimensions the curve defined by @var{f}. The function
+## Plots in two-dimensions the curve defined by @var{f}.  The function
 ## @var{f} may be a string, inline function or function handle and can
-## have either one or two variables. If @var{f} has one variable, then 
+## have either one or two variables.  If @var{f} has one variable, then 
 ## the function is plotted over the domain @code{-2*pi < @var{x} < 2*pi}  
 ## with 500 points. 
 ##
 ## If @var{f} has two variables then @code{@var{f}(@var{x},@var{y}) = 0}
 ## is calculated over the meshed domain @code{-2*pi < @var{x} | @var{y}
-## < 2*pi} with 60 by 60 in the mesh. For example
+## < 2*pi} with 60 by 60 in the mesh.  For example
 ##
 ## @example
 ## ezplot (@@(@var{x}, @var{y}) @var{x} .^ 2 - @var{y} .^ 2 - 1)
@@ -52,7 +52,7 @@
 ## points. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of @var{x}, @var{y} and @var{t}. If it is a four element
+## value of @var{x}, @var{y} and @var{t}.  If it is a four element
 ## vector, then the minimum and maximum values of @var{x} and @var{t}
 ## are determined by the first two elements and the minimum and maximum
 ## of @var{y} by the second pair of elements.
--- a/scripts/plot/ezplot3.m
+++ b/scripts/plot/ezplot3.m
@@ -25,12 +25,12 @@
 ##
 ## Plots in three-dimensions the curve defined parametrically. 
 ## @var{fx}, @var{fy}, and @var{fz} are strings, inline functions
-## or function handles with one arguments defining the function. By 
+## or function handles with one arguments defining the function.  By 
 ## default the plot is over the domain @code{-2*pi < @var{x} < 2*pi}  
 ## with 60 points. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of @var{t}. @var{n} is a scalar defining the number of points to use.
+## value of @var{t}.  @var{n} is a scalar defining the number of points to use.
 ##
 ## The optional return value @var{h} provides a list of handles to the 
 ## the parts of the vector field (body, arrow and marker).
--- a/scripts/plot/ezpolar.m
+++ b/scripts/plot/ezpolar.m
@@ -23,13 +23,13 @@
 ## @deftypefnx {Function File} {} ezpolar (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezpolar (@dots{})
 ##
-## Plots in polar plot defined by a function. The function @var{f} is either
+## Plots in polar plot defined by a function.  The function @var{f} is either
 ## a string, inline function or function handle with one arguments defining 
-## the function. By default the plot is over the domain @code{0 < @var{x} < 
+## the function.  By default the plot is over the domain @code{0 < @var{x} < 
 ## 2*pi} with 60 points. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{t}. @var{n} is a scalar defining the number of points to 
+## value of both @var{t}.  @var{n} is a scalar defining the number of points to 
 ## use.
 ##
 ## The optional return value @var{h} provides a list of handles to the 
--- a/scripts/plot/ezsurf.m
+++ b/scripts/plot/ezsurf.m
@@ -25,13 +25,13 @@
 ## @deftypefnx {Function File} {} ezsurf (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezsurf (@dots{})
 ##
-## Plots the surface defined by a function. @var{f} is a string, inline
-## function or function handle with two arguments defining the function. By 
+## Plots the surface defined by a function.  @var{f} is a string, inline
+## function or function handle with two arguments defining the function.  By 
 ## default the plot is over the domain @code{-2*pi < @var{x} < 2*pi} and
 ## @code{-2*pi < @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/ezsurfc.m
+++ b/scripts/plot/ezsurfc.m
@@ -25,13 +25,13 @@
 ## @deftypefnx {Function File} {} ezsurfc (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} ezsurfc (@dots{})
 ##
-## Plots the surface and contour lines defined by a function. @var{f} is a
+## Plots the surface and contour lines defined by a function.  @var{f} is a
 ## string, inline function or function handle with two arguments defining the
-## function. By default the plot is over the domain @code{-2*pi < @var{x} <
+## function.  By default the plot is over the domain @code{-2*pi < @var{x} <
 ## 2*pi} and @code{-2*pi < @var{y} < 2*pi} with 60 points in each dimension. 
 ##
 ## If @var{dom} is a two element vector, it represents the minimum and maximum
-## value of both @var{x} and @var{y}. If @var{dom} is a four element vector,
+## value of both @var{x} and @var{y}.  If @var{dom} is a four element vector,
 ## then the minimum and maximum value of @var{x} and @var{y} are specify
 ## separately.
 ##
--- a/scripts/plot/feather.m
+++ b/scripts/plot/feather.m
@@ -24,7 +24,7 @@
 ## @deftypefnx {Function File} {@var{h} =} feather (@dots{})
 ##
 ## Plot the @code{(@var{u}, @var{v})} components of a vector field emanating
-## from equidistant points on the x-axis. If a single complex argument
+## from equidistant points on the x-axis.  If a single complex argument
 ## @var{z} is given, then @code{@var{u} = real (@var{z})} and
 ## @code{@var{v} = imag (@var{z})}.
 ##
--- a/scripts/plot/findobj.m
+++ b/scripts/plot/findobj.m
@@ -24,7 +24,7 @@
 ## @deftypefnx {Function File} {@var{h} =} findobj ('flat', @dots{})
 ## @deftypefnx {Function File} {@var{h} =} findobj (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} findobj (@var{h}, '-depth', @var{d}, @dots{})
-## Find object with specified property values. The simplest form is
+## Find object with specified property values.  The simplest form is
 ##
 ## @example
 ## findobj (@var{prop_name}, @var{prop_Value})
@@ -32,13 +32,13 @@
 ##
 ## @noindent
 ## which returns all of the handles to the objects with the name 
-## @var{prop_name} and the name @var{prop_Value}. The search can be limited
+## @var{prop_name} and the name @var{prop_Value}.  The search can be limited
 ## to a particular object or set of objects and their descendants by 
 ## passing a handle or set of handles @var{h} as the first argument to 
 ## @code{findobj}.
 ##
 ## The depth of hierarchy of objects to which to search to can be limited
-## with the '-depth' argument. To limit the number depth of the hierarchy
+## with the '-depth' argument.  To limit the number depth of the hierarchy
 ## to search to @var{d} generations of children, and example is
 ##
 ## @example
@@ -46,11 +46,11 @@
 ## @end example
 ##
 ## Specifying a depth @var{d} of 0, limits the search to the set of object
-## passed in @var{h}. A depth @var{d} of 0 is equivalent to the '-flat'
+## passed in @var{h}.  A depth @var{d} of 0 is equivalent to the '-flat'
 ## argument. 
 ##
 ## A specified logical operator may be applied to the pairs of @var{prop_Name}
-## and @var{prop_Value}. The supported logical operators are '-and', '-or', 
+## and @var{prop_Value}.  The supported logical operators are '-and', '-or', 
 ## '-xor', '-not'.
 ##
 ## The objects may also be matched by comparing a regular expression to the 
--- a/scripts/plot/fplot.m
+++ b/scripts/plot/fplot.m
@@ -25,7 +25,7 @@
 ## an be either a string, a function handle or an inline function.
 ## The limits of the plot are given by @var{limits} of the form
 ## @code{[@var{xlo}, @var{xhi}]} or @code{[@var{xlo}, @var{xhi},
-## @var{ylo}, @var{yhi}]}. @var{tol} is the default tolerance to use for the
+## @var{ylo}, @var{yhi}]}.  @var{tol} is the default tolerance to use for the
 ## plot, and if @var{tol} is an integer it is assumed that it defines the 
 ## number points to use in the plot.  The @var{fmt} argument is passed
 ## to the plot command.
--- a/scripts/plot/gcbf.m
+++ b/scripts/plot/gcbf.m
@@ -19,8 +19,8 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{fig} =} gcbf ()
 ## Return a handle to the figure containing the object whose callback
-## is currently executing. If no callback is executing, this function
-## returns the empty matrix. The handle returned by this function is
+## is currently executing.  If no callback is executing, this function
+## returns the empty matrix.  The handle returned by this function is
 ## the same as the second output argument of gcbo.
 ##
 ##@seealso{gcf, gca, gcbo}
--- a/scripts/plot/gcbo.m
+++ b/scripts/plot/gcbo.m
@@ -20,12 +20,12 @@
 ## @deftypefn {Function File} {@var{h} =} gcbo ()
 ## @deftypefnx {Function File} {[@var{h}, @var{fig}] =} gcbo ()
 ## Return a handle to the object whose callback is currently
-## executing. If no callback is executing, this function returns the
-## empty matrix. This handle is obtained from the root object property
+## executing.  If no callback is executing, this function returns the
+## empty matrix.  This handle is obtained from the root object property
 ## "CallbackObject".
 ##
 ## Additionally return the handle of the figure containing the
-## object whose callback is currently executing. If no callback is
+## object whose callback is currently executing.  If no callback is
 ## executing, the second output is also set to the empty matrix.
 ##
 ##@seealso{gcf, gca, gcbf}
--- a/scripts/plot/ginput.m
+++ b/scripts/plot/ginput.m
@@ -19,8 +19,8 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{x}, @var{y}, @var{buttons}] =} ginput (@var{n})
 ## Return which mouse buttons were pressed and keys were hit on the current
-## figure. If @var{n} is defined, then wait for @var{n} mouse clicks
-## before returning. If @var{n} is not defined, then @code{ginput} will
+## figure.  If @var{n} is defined, then wait for @var{n} mouse clicks
+## before returning.  If @var{n} is not defined, then @code{ginput} will
 ## loop until the return key is pressed.
 ## @end deftypefn
 
--- a/scripts/plot/gtext.m
+++ b/scripts/plot/gtext.m
@@ -19,8 +19,8 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} gtext (@var{s})
 ## @deftypefnx {Function File} {} gtext (@dots{}, @var{prop}, @var{val})
-## Place text on the current figure. The text can be defined by the
-## string @var{s}. If @var{s} is a cell array, each element of the cell
+## Place text on the current figure.  The text can be defined by the
+## string @var{s}.  If @var{s} is a cell array, each element of the cell
 ## array is written to a separate line.
 ##
 ## Additional arguments are passed to the underlying text object as
--- a/scripts/plot/hggroup.m
+++ b/scripts/plot/hggroup.m
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {} hggroup ()
 ## @deftypefnx {Function File} {} hggroup (@var{h})
 ## @deftypefnx {Function File} {} hggroup (@dots{}, @var{property}, @var{value}, @dots{})
-## Create group object with parent @var{h}. If no parent is specified,
-## the group is created in the current axes. Return the handle of the
+## Create group object with parent @var{h}.  If no parent is specified,
+## the group is created in the current axes.  Return the handle of the
 ## group object created.
 ##
 ## Multiple property-value pairs may be specified for the group, but they
--- a/scripts/plot/hidden.m
+++ b/scripts/plot/hidden.m
@@ -19,8 +19,8 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} hidden (@var{mode})
 ## @deftypefnx {Function File} {} hidden ()
-## Manipulation the mesh hidden line removal. Called with no argument
-## the hidden line removal is toggled. The argument @var{mode} can be either
+## Manipulation the mesh hidden line removal.  Called with no argument
+## the hidden line removal is toggled.  The argument @var{mode} can be either
 ## 'on' or 'off' and the set of the hidden line removal is set accordingly.
 ## @seealso{mesh, meshc, surf}
 ## @end deftypefn
--- a/scripts/plot/hist.m
+++ b/scripts/plot/hist.m
@@ -23,7 +23,7 @@
 ##
 ## With one vector input argument, plot a histogram of the values with
 ## 10 bins.  The range of the histogram bins is determined by the range
-## of the data.  With one matrix input argument, plot a hystogram where
+## of the data.  With one matrix input argument, plot a histogram where
 ## each bin contains a bar per input column.
 ##
 ## Given a second scalar argument, use that as the number of bins.
@@ -32,7 +32,7 @@
 ## with the width of the bins determined from the adjacent values in
 ## the vector.
 ##
-## If third argument is provided, the histogram is normalised such that
+## If third argument is provided, the histogram is normalized such that
 ## the sum of the bars is equal to @var{norm}.
 ##
 ## Extreme values are lumped in the first and last bins.
--- a/scripts/plot/linkprop.m
+++ b/scripts/plot/linkprop.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{hlink} =} linkprop (@var{h}, @var{prop})
 ## Links graphics object properties, such that a change in one is
-## propagated to the others. The properties to link are given as a
+## propagated to the others.  The properties to link are given as a
 ## string of cell string array by @var{prop} and the objects containing
 ## these properties by the handle array @var{h}.
 ##
--- a/scripts/plot/loglogerr.m
+++ b/scripts/plot/loglogerr.m
@@ -29,7 +29,7 @@
 ## @noindent
 ## which produces a double logarithm plot of @var{y} versus @var{x} 
 ## with errors in the @var{y}-scale defined by @var{ey} and the plot
-## format defined by @var{fmt}. See errorbar for available formats and 
+## format defined by @var{fmt}.  See errorbar for available formats and 
 ## additional information.
 ## @seealso{errorbar, semilogxerr, semilogyerr}
 ## @end deftypefn
--- a/scripts/plot/ndgrid.m
+++ b/scripts/plot/ndgrid.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {[@var{y1}, @var{y2}, @dots{},  @var{y}n] =} ndgrid (@var{x1}, @var{x2}, @dots{}, @var{x}n)
 ## @deftypefnx {Function File} {[@var{y1}, @var{y2}, @dots{},  @var{y}n] =} ndgrid (@var{x})
 ## Given n vectors @var{x1}, @dots{} @var{x}n, @code{ndgrid} returns
-## n arrays of dimension n.  The elements of the i-th output argument
+## n arrays of dimension n. The elements of the i-th output argument
 ## contains the elements of the vector @var{x}i repeated over all
 ## dimensions different from the i-th dimension.  Calling ndgrid with
 ## only one input argument @var{x} is equivalent of calling ndgrid with
--- a/scripts/plot/pareto.m
+++ b/scripts/plot/pareto.m
@@ -22,10 +22,10 @@
 ## @deftypefnx {Function File} {} pareto (@var{x}, @var{y})
 ## @deftypefnx {Function File} {} pareto (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} pareto (@dots{})
-## Draw a Pareto chart, also called ABC chart. A Pareto chart is a bar graph 
+## Draw a Pareto chart, also called ABC chart.  A Pareto chart is a bar graph 
 ## used to arrange information in such a way that priorities for process 
-## improvement can be established. It organizes and displays information 
-## to show the relative importance of data. The chart is similar to the 
+## improvement can be established.  It organizes and displays information 
+## to show the relative importance of data.  The chart is similar to the 
 ## histogram or bar chart, except that the bars are arranged in decreasing 
 ## order from left to right along the abscissa.
 ## 
@@ -33,10 +33,10 @@
 ## diagrams is that the majority of an effect is due to a small subset of the
 ## causes, so for quality improvement the first few (as presented on the 
 ## diagram) contributing causes to a problem usually account for the majority 
-## of the result. Thus, targeting these "major causes" for elimination 
+## of the result.  Thus, targeting these "major causes" for elimination 
 ## results in the most cost-effective improvement scheme.
 ##
-## The data are passed as @var{x} and the abscissa as @var{y}. If @var{y} is
+## The data are passed as @var{x} and the abscissa as @var{y}.  If @var{y} is
 ## absent, then the abscissa are assumed to be @code{1 : length (@var{x})}.
 ## @var{y} can be a string array, a cell array of strings or a numerical
 ## vector.
@@ -45,7 +45,7 @@
 ##
 ## @example
 ## @group
-## Cheese = @{"Cheddar", "Swiss", "Camembert", "Munster", "Stilton", ...
+## Cheese = @{"Cheddar", "Swiss", "Camembert", "Munster", "Stilton", @dots{}
 ##    "Blue"@};
 ## Sold = [105, 30, 70, 10, 15, 20];
 ## pareto(Sold, Cheese);
--- a/scripts/plot/pcolor.m
+++ b/scripts/plot/pcolor.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {} pcolor (@var{c})
 ## Density plot for given matrices @var{x}, and @var{y} from @code{meshgrid} and
 ## a matrix @var{c} corresponding to the @var{x} and @var{y} coordinates of
-## the mesh's vertices. If @var{x} and @var{y} are vectors, then a typical vertex
+## the mesh's vertices.  If @var{x} and @var{y} are vectors, then a typical vertex
 ## is (@var{x}(j), @var{y}(i), @var{c}(i,j)).  Thus, columns of @var{c}
 ## correspond to different @var{x} values and rows of @var{c} correspond
 ## to different @var{y} values.
@@ -32,12 +32,12 @@
 ## parent axis.
 ##
 ## The face color of each cell of the mesh is determined by interpolating
-## the values of @var{c} for the cell's vertices. Contrast this with 
+## the values of @var{c} for the cell's vertices.  Contrast this with 
 ## @code{imagesc} which renders one cell for each element of @var{c}.
 ##
 ## @code{shading} modifies an attribute determining the manner by which the
 ## face color of each cell is interpolated from the values of @var{c},
-## and the visibility of the cells' edges. By default the attribute is
+## and the visibility of the cells' edges.  By default the attribute is
 ## "faceted", which renders a single color for each cell's face with the edge
 ## visible.
 ##
--- a/scripts/plot/peaks.m
+++ b/scripts/plot/peaks.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {} peaks (@var{x}, @var{y})
 ## @deftypefnx {Function File} {@var{z} =} peaks (@dots{})
 ## @deftypefnx {Function File} {[@var{x}, @var{y}, @var{z}] =} peaks (@dots{})
-## Generate a function with lots of local maxima and minima. The function
+## Generate a function with lots of local maxima and minima.  The function
 ## has the form
 ##
 ## @iftex
@@ -39,12 +39,12 @@
 ## @end ifnottex
 ##
 ## Called without a return argument, @code{peaks} plots the surface of the 
-## above function using @code{mesh}. If @var{n} is a scalar, the @code{peaks}
+## above function using @code{mesh}.  If @var{n} is a scalar, the @code{peaks}
 ## returns the values of the above function on a @var{n}-by-@var{n} mesh over
-## the range @code{[-3,3]}. The default value for @var{n} is 49.
+## the range @code{[-3,3]}.  The default value for @var{n} is 49.
 ##
 ## If @var{n} is a vector, then it represents the @var{x} and @var{y} values
-## of the grid on which to calculate the above function. The @var{x} and 
+## of the grid on which to calculate the above function.  The @var{x} and 
 ## @var{y} values can be specified separately.
 ## @seealso{surf, mesh, meshgrid}
 ## @end deftypefn
--- a/scripts/plot/plot.m
+++ b/scripts/plot/plot.m
@@ -134,7 +134,7 @@
 ##
 ## The @var{fmt} argument may also be used to assign key titles.
 ## To do so, include the desired title between semi-colons after the
-## formatting sequence described above, e.g. "+3;Key Title;"
+## formatting sequence described above, e.g., "+3;Key Title;"
 ## Note that the last semi-colon is required and will generate an error if
 ## it is left out.
 ##
--- a/scripts/plot/plot3.m
+++ b/scripts/plot/plot3.m
@@ -27,8 +27,8 @@
 ##
 ## @noindent
 ## in which the arguments are taken to be the vertices of the points to
-## be plotted in three dimensions. If all arguments are vectors of the
-## same length, then a single continuous line is drawn. If all arguments
+## be plotted in three dimensions.  If all arguments are vectors of the
+## same length, then a single continuous line is drawn.  If all arguments
 ## are matrices, then each column of the matrices is treated as a
 ## separate line.  No attempt is made to transpose the arguments to make
 ## the number of rows match.
--- a/scripts/plot/plotmatrix.m
+++ b/scripts/plot/plotmatrix.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {} plotmatrix (@dots{}, @var{style})
 ## @deftypefnx {Function File} {} plotmatrix (@var{h}, @dots{})
 ## @deftypefnx {Function File} {[@var{h}, @var{ax}, @var{bigax}, @var{p}, @var{pax}] =} plotmatrix (@dots{})
-## Scatter plot of the columns of one matrix against another. Given the
+## Scatter plot of the columns of one matrix against another.  Given the
 ## arguments @var{x} and @var{y}, that have a matching number of rows,
 ## @code{plotmatrix} plots a set of axes corresponding to
 ##
@@ -42,15 +42,15 @@
 ##
 ## The marker to use can be changed with the @var{style} argument, that is a 
 ## string defining a marker in the same manner as the @code{plot}
-## command. If a leading axes handle @var{h} is passed to
+## command.  If a leading axes handle @var{h} is passed to
 ## @code{plotmatrix}, then this axis will be used for the plot.
 ##
 ## The optional return value @var{h} provides handles to the individual
 ## graphics objects in the scatter plots, whereas @var{ax} returns the
-## handles to the scatter plot axis objects. @var{bigax} is a hidden
+## handles to the scatter plot axis objects.  @var{bigax} is a hidden
 ## axis object that surrounds the other axes, such that the commands 
 ## @code{xlabel}, @code{title}, etc, will be associated with this hidden
-## axis. Finally @var{p} returns the graphics objects associated with
+## axis.  Finally @var{p} returns the graphics objects associated with
 ## the histogram and @var{pax} the corresponding axes objects.
 ##
 ## @example
--- a/scripts/plot/plotyy.m
+++ b/scripts/plot/plotyy.m
@@ -22,22 +22,22 @@
 ## @deftypefnx {Function File} {} plotyy (@dots{}, @var{fun1}, @var{fun2})
 ## @deftypefnx {Function File} {} plotyy (@var{h}, @dots{})
 ## @deftypefnx {Function File} {[@var{ax}, @var{h1}, @var{h2}] =} plotyy (@dots{})
-## Plots two sets of data with independent y-axes. The arguments @var{x1} and
+## Plots two sets of data with independent y-axes.  The arguments @var{x1} and
 ## @var{y1} define the arguments for the first plot and @var{x1} and @var{y2}
 ## for the second. 
 ##
 ## By default the arguments are evaluated with 
-## @code{feval (@@plot, @var{x}, @var{y})}. However the type of plot can be
+## @code{feval (@@plot, @var{x}, @var{y})}.  However the type of plot can be
 ## modified with the @var{fun} argument, in which case the plots are
-## generated by @code{feval (@var{fun}, @var{x}, @var{y})}. @var{fun} can be 
+## generated by @code{feval (@var{fun}, @var{x}, @var{y})}.  @var{fun} can be 
 ## a function handle, an inline function or a string of a function name.
 ##
 ## The function to use for each of the plots can be independently defined 
 ## with @var{fun1} and @var{fun2}.
 ##
 ## If given, @var{h} defines the principal axis in which to plot the @var{x1}
-## and @var{y1} data. The return value @var{ax} is a two element vector with
-## the axis handles of the two plots. @var{h1} and @var{h2} are handles to
+## and @var{y1} data.  The return value @var{ax} is a two element vector with
+## the axis handles of the two plots.  @var{h1} and @var{h2} are handles to
 ## the objects generated by the plot commands.
 ##
 ## @example
--- a/scripts/plot/print.m
+++ b/scripts/plot/print.m
@@ -22,10 +22,10 @@
 ## @deftypefnx {Function File} {} print (@var{h}, @var{filename}, @var{options})
 ## Print a graph, or save it to a file
 ##
-## @var{filename} defines the file name of the output file. If no
+## @var{filename} defines the file name of the output file.  If no
 ## filename is specified, output is sent to the printer.
 ##
-## @var{h} specifies the figure handle. If no handle is specified
+## @var{h} specifies the figure handle.  If no handle is specified
 ## the handle for the current figure is used.
 ##
 ## @var{options}:
@@ -35,7 +35,7 @@
 ##   @var{filename} is specified.
 ## @item -color
 ## @itemx -mono
-##   Monochrome or colour lines.
+##   Monochrome or color lines.
 ## @item -solid
 ## @itemx -dashed
 ##   Solid or dashed lines.
@@ -117,9 +117,9 @@
 ## @itemx -F@var{fontname}:@var{size}
 ## @itemx -F:@var{size}
 ##   @var{fontname} set the postscript font (for use with postscript,
-##   aifm, corel and fig). By default, 'Helvetica' is set for PS/Aifm,
-##   and 'SwitzerlandLight' for Corel. It can also be 'Times-Roman'.
-##   @var{size} is given in points. @var{fontname} is ignored for the
+##   aifm, corel and fig).  By default, 'Helvetica' is set for PS/Aifm,
+##   and 'SwitzerlandLight' for Corel.  It can also be 'Times-Roman'.
+##   @var{size} is given in points.  @var{fontname} is ignored for the
 ##   fig device.
 ## @end table
 ##
--- a/scripts/plot/quiver.m
+++ b/scripts/plot/quiver.m
@@ -26,7 +26,7 @@
 ## @deftypefnx {Function File} {@var{h} =} quiver (@dots{})
 ##
 ## Plot the @code{(@var{u}, @var{v})} components of a vector field in 
-## an @code{(@var{x}, @var{y})} meshgrid. If the grid is uniform, you can 
+## an @code{(@var{x}, @var{y})} meshgrid.  If the grid is uniform, you can 
 ## specify @var{x} and @var{y} as vectors.
 ##
 ## If @var{x} and @var{y} are undefined they are assumed to be
@@ -34,13 +34,13 @@
 ## size(@var{u})}.
 ##
 ## The variable @var{s} is a scalar defining a scaling factor to use for
-##  the arrows of the field relative to the mesh spacing. A value of 0 
-## disables all scaling. The default value is 1.
+##  the arrows of the field relative to the mesh spacing.  A value of 0 
+## disables all scaling.  The default value is 1.
 ##
 ## The style to use for the plot can be defined with a line style @var{style}
 ## in a similar manner to the line styles used with the @code{plot} command.
 ## If a marker is specified then markers at the grid points of the vectors are
-## printed rather than arrows. If the argument 'filled' is given then the
+## printed rather than arrows.  If the argument 'filled' is given then the
 ## markers as filled.
 ##
 ## The optional return value @var{h} provides a quiver group that
--- a/scripts/plot/quiver3.m
+++ b/scripts/plot/quiver3.m
@@ -26,7 +26,7 @@
 ## @deftypefnx {Function File} {@var{h} =} quiver3 (@dots{})
 ##
 ## Plot the @code{(@var{u}, @var{v}, @var{w})} components of a vector field in 
-## an @code{(@var{x}, @var{y}), @var{z}} meshgrid. If the grid is uniform, you 
+## an @code{(@var{x}, @var{y}), @var{z}} meshgrid.  If the grid is uniform, you 
 ## can specify @var{x}, @var{y} @var{z} as vectors.
 ##
 ## If @var{x}, @var{y} and @var{z} are undefined they are assumed to be
@@ -34,13 +34,13 @@
 ## size(@var{u})} and @code{@var{p} = max (size (@var{w}))}.
 ##
 ## The variable @var{s} is a scalar defining a scaling factor to use for
-##  the arrows of the field relative to the mesh spacing. A value of 0 
-## disables all scaling. The default value is 1.
+##  the arrows of the field relative to the mesh spacing.  A value of 0 
+## disables all scaling.  The default value is 1.
 ##
 ## The style to use for the plot can be defined with a line style @var{style}
 ## in a similar manner to the line styles used with the @code{plot} command.
 ## If a marker is specified then markers at the grid points of the vectors are
-## printed rather than arrows. If the argument 'filled' is given then the
+## printed rather than arrows.  If the argument 'filled' is given then the
 ## markers as filled.
 ##
 ## The optional return value @var{h} provides a quiver group that
--- a/scripts/plot/refresh.m
+++ b/scripts/plot/refresh.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} refresh ()
 ## @deftypefnx {Function File} {} refresh (@var{h})
-## Refresh a figure, forcing it to be redrawn. Called without an
+## Refresh a figure, forcing it to be redrawn.  Called without an
 ## argument the current figure is redrawn, otherwise the figure pointed
 ## to by @var{h} is redrawn.
 ## @seealso{drawnow}
--- a/scripts/plot/refreshdata.m
+++ b/scripts/plot/refreshdata.m
@@ -21,8 +21,8 @@
 ## @deftypefnx {Function File} {} refreshdata (@var{h})
 ## @deftypefnx {Function File} {} refreshdata (@var{h}, @var{ws})
 ## Evaluates any datasource properties of the current figure and updates
-## the corresponding data. If call with one or more arguments @var{h} is
-## a scalar or array of figure handles which to refresh. The data
+## the corresponding data.  If call with one or more arguments @var{h} is
+## a scalar or array of figure handles which to refresh.  The data
 ## sources are by default evaluated in the "base" workspace but can also
 ## be set in the "caller" workspace.
 ##
--- a/scripts/plot/ribbon.m
+++ b/scripts/plot/ribbon.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File}  ribbon (@var{x}, @var{y}, @var{width})
 ## @deftypefnx {Function File}  ribbon (@var{y})
 ## @deftypefnx {Function File}  {@var{h} =} ribbon (@dots{})
-## Plot a ribbon plot for the columns of @var{y} vs. @var{x}. The
+## Plot a ribbon plot for the columns of @var{y} vs.  @var{x}.  The
 ## optional parameter @var{width} specifies the width of a single ribbon
 ## (default is 0.75).  If @var{x} is omitted, a vector containing the
 ## row numbers is assumed (1:rows(Y)).  If requested, return a vector
--- a/scripts/plot/rose.m
+++ b/scripts/plot/rose.m
@@ -22,12 +22,12 @@
 ## @deftypefnx {Function File} {@var{h} =} rose (@dots{})
 ## @deftypefnx {Function File} {[@var{r}, @var{th}] =} rose (@dots{})
 ##
-## Plot an angular histogram. With one vector argument @var{th}, plots the
-## histogram with 20 angular bins. If @var{th} is a matrix, then each column
+## Plot an angular histogram.  With one vector argument @var{th}, plots the
+## histogram with 20 angular bins.  If @var{th} is a matrix, then each column
 ## of @var{th} produces a separate histogram.
 ##
 ## If @var{r} is given and is a scalar, then the histogram is produced with
-## @var{r} bins. If @var{r} is a vector, then the center of each bin are 
+## @var{r} bins.  If @var{r} is a vector, then the center of each bin are 
 ## defined by the values of @var{r}.
 ##
 ## The optional return value @var{h} provides a list of handles to the 
--- a/scripts/plot/scatter.m
+++ b/scripts/plot/scatter.m
@@ -24,10 +24,10 @@
 ## @deftypefnx {Function File} {} scatter (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} scatter (@dots{})
 ##
-## Plot a scatter plot of the data. A marker is ploted at each point 
-## defined by the points in the vectors @var{x} and @var{y}. The size of
+## Plot a scatter plot of the data.  A marker is plotted at each point 
+## defined by the points in the vectors @var{x} and @var{y}.  The size of
 ## the markers used is determined by the @var{s}, which can be a scalar, 
-## a vector of the same length of @var{x} and @var{y}. If @var{s} is not 
+## a vector of the same length of @var{x} and @var{y}.  If @var{s} is not 
 ## given or is an empty matrix, then the default value of 8 points is used.
 ##
 ## The color of the markers is determined by @var{c}, which can be a string
@@ -38,7 +38,7 @@
 ##
 ## The marker to use can be changed with the @var{style} argument, that is a 
 ## string defining a marker in the same manner as the @code{plot} command. 
-## If the argument 'filled' is given then the markers as filled. All 
+## If the argument 'filled' is given then the markers as filled.  All 
 ## additional arguments are passed to the underlying patch command.
 ##
 ## The optional return value @var{h} provides a handle to the patch object
--- a/scripts/plot/scatter3.m
+++ b/scripts/plot/scatter3.m
@@ -24,10 +24,10 @@
 ## @deftypefnx {Function File} {} scatter3 (@var{h}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} scatter3 (@dots{})
 ##
-## Plot a scatter plot of the data in 3D. A marker is plotted at each point 
-## defined by the points in the vectors @var{x}, @var{y} and @var{z}. The size
+## Plot a scatter plot of the data in 3D.  A marker is plotted at each point 
+## defined by the points in the vectors @var{x}, @var{y} and @var{z}.  The size
 ## of the markers used is determined by @var{s}, which can be a scalar or
-## a vector of the same length of @var{x}, @var{y} and @var{z}. If @var{s} is
+## a vector of the same length of @var{x}, @var{y} and @var{z}.  If @var{s} is
 ## not given or is an empty matrix, then the default value of 8 points is used.
 ##
 ## The color of the markers is determined by @var{c}, which can be a string
@@ -38,7 +38,7 @@
 ##
 ## The marker to use can be changed with the @var{style} argument, that is a 
 ## string defining a marker in the same manner as the @code{plot} command. 
-## If the argument 'filled' is given then the markers as filled. All 
+## If the argument 'filled' is given then the markers as filled.  All 
 ## additional arguments are passed to the underlying patch command.
 ##
 ## The optional return value @var{h} provides a handle to the patch object
--- a/scripts/plot/semilogxerr.m
+++ b/scripts/plot/semilogxerr.m
@@ -29,7 +29,7 @@
 ## @noindent
 ## which produces a semi-logarithm plot of @var{y} versus @var{x}
 ## with errors in the @var{y}-scale defined by @var{ey} and the plot
-## format defined by @var{fmt}. See errorbar for available formats and 
+## format defined by @var{fmt}.  See errorbar for available formats and 
 ## additional information.
 ## @seealso{errorbar, loglogerr semilogyerr}
 ## @end deftypefn
--- a/scripts/plot/shading.m
+++ b/scripts/plot/shading.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} shading (@var{type})
 ## @deftypefnx {Function File} {} shading (@var{ax}, @dots{})
-## Set the shading of surface or patch graphic objects. Valid arguments
+## Set the shading of surface or patch graphic objects.  Valid arguments
 ## for @var{type} are
 ##
 ## @table @code
--- a/scripts/plot/slice.m
+++ b/scripts/plot/slice.m
@@ -23,11 +23,11 @@
 ## @deftypefnx {Function File} {} slice (@var{v}, @var{xi}, @var{yi}, @var{zi})
 ## @deftypefnx {Function File} {@var{h} =} slice (@dots{})
 ## @deftypefnx {Function File} {@var{h} =} slice (@dots{}, @var{method})
-## Plot slices of 3D data/scalar fields. Each element of the 3-dimensional 
+## Plot slices of 3D data/scalar fields.  Each element of the 3-dimensional 
 ## array @var{v} represents a scalar value at a location given by the
-## parameters @var{x}, @var{y}, and @var{z}. The parameters @var{x},
+## parameters @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
+## 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
@@ -41,11 +41,11 @@
 ##
 ## @table @code
 ## @item "nearest"
-## Return the nearest neighbour.
+## Return the nearest neighbor.
 ## @item "linear"
-## Linear interpolation from nearest neighbours.
+## Linear interpolation from nearest neighbors.
 ## @item "cubic"
-## Cubic interpolation from four nearest neighbours (not implemented yet).
+## Cubic interpolation from four nearest neighbors (not implemented yet).
 ## @item "spline"
 ## Cubic spline interpolation---smooth first and second derivatives
 ## throughout the curve.
--- a/scripts/plot/specular.m
+++ b/scripts/plot/specular.m
@@ -23,7 +23,7 @@
 ## vector elements @var{sx}, @var{sy}, @var{sz} using Phong's approximation. 
 ## The light and view vectors can be specified using parameter @var{L} and @var{V} respectively.
 ## Both can be given as 2-element vectors [azimuth, elevation] in degrees or as 3-element
-## vector [x, y, z]. An optional 6th argument describes the specular exponent (spread) @var{se}.
+## vector [x, y, z].  An optional 6th argument describes the specular exponent (spread) @var{se}.
 ## @seealso{surfl, diffuse}
 ## @end deftypefn
 
--- a/scripts/plot/sphere.m
+++ b/scripts/plot/sphere.m
@@ -21,12 +21,12 @@
 ## @deftypefnx {Function File} {} sphere (@var{h}, @dots{})
 ## Generates three matrices in @code{meshgrid} format, such that 
 ## @code{surf (@var{x}, @var{y}, @var{z})} generates a unit sphere. 
-## The matrices of @code{@var{n}+1}-by-@code{@var{n}+1}. If @var{n} is 
+## The matrices of @code{@var{n}+1}-by-@code{@var{n}+1}.  If @var{n} is 
 ## omitted then a default value of 20 is assumed.
 ##
 ## Called with no return arguments, @code{sphere} call directly 
-## @code{surf (@var{x}, @var{y}, @var{z})}. If an axes handle is passed
-## as the first argument, the the surface is plotted to this set of axes.
+## @code{surf (@var{x}, @var{y}, @var{z})}.  If an axes handle is passed
+## as the first argument, the surface is plotted to this set of axes.
 ## @seealso{peaks}
 ## @end deftypefn
 
--- a/scripts/plot/spinmap.m
+++ b/scripts/plot/spinmap.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File}  spinmap (@var{t}, @var{inc})
 ## Cycle the colormap for @var{t} seconds with an increment
-## of @var{inc}.  Both parameters are optional.   The default cycle time
+## of @var{inc}.  Both parameters are optional.  The default cycle time
 ## is 5 seconds and the default increment is 2.
 ##
 ## A higher value of @var{inc} causes a faster cycle through the
--- a/scripts/plot/stem.m
+++ b/scripts/plot/stem.m
@@ -19,19 +19,19 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{h} =} stem (@var{x}, @var{y}, @var{linespec})
 ## @deftypefnx {Function File} {@var{h} =} stem (@dots{}, "filled")
-## Plot a stem graph from two vectors of x-y data. If only one argument
+## Plot a stem graph from two vectors of x-y data.  If only one argument
 ## is given, it is taken as the y-values and the x coordinates are taken
-## from the indicies of the elements.
+## from the indices of the elements.
 ##
 ## If @var{y} is a matrix, then each column of the matrix is plotted as
-## a separate stem graph. In this case @var{x} can either be a vector,
+## a separate stem graph.  In this case @var{x} can either be a vector,
 ## the same length as the number of rows in @var{y}, or it can be a
 ## matrix of the same size as @var{y}.
 ##
-## The default color is @code{"r"} (red). The default line style is
-## @code{"-"} and the default marker is @code{"o"}. The line style can
+## The default color is @code{"r"} (red).  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
@@ -45,10 +45,10 @@
 ## plots 10 stems with heights from 2 to 20 in blue;
 ## 
 ## The return value of @code{stem} is a vector if "stem series" graphics
-## handles, with one handle per column of the variable @var{y}. This
+## 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
@@ -30,7 +30,7 @@
 ## @end example
 ##
 ## @noindent
-## plots 31 stems with heights from 0 to 6 lying on a circle. Color 
+## plots 31 stems with heights from 0 to 6 lying on a circle.  Color 
 ## definitions with rgb-triples are not valid!
 ## @seealso{bar, barh, stem, plot}
 ## @end deftypefn
--- a/scripts/plot/surface.m
+++ b/scripts/plot/surface.m
@@ -30,7 +30,7 @@
 ## @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, 
 ## 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}
+## @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}.
 ##
 ## Any additional properties passed are assigned to the surface.
--- a/scripts/plot/surfl.m
+++ b/scripts/plot/surfl.m
@@ -21,7 +21,7 @@
 ## @deftypefnx {Function File} {} surfl (@var{z})
 ## @deftypefnx {Function File} {} surfl (@var{x}, @var{y}, @var{z}, @var{L})
 ## @deftypefnx {Function File} {} surfl (@var{x}, @var{y}, @var{z}, @var{L}, @var{P})
-## @deftypefnx {Function File} {} surfl (...,"light")
+## @deftypefnx {Function File} {} surfl (@dots{},"light")
 ## Plot a lighted surface 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 mesh.  If @var{x} and @var{y} are vectors, then a typical vertex
@@ -29,7 +29,7 @@
 ## correspond to different @var{x} values and rows of @var{z} correspond
 ## to different @var{y} values.
 ##
-## The light direction can be specified using @var{L}. It can be
+## The light direction can be specified using @var{L}.  It can be
 ## given as 2-element vector [azimuth, elevation] in degrees or as 3-element vector [lx, ly, lz].
 ## The default value is rotated 45° counter-clockwise from the current view.
 ##
@@ -44,8 +44,8 @@
 ## @end table
 ## 
 ## The default lighting mode "cdata", changes the cdata property to give the impression
-## of a lighted surface. Please note: the alternative "light" mode, which creates a light
-## object to iluminate the the surface is not implemented (yet).
+## of a lighted surface.  Please note: the alternative "light" mode, which creates a light
+## object to illuminate the surface is not implemented (yet).
 ##
 ## Example:
 ##
--- a/scripts/plot/surfnorm.m
+++ b/scripts/plot/surfnorm.m
@@ -21,8 +21,8 @@
 ## @deftypefnx {Function File} {} surfnorm (@var{z})
 ## @deftypefnx {Function File} {[@var{nx}, @var{ny}, @var{nz}] =} surfnorm (@dots{})
 ## @deftypefnx {Function File} {} surfnorm (@var{h}, @dots{})
-## Find the vectors normal to a meshgridded surface. The meshed gridded 
-## surface is defined by @var{x}, @var{y}, and @var{z}. If @var{x} and 
+## Find the vectors normal to a meshgridded surface.  The meshed gridded 
+## surface is defined by @var{x}, @var{y}, and @var{z}.  If @var{x} and 
 ## @var{y} are not defined, then it is assumed that they are given by
 ##
 ## @example
@@ -31,13 +31,13 @@
 ## @end example
 ##
 ## If no return arguments are requested, a surface plot with the normal 
-## vectors to the surface is plotted. Otherwise the componets of the normal
+## vectors to the surface is plotted.  Otherwise the components of the normal
 ## vectors at the mesh gridded points are returned in @var{nx}, @var{ny},
 ## and @var{nz}.
 ##
 ## The normal vectors are calculated by taking the cross product of the 
-## diagonals of eash of teh quadrilaterals in the meshgrid to find the 
-## normal vectors of the centers of these quadrilaterals. The four nearest
+## diagonals of each of the quadrilaterals in the meshgrid to find the 
+## normal vectors of the centers of these quadrilaterals.  The four nearest
 ## normal vectors to the meshgrid points are then averaged to obtain the 
 ## normal to the surface at the meshgridded points.
 ##
--- a/scripts/plot/waitforbuttonpress.m
+++ b/scripts/plot/waitforbuttonpress.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{b} =} waitforbuttonpress ()
-## Wait for button or mouse press.over a figure window. The value of
+## Wait for button or mouse press.over a figure window.  The value of
 ## @var{b} returns 0 if a mouse button was pressed or 1 is a key was
 ## pressed.
 ## @seealso{ginput}
--- a/scripts/plot/xlabel.m
+++ b/scripts/plot/xlabel.m
@@ -22,7 +22,7 @@
 ## @deftypefnx {Function File} {} ylabel (@var{string})
 ## @deftypefnx {Function File} {} zlabel (@var{string})
 ## @deftypefnx {Function File} {} xlabel (@var{h}, @var{string})
-## Specify x, y, and z axis labels for the current figure. If @var{h} is
+## Specify x, y, and z axis labels for the current figure.  If @var{h} is
 ## specified then label the axis defined by @var{h}.
 ## @seealso{plot, semilogx, semilogy, loglog, polar, mesh, contour,
 ## bar, stairs, title}
--- a/scripts/plot/xlim.m
+++ b/scripts/plot/xlim.m
@@ -22,13 +22,13 @@
 ## @deftypefnx {Function File} {@var{m} =} xlim ('mode')
 ## @deftypefnx {Function File} {} xlim (@var{m})
 ## @deftypefnx {Function File} {} xlim (@var{h}, @dots{})
-## Get or set the limits of the x axis of the current plot. Called without
+## Get or set the limits of the x axis of the current plot.  Called without
 ## arguments @code{xlim} returns the x axis limits of the current plot.
 ## If passed a two element vector @var{xl}, the limits of the x axis are set
 ## to this value.
 ##
 ## The current mode for calculation of the x axis can be returned with a
-## call @code{xlim ('mode')}, and can be either 'auto' or 'manual'. The 
+## call @code{xlim ('mode')}, and can be either 'auto' or 'manual'.  The 
 ## current plotting mode can be set by passing either 'auto' or 'manual' 
 ## as the argument.
 ##
--- a/scripts/plot/ylim.m
+++ b/scripts/plot/ylim.m
@@ -22,13 +22,13 @@
 ## @deftypefnx {Function File} {@var{m} =} ylim ('mode')
 ## @deftypefnx {Function File} {} ylim (@var{m})
 ## @deftypefnx {Function File} {} ylim (@var{h}, @dots{})
-## Get or set the limits of the y axis of the current plot. Called without
+## Get or set the limits of the y axis of the current plot.  Called without
 ## arguments @code{ylim} returns the y axis limits of the current plot.
 ## If passed a two element vector @var{xl}, the limits of the y axis are set
 ## to this value.
 ##
 ## The current mode for calculation of the y axis can be returned with a
-## call @code{ylim ('mode')}, and can be either 'auto' or 'manual'. The 
+## call @code{ylim ('mode')}, and can be either 'auto' or 'manual'.  The 
 ## current plotting mode can be set by passing either 'auto' or 'manual' 
 ## as the argument.
 ##
--- a/scripts/plot/zlim.m
+++ b/scripts/plot/zlim.m
@@ -22,13 +22,13 @@
 ## @deftypefnx {Function File} {@var{m} =} zlim ('mode')
 ## @deftypefnx {Function File} {} zlim (@var{m})
 ## @deftypefnx {Function File} {} zlim (@var{h}, @dots{})
-## Get or set the limits of the z axis of the current plot. Called without
+## Get or set the limits of the z axis of the current plot.  Called without
 ## arguments @code{zlim} returns the z axis limits of the current plot.
 ## If passed a two element vector @var{xl}, the limits of the z axis are set
 ## to this value.
 ##
 ## The current mode for calculation of the z axis can be returned with a
-## call @code{zlim ('mode')}, and can be either 'auto' or 'manual'. The 
+## call @code{zlim ('mode')}, and can be either 'auto' or 'manual'.  The 
 ## current plotting mode can be set by passing either 'auto' or 'manual' 
 ## as the argument.
 ##
--- a/scripts/special-matrix/magic.m
+++ b/scripts/special-matrix/magic.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} magic (@var{n})
 ##
-## Create an @var{n}-by-@var{n} magic square. Note that @code{magic
+## Create an @var{n}-by-@var{n} magic square.  Note that @code{magic
 ## (@var{2})} is undefined since there is no 2-by-2 magic square.
 ##
 ## @end deftypefn
--- a/scripts/special-matrix/pascal.m
+++ b/scripts/special-matrix/pascal.m
@@ -25,7 +25,7 @@
 ## inverse, that is @code{pascal (@var{n}, 1) ^ 2 == eye (@var{n})}.
 ## 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})}.
+## matrix.  That is @code{pascal (@var{n}, 2) ^ 3 == eye (@var{n})}.
 ##
 ## @seealso{hankel, vander, sylvester_matrix, hilb, invhilb, toeplitz
 ##           hadamard, wilkinson, compan, rosser}
--- a/scripts/special-matrix/rosser.m
+++ b/scripts/special-matrix/rosser.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} rosser ()
 ##
-## Returns the Rosser matrix. This is a difficult test case used to test
+## Returns the Rosser matrix.  This is a difficult test case used to test
 ## eigenvalue algorithms.
 ##
 ## @seealso{hankel, vander, sylvester_matrix, hilb, invhilb, toeplitz
--- a/scripts/special-matrix/toeplitz.m
+++ b/scripts/special-matrix/toeplitz.m
@@ -41,13 +41,13 @@
 ##
 ## @example
 ## @group
-## c(0)  r(1)   r(2)  ...  r(n)
-## c(1)  c(0)   r(1)  ... r(n-1)
-## c(2)  c(1)   c(0)  ... r(n-2)
+## c(0)  r(1)   r(2)  @dots{}  r(n)
+## c(1)  c(0)   r(1)  @dots{} r(n-1)
+## c(2)  c(1)   c(0)  @dots{} r(n-2)
 ##  .     ,      ,   .      .
 ##  .     ,      ,     .    .
 ##  .     ,      ,       .  .
-## c(n) c(n-1) c(n-2) ...  c(0)
+## c(n) c(n-1) c(n-2) @dots{}  c(0)
 ## @end group
 ## @end example
 ## @end ifnottex
--- a/scripts/special-matrix/vander.m
+++ b/scripts/special-matrix/vander.m
@@ -36,12 +36,12 @@
 ##
 ## @example
 ## @group
-## c(1)^(n-1) ... c(1)^2  c(1)  1
-## c(2)^(n-1) ... c(2)^2  c(2)  1
+## c(1)^(n-1) @dots{} c(1)^2  c(1)  1
+## c(2)^(n-1) @dots{} c(2)^2  c(2)  1
 ##     .     .      .      .    .
 ##     .       .    .      .    .
 ##     .         .  .      .    .
-## c(n)^(n-1) ... c(n)^2  c(n)  1
+## c(n)^(n-1) @dots{} c(n)^2  c(n)  1
 ## @end group
 ## @end example
 ## @end ifnottex
--- a/scripts/strings/base2dec.m
+++ b/scripts/strings/base2dec.m
@@ -32,7 +32,7 @@
 ## converting so that trailing spaces are ignored.
 ##
 ## If @var{b} is a string, the characters of @var{b} are used as the
-## symbols for the digits of @var{s}. Space (' ') may not be used as a
+## symbols for the digits of @var{s}.  Space (' ') may not be used as a
 ## symbol.
 ##
 ## @example
@@ -86,4 +86,4 @@
 %!error <Invalid call to base2dec.*> base2dec("11120");
 %!error <Invalid call to base2dec.*> base2dec("11120", 3, 4);
 %!assert(base2dec ("11120", 3), 123);
-%!assert(base2dec ("yyyzx", "xyz"), 123);
\ No newline at end of file
+%!assert(base2dec ("yyyzx", "xyz"), 123);
--- a/scripts/strings/cstrcat.m
+++ b/scripts/strings/cstrcat.m
@@ -20,7 +20,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} cstrcat (@var{s1}, @var{s2}, @dots{})
 ## Return a string containing all the arguments concatenated
-## horizontally. Trailing white space is preserved. For example,
+## horizontally.  Trailing white space is preserved.  For example,
 ##
 ## @example
 ## @group
--- a/scripts/strings/mat2str.m
+++ b/scripts/strings/mat2str.m
@@ -20,15 +20,15 @@
 ## @deftypefn {Function File} {@var{s} =} mat2str (@var{x}, @var{n})
 ## @deftypefnx {Function File} {@var{s} =} mat2str (@dots{}, 'class')
 ##
-## Format real/complex numerical matrices as strings. This function
+## Format real/complex numerical matrices as strings.  This function
 ## returns values that are suitable for the use of the @code{eval}
 ## function.
 ##
-## The precision of the values is given by @var{n}. If @var{n} is a
+## The precision of the values is given by @var{n}.  If @var{n} is a
 ## scalar then both real and imaginary parts of the matrix are printed
-## to the same precision. Otherwise @code{@var{n} (1)} defines the
+## to the same precision.  Otherwise @code{@var{n} (1)} defines the
 ## precision of the real part and @code{@var{n} (2)} defines the
-## precision of the imaginary part. The default for @var{n} is 17.
+## precision of the imaginary part.  The default for @var{n} is 17.
 ##
 ## If the argument 'class' is given, then the class of @var{x} is
 ## included in the string in such a way that the eval will result in the
--- a/scripts/strings/regexptranslate.m
+++ b/scripts/strings/regexptranslate.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} regexptranslate (@var{op}, @var{s})
-## Translate a string for use in a regular expression. This might
+## Translate a string for use in a regular expression.  This might
 ## include either wildcard replacement or special character escaping.
 ## The behavior can be controlled by the @var{op} that can have the
 ## values
@@ -26,7 +26,8 @@
 ## @table @asis
 ## @item "wildcard"
 ## The wildcard characters @code{.}, @code{*} and @code{?} are replaced
-## with wildcards that are appropriate for a regular expression. For example:
+## with wildcards that are appropriate for a regular expression. 
+## For example:
 ## @example
 ## @group
 ## regexptranslate ("wildcard", "*.m")
@@ -36,7 +37,7 @@
 ## 
 ## @item "escape"
 ## The characters @code{$.?[]}, that have special meaning for regular
-## expressions are escaped so that they are treated literally. For example:
+## expressions are escaped so that they are treated literally.  For example:
 ## @example
 ## @group
 ## regexptranslate ("escape", "12.5")
--- a/scripts/strings/str2num.m
+++ b/scripts/strings/str2num.m
@@ -19,7 +19,7 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} str2num (@var{s})
 ## Convert the string (or character array) @var{s} to a number (or an
-## array). Examples:  
+## array).  Examples:  
 ##
 ## @example
 ## @group
--- a/scripts/strings/strcat.m
+++ b/scripts/strings/strcat.m
@@ -23,7 +23,7 @@
 ## horizontally.  If the arguments are cells strings,  @code{strcat}
 ## returns a cell string with the individual cells concatenated.
 ## For numerical input, each element is converted to the
-## corresponding ASCII character. Trailing white space is eliminated.
+## corresponding ASCII character.  Trailing white space is eliminated.
 ## For example,
 ##
 ## @example
--- a/scripts/strings/strchr.m
+++ b/scripts/strings/strchr.m
@@ -20,7 +20,7 @@
 ## @deftypefn {Function File} {@var{idx} =} strchr (@var{str}, @var{chars})
 ## @deftypefnx {Function File} {@var{idx} =} strchr (@var{str}, @var{chars}, @var{n})
 ## @deftypefnx {Function File} {@var{idx} =} strchr (@var{str}, @var{chars}, @var{n}, @var{direction})
-## Search for the string @var{str} for occurences of characters from the set @var{chars}.
+## Search for the string @var{str} for occurrences of characters from the set @var{chars}.
 ## The return value, as well as the @var{n} and @var{direction} arguments behave
 ## identically as in @code{find}.
 ##
--- a/scripts/strings/strcmpi.m
+++ b/scripts/strings/strcmpi.m
@@ -23,7 +23,7 @@
 ##
 ## If either @var{s1} or @var{s2} is a cell array of strings, then an array
 ## of the same size is returned, containing the values described above for
-## every member of the cell array. The other argument may also be a cell
+## every member of the cell array.  The other argument may also be a cell
 ## array of strings (of the same size or with only one element), char matrix
 ## or character string.
 ##
--- a/scripts/strings/strfind.m
+++ b/scripts/strings/strfind.m
@@ -26,7 +26,7 @@
 ##
 ## If the cell array of strings @var{cellstr} is specified instead of the
 ## string @var{str}, then @var{idx} is a cell array of vectors, as specified
-## above. Examples:
+## above.  Examples:
 ##
 ## @example
 ## @group
--- a/scripts/strings/strjust.m
+++ b/scripts/strings/strjust.m
@@ -21,7 +21,7 @@
 ## Shift the non-blank text of @var{s} to the left, right or center of
 ## the string.  If @var{s} is a string array, justify each string in the
 ## array.  Null characters are replaced by blanks.  If no justification
-## is specified, then all rows are right-justified. For example:
+## is specified, then all rows are right-justified.  For example:
 ##
 ## @example
 ## @group
--- a/scripts/strings/strtok.m
+++ b/scripts/strings/strtok.m
@@ -21,7 +21,7 @@
 ## 
 ## Find all characters up to but not including the first character which
 ## is in the string delim.  If @var{rem} is requested, it contains the
-## remainder of the string, starting at the first deliminator. Leading
+## remainder of the string, starting at the first delimiter.  Leading
 ## delimiters are ignored.  If @var{delim} is not specified, space is
 ## assumed.  For example: 
 ##
--- a/scripts/strings/strtrim.m
+++ b/scripts/strings/strtrim.m
@@ -21,7 +21,7 @@
 ## Remove leading and trailing blanks and nulls from @var{s}.  If
 ## @var{s} is a matrix, @var{strtrim} trims each row to the length of
 ## longest string.  If @var{s} is a cell array, operate recursively on
-## each element of the cell array. For example:
+## each element of the cell array.  For example:
 ##
 ## @example
 ## @group
--- a/scripts/strings/strtrunc.m
+++ b/scripts/strings/strtrunc.m
@@ -18,7 +18,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} strtrunc (@var{s}, @var{n})
-## Truncate the character string @var{s} to length @var{n}. If @var{s}
+## Truncate the character string @var{s} to length @var{n}.  If @var{s}
 ## is a char matrix, then the number of columns is adjusted.
 ##
 ## If @var{s} is a cell array of strings, then the operation is performed
--- a/src/DLD-FUNCTIONS/bsxfun.cc
+++ b/src/DLD-FUNCTIONS/bsxfun.cc
@@ -130,11 +130,11 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} bsxfun (@var{f}, @var{a}, @var{b})\n\
 Applies a binary function @var{f} element-wise to two matrix arguments\n\
-@var{a} and @var{b}. The function @var{f} must be capable of accepting\n\
+@var{a} and @var{b}.  The function @var{f} must be capable of accepting\n\
 two column vector arguments of equal length, or one column vector\n\
 argument and a scalar.\n\
 \n\
-The dimensions of @var{a} and @var{b} must be equal or singleton. The\n\
+The dimensions of @var{a} and @var{b} must be equal or singleton.  The\n\
 singleton dimensions of the matrices will be expanded to the same\n\
 dimensionality as the other matrix.\n\
 \n\
--- a/src/DLD-FUNCTIONS/cellfun.cc
+++ b/src/DLD-FUNCTIONS/cellfun.cc
@@ -213,11 +213,11 @@
 \n\
 Additionally, @code{cellfun} accepts an arbitrary function @var{func}\n\
 in the form of an inline function, function handle, or the name of a\n\
-function (in a character string). In the case of a character string\n\
+function (in a character string).  In the case of a character string\n\
 argument, the function must accept a single argument named @var{x}, and\n\
-it must return a string value. The function can take one or more arguments,\n\
-with the inputs args given by @var{c}, @var{d}, etc. Equally the function\n\
-can return one or more output arguments. For example\n\
+it must return a string value.  The function can take one or more arguments,\n\
+with the inputs args given by @var{c}, @var{d}, etc.  Equally the function\n\
+can return one or more output arguments.  For example\n\
 \n\
 @example\n\
 @group\n\
@@ -231,8 +231,8 @@
 \n\
 If the parameter 'UniformOutput' is set to true (the default), then the function\n\
 must return a single element which will be concatenated into the\n\
-return value. If 'UniformOutput' is false, the outputs are concatenated in\n\
-a cell array. For example\n\
+return value.  If 'UniformOutput' is false, the outputs are concatenated in\n\
+a cell array.  For example\n\
 \n\
 @example\n\
 @group\n\
@@ -243,17 +243,17 @@
 @end example\n\
 \n\
 Given the parameter 'ErrorHandler', then @var{errfunc} defines a function to\n\
-call in case @var{func} generates an error. The form of the function is\n\
+call in case @var{func} generates an error.  The form of the function is\n\
 \n\
 @example\n\
 function [@dots{}] = errfunc (@var{s}, @dots{})\n\
 @end example\n\
 \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\
+@var{func}, given by @var{s}.  This is a structure with the elements\n\
 'identifier', 'message' and 'index', giving respectively the error\n\
 identifier, the error message, and the index into the input arguments\n\
-of the element that caused the error. For example\n\
+of the element that caused the error.  For example\n\
 \n\
 @example\n\
 @group\n\
@@ -902,7 +902,7 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{c} =} num2cell (@var{m})\n\
 @deftypefnx {Loadable Function} {@var{c} =} num2cell (@var{m}, @var{dim})\n\
-Convert the matrix @var{m} into a cell array. If @var{dim} is defined, the\n\
+Convert the matrix @var{m} into a cell array.  If @var{dim} is defined, the\n\
 value @var{c} is of dimension 1 in this dimension and the elements of\n\
 @var{m} are placed in slices in @var{c}.\n\
 @seealso{mat2cell}\n\
@@ -999,9 +999,9 @@
 @deftypefn {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{m}, @var{n})\n\
 @deftypefnx {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{d1}, @var{d2}, @dots{})\n\
 @deftypefnx {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{r})\n\
-Convert the matrix @var{a} to a cell array. If @var{a} is 2-D, then\n\
+Convert the matrix @var{a} to a cell array.  If @var{a} is 2-D, then\n\
 it is required that @code{sum (@var{m}) == size (@var{a}, 1)} and\n\
-@code{sum (@var{n}) == size (@var{a}, 2)}. Similarly, if @var{a} is\n\
+@code{sum (@var{n}) == size (@var{a}, 2)}.  Similarly, if @var{a} is\n\
 a multi-dimensional and the number of dimensional arguments is equal\n\
 to the dimensions of @var{a}, then it is required that @code{sum (@var{di})\n\
 == size (@var{a}, i)}.\n\
--- a/src/DLD-FUNCTIONS/dispatch.cc
+++ b/src/DLD-FUNCTIONS/dispatch.cc
@@ -81,7 +81,7 @@
 \n\
 Replace the function @var{f} with a dispatch so that function @var{r}\n\
 is called when @var{f} is called with the first argument of the named\n\
-@var{type}. If the type is @var{any} then call @var{r} if no other type\n\
+@var{type}.  If the type is @var{any} then call @var{r} if no other type\n\
 matches.  The original function @var{f} is accessible using\n\
 @code{builtin (@var{f}, @dots{})}.\n\
 \n\
--- a/src/DLD-FUNCTIONS/dlmread.cc
+++ b/src/DLD-FUNCTIONS/dlmread.cc
@@ -154,17 +154,17 @@
 @deftypefnx {Loadable Function} {@var{data} =} dlmread (@var{file}, @var{sep})\n\
 @deftypefnx {Loadable Function} {@var{data} =} dlmread (@var{file}, @var{sep}, @var{r0}, @var{c0})\n\
 @deftypefnx {Loadable Function} {@var{data} =} dlmread (@var{file}, @var{sep}, @var{range})\n\
-Read the matrix @var{data} from a text file. If not defined the separator\n\
-between fields is determined from the file itself. Otherwise the\n\
+Read the matrix @var{data} from a text file.  If not defined the separator\n\
+between fields is determined from the file itself.  Otherwise the\n\
 separation character is defined by @var{sep}.\n\
 \n\
 Given two scalar arguments @var{r0} and @var{c0}, these define the starting\n\
-row and column of the data to be read. These values are indexed from zero,\n\
+row and column of the data to be read.  These values are indexed from zero,\n\
 such that the first row corresponds to an index of zero.\n\
 \n\
 The @var{range} parameter must be a 4 element vector containing  the upper\n\
 left and lower right corner @code{[@var{R0},@var{C0},@var{R1},@var{C1}]} or\n\
-a spreadsheet style range such as 'A2..Q15'. The lowest index value is zero.\n\
+a spreadsheet style range such as 'A2..Q15'.  The lowest index value is zero.\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/find.cc
+++ b/src/DLD-FUNCTIONS/find.cc
@@ -425,7 +425,7 @@
 \n\
 Note that this function is particularly useful for sparse matrices, as\n\
 it extracts the non-zero elements as vectors, which can then be used to\n\
-create the original matrix. For example,\n\
+create the original matrix.  For example,\n\
 \n\
 @example\n\
 @group\n\
--- a/src/DLD-FUNCTIONS/hex2num.cc
+++ b/src/DLD-FUNCTIONS/hex2num.cc
@@ -36,7 +36,7 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{n} =} hex2num (@var{s})\n\
 Typecast the 16 character hexadecimal character matrix to an IEEE 754\n\
-double precision number. If fewer than 16 characters are given the\n\
+double precision number.  If fewer than 16 characters are given the\n\
 strings are right padded with '0' characters.\n\
 \n\
 Given a string matrix, @code{hex2num} treats each row as a separate\n\
@@ -122,7 +122,7 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{s} =} num2hex (@var{n})\n\
 Typecast a double precision number or vector to a 16 character hexadecimal\n\
-string of the IEEE 754 representation of the number. For example\n\
+string of the IEEE 754 representation of the number.  For example\n\
 \n\
 @example\n\
 num2hex ([-1, 1, e, Inf, NaN, NA]);\n\
--- a/src/DLD-FUNCTIONS/rand.cc
+++ b/src/DLD-FUNCTIONS/rand.cc
@@ -353,9 +353,9 @@
 Older versions of Octave used a different random number generator.\n\
 The new generator is used by default\n\
 as it is significantly faster than the old generator, and produces\n\
-random numbers with a significantly longer cycle time. However, in\n\
+random numbers with a significantly longer cycle time.  However, in\n\
 some circumstances it might be desirable to obtain the same random\n\
-sequences as used by the old generators. To do this the keyword\n\
+sequences as used by the old generators.  To do this the keyword\n\
 \"seed\" is used to specify that the old generators should be use,\n\
 as in\n\
 \n\
@@ -474,11 +474,11 @@
 @deftypefnx {Loadable Function} {} randn (\"state\", @var{x})\n\
 @deftypefnx {Loadable Function} {} randn (\"seed\", @var{x})\n\
 Return a matrix with normally distributed pseudo-random\n\
-elements having zero mean and variance one. The arguments are\n\
+elements having zero mean and variance one.  The arguments are\n\
 handled the same as the arguments for @code{rand}.\n\
 \n\
 By default, @code{randn} uses the Marsaglia and Tsang ``Ziggurat technique'' to\n\
-transform from a uniform to a normal distribution. (G. Marsaglia and\n\
+transform from a uniform to a normal distribution.  (G. Marsaglia and\n\
 W.W. Tsang, @cite{Ziggurat method for generating random variables},\n\
 J. Statistical Software, vol 5, 2000,\n\
 @url{http://www.jstatsoft.org/v05/i08/})\n\
@@ -548,11 +548,11 @@
 @deftypefnx {Loadable Function} {} rande (@var{n}, @var{m})\n\
 @deftypefnx {Loadable Function} {} rande (\"state\", @var{x})\n\
 @deftypefnx {Loadable Function} {} rande (\"seed\", @var{x})\n\
-Return a matrix with exponentially distributed random elements. The\n\
+Return a matrix with exponentially distributed random elements.  The\n\
 arguments are handled the same as the arguments for @code{rand}.\n\
 \n\
 By default, @code{randn} uses the Marsaglia and Tsang ``Ziggurat technique'' to\n\
-transform from a uniform to a exponential distribution. (G. Marsaglia and\n\
+transform from a uniform to a exponential distribution.  (G. Marsaglia and\n\
 W.W. Tsang, @cite{Ziggurat method for generating random variables},\n\
 J. Statistical Software, vol 5, 2000,\n\
 @url{http://www.jstatsoft.org/v05/i08/})\n\
@@ -672,9 +672,9 @@
 r(r > 0) = 2 * randg (r(r > 0))\n\
 r(df > 0) += 2 * randg (df(df > 0)/2)\n\
 @end example\n\
-@item @code{Dirichlet (a1, ..., ak)}\n\
+@item @code{Dirichlet (a1, @dots{} ak)}\n\
 @example\n\
-r = (randg (a1), ..., randg (ak))\n\
+r = (randg (a1), @dots{}, randg (ak))\n\
 r = r / sum (r)\n\
 @end example\n\
 @end table\n\
--- a/src/DLD-FUNCTIONS/regexp.cc
+++ b/src/DLD-FUNCTIONS/regexp.cc
@@ -876,7 +876,7 @@
 @deftypefn {Loadable Function} {[@var{s}, @var{e}, @var{te}, @var{m}, @var{t}, @var{nm}] =} regexp (@var{str}, @var{pat})\n\
 @deftypefnx {Loadable Function} {[@dots{}] =} regexp (@var{str}, @var{pat}, @var{opts}, @dots{})\n\
 \n\
-Regular expression string matching. Matches @var{pat} in @var{str} and\n\
+Regular expression string matching.  Matches @var{pat} in @var{str} and\n\
 returns the position and matching substrings or empty values if there are\n\
 none.\n\
 \n\
@@ -905,14 +905,14 @@
 @item ()\n\
 Grouping operator\n\
 @item |\n\
-Alternation operator. Match one of a choice of regular expressions. The\n\
+Alternation operator.  Match one of a choice of regular expressions.  The\n\
 alternatives must be delimited by the grouping operator @code{()} above\n\
 @item ^ $\n\
-Anchoring operator. @code{^} matches the start of the string @var{str} and\n\
+Anchoring operator.  @code{^} matches the start of the string @var{str} and\n\
 @code{$} the end\n\
 @end table\n\
 \n\
-In addition the following escaped characters have special meaning. It should\n\
+In addition the following escaped characters have special meaning.  It should\n\
 be noted that it is recommended to quote @var{pat} in single quotes rather\n\
 than double quotes, to avoid the escape sequences being interpreted by Octave\n\
 before being passed to @code{regexp}.\n\
@@ -961,12 +961,12 @@
 \n\
 @item @var{nm}\n\
 A structure containing the text of each matched named token, with the name\n\
-being used as the fieldname. A named token is denoted as\n\
+being used as the fieldname.  A named token is denoted as\n\
 @code{(?<name>@dots{})}\n\
 @end table\n\
 \n\
 Particular output arguments or the order of the output arguments can be\n\
-selected by additional @var{opts} arguments. These are strings and the\n\
+selected by additional @var{opts} arguments.  These are strings and the\n\
 correspondence between the output arguments and the optional argument\n\
 are\n\
 \n\
@@ -980,7 +980,7 @@
 @end multitable\n\
 \n\
 A further optional argument is 'once', that limits the number of returned\n\
-matches to the first match. Additional arguments are\n\
+matches to the first match.  Additional arguments are\n\
 \n\
 @table @asis\n\
 @item matchcase\n\
@@ -1192,7 +1192,7 @@
 @deftypefn {Loadable Function} {[@var{s}, @var{e}, @var{te}, @var{m}, @var{t}, @var{nm}] =} regexpi (@var{str}, @var{pat})\n\
 @deftypefnx {Loadable Function} {[@dots{}] =} regexpi (@var{str}, @var{pat}, @var{opts}, @dots{})\n\
 \n\
-Case insensitive regular expression string matching. Matches @var{pat} in\n\
+Case insensitive regular expression string matching.  Matches @var{pat} in\n\
 @var{str} and returns the position and matching substrings or empty values\n\
 if there are none.  @xref{doc-regexp,,regexp}, for more details\n\
 @end deftypefn")
--- a/src/DLD-FUNCTIONS/typecast.cc
+++ b/src/DLD-FUNCTIONS/typecast.cc
@@ -132,7 +132,7 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} typecast (@var{x}, @var{type})\n\
 Convert from one datatype to another without changing the underlying\n\
-data. The argument @var{type} defines the type of the return argument\n\
+data.  The argument @var{type} defines the type of the return argument\n\
 and must be one of 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16',\n\
 'int32', 'int64', 'single' or 'double'.\n\
 \n\
--- a/src/data.cc
+++ b/src/data.cc
@@ -4475,7 +4475,7 @@
 DEFUN (reshape, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} reshape (@var{a}, @var{m}, @var{n}, @dots{})\n\
-@deftypefnx {Built-in Function} {} reshape (@var{a}, @var{siz})\n\
+@deftypefnx {Built-in Function} {} reshape (@var{a}, @var{size})\n\
 Return a matrix with the given dimensions whose elements are taken\n\
 from the matrix @var{a}.  The elements of the matrix are accessed in\n\
 column-major order (like Fortran arrays are stored).\n\
@@ -5341,8 +5341,8 @@
 @end example\n\
 \n\
 If the optional argument @var{dim} is given, then the matrix is sorted\n\
-along the dimension defined by @var{dim}. The optional argument @code{mode}\n\
-defines the order in which the values will be sorted. Valid values of\n\
+along the dimension defined by @var{dim}.  The optional argument @code{mode}\n\
+defines the order in which the values will be sorted.  Valid values of\n\
 @code{mode} are `ascend' or `descend'.\n\
 \n\
 For equal elements, the indices are such that the equal elements are listed\n\
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -499,7 +499,7 @@
 String representing the function name.  When already in debug\n\
 mode this should be left out and only the line should be given.\n\
 @item line\n\
-Line number you would like the breakpoint to be set on. Multiple\n\
+Line number you would like the breakpoint to be set on.  Multiple\n\
 lines might be given as separate arguments or as a vector.\n\
 @end table\n\
 \n\
@@ -531,11 +531,11 @@
 String representing the function name.  When already in debug\n\
 mode this should be left out and only the line should be given.\n\
 @item line\n\
-Line number where you would like to remove the breakpoint. Multiple\n\
+Line number where you would like to remove the breakpoint.  Multiple\n\
 lines might be given as separate arguments or as a vector.\n\
 @end table\n\
 No checking is done to make sure that the line you requested is really\n\
-a breakpoint. If you get the wrong line nothing will happen.\n\
+a breakpoint.  If you get the wrong line nothing will happen.\n\
 @seealso{dbstop, dbstatus, dbwhere}\n\
 @end deftypefn")
 {
@@ -994,12 +994,12 @@
 @deftypefn {Command} {} dbstep @var{n}\n\
 @deftypefnx {Command} {} dbstep in\n\
 @deftypefnx {Command} {} dbstep out\n\
-In debugging mode, execute the next @var{n} lines of code. If @var{n} is\n\
-omitted execute the next line of code. If the next line of code is itself\n\
+In debugging mode, execute the next @var{n} lines of code.  If @var{n} is\n\
+omitted execute the next line of code.  If the next line of code is itself\n\
 defined in terms of an m-file remain in the existing function.\n\
 \n\
 Using @code{dbstep in} will cause execution of the next line to step into\n\
-any m-files defined on the next line. Using @code{dbstep out} with cause\n\
+any m-files defined on the next line.  Using @code{dbstep out} with cause\n\
 execution to continue until the current function returns.\n\
 @seealso{dbcont, dbquit}\n\
 @end deftypefn")
--- a/src/error.cc
+++ b/src/error.cc
@@ -780,10 +780,10 @@
 DEFUN (rethrow, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} rethrow (@var{err})\n\
-Reissues a previous error as defined by @var{err}. @var{err} is a structure\n\
-that must contain at least the 'message' and 'identifier' fields. @var{err}\n\
+Reissues a previous error as defined by @var{err}.  @var{err} is a structure\n\
+that must contain at least the 'message' and 'identifier' fields.  @var{err}\n\
 can also contain a field 'stack' that gives information on the assumed\n\
-location of the error. Typically @var{err} is returned from\n\
+location of the error.  Typically @var{err} is returned from\n\
 @code{lasterror}.\n\
 @seealso{lasterror, lasterr, error}\n\
 @end deftypefn")
@@ -1373,9 +1373,9 @@
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {@var{err} =} lasterror (@var{err})\n\
 @deftypefnx {Built-in Function} {} lasterror ('reset')\n\
-Returns or sets the last error message. Called without any arguments\n\
+Returns or sets the last error message.  Called without any arguments\n\
 returns a structure containing the last error message, as well as other\n\
-information related to this error. The elements of this structure are:\n\
+information related to this error.  The elements of this structure are:\n\
 \n\
 @table @asis\n\
 @item 'message'\n\
@@ -1383,9 +1383,9 @@
 @item 'identifier'\n\
 The message identifier of this error message\n\
 @item 'stack'\n\
-A structure containing information on where the message occurred. This might\n\
+A structure containing information on where the message occurred.  This might\n\
 be an empty structure if this in the case where this information cannot\n\
-be obtained. The fields of this structure are:\n\
+be obtained.  The fields of this structure are:\n\
 \n\
 @table @asis\n\
 @item 'file'\n\
@@ -1400,8 +1400,8 @@
 @end table\n\
 \n\
 The @var{err} structure may also be passed to @code{lasterror} to set the\n\
-information about the last error. The only constraint on @var{err} in that\n\
-case is that it is a scalar structure. Any fields of @var{err} that match\n\
+information about the last error.  The only constraint on @var{err} in that\n\
+case is that it is a scalar structure.  Any fields of @var{err} that match\n\
 the above are set to the value passed in @var{err}, while other fields are\n\
 set to their default values.\n\
 \n\
--- a/src/file-io.cc
+++ b/src/file-io.cc
@@ -754,7 +754,7 @@
 The pointer is positioned @var{offset} characters from the @var{origin},\n\
 which may be one of the predefined variables @code{SEEK_CUR} (current\n\
 position), @code{SEEK_SET} (beginning), or @code{SEEK_END} (end of\n\
-file) or strings \"cof\", \"bof\" or \"eof\". If @var{origin} is omitted,\n\
+file) or strings \"cof\", \"bof\" or \"eof\".  If @var{origin} is omitted,\n\
 @code{SEEK_SET} is assumed.  The offset must be zero, or a value returned\n\
 by @code{ftell} (in which case @var{origin} must be @code{SEEK_SET}).\n\
 \n\
--- a/src/graphics.cc
+++ b/src/graphics.cc
@@ -5093,19 +5093,19 @@
    "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} addlistener (@var{h}, @var{prop}, @var{fcn})\n\
 Register @var{fcn} as listener for the property @var{prop} of the graphics\n\
-object @var{h}. Property listeners are executed (in order of registration)\n\
-when the property is set. The new value is already available when the\n\
+object @var{h}.  Property listeners are executed (in order of registration)\n\
+when the property is set.  The new value is already available when the\n\
 listeners are executed.\n\
 \n\
 @var{prop} must be a string naming a valid property in @var{h}.\n\
 \n\
 @var{fcn} can be a function handle, a string or a cell array whose first\n\
-element is a function handle. If @var{fcn} is a function handle, the\n\
+element is a function handle.  If @var{fcn} is a function handle, the\n\
 corresponding function should accept at least 2 arguments, that will be\n\
-set to the object handle and the empty matrix respectively. If @var{fcn}\n\
-is a string, it must be any valid octave expression. If @var{fcn} is a cell\n\
+set to the object handle and the empty matrix respectively.  If @var{fcn}\n\
+is a string, it must be any valid octave expression.  If @var{fcn} is a cell\n\
 array, the first element must be a function handle with the same signature\n\
-as described above. The next elements of the cell array are passed\n\
+as described above.  The next elements of the cell array are passed\n\
 as additional arguments to the function.\n\
 \n\
 Example:\n\
@@ -5162,7 +5162,7 @@
    "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} dellistener (@var{h}, @var{prop}, @var{fcn})\n\
 Remove the registration of @var{fcn} as a listener for the property\n\
-@var{prop} of the graphics object @var{h}. The function @var{fcn} must\n\
+@var{prop} of the graphics object @var{h}.  The function @var{fcn} must\n\
 be the same variable (not just the same value), as was passed to the\n\
 original call to @code{addlistener}.\n\
 \n\
@@ -5228,7 +5228,7 @@
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} addproperty (@var{name}, @var{h}, @var{type}, [@var{arg}, @dots{}])\n\
 Create a new property named @var{name} in graphics object @var{h}.\n\
-@var{type} determines the type of the property to create. @var{args}\n\
+@var{type} determines the type of the property to create.  @var{args}\n\
 usually contains the default value of the property, but additional\n\
 arguments might be given, depending on the type of the property.\n\
 \n\
@@ -5236,42 +5236,42 @@
 \n\
 @table @code\n\
 @item string\n\
-A string property. @var{arg} contains the default string value.\n\
+A string property.  @var{arg} contains the default string value.\n\
 @item any\n\
-An un-typed property. This kind of property can hold any octave\n\
-value. @var{args} contains the default value.\n\
+An un-typed property.  This kind of property can hold any octave\n\
+value.  @var{args} contains the default value.\n\
 @item radio\n\
-A string property with a limited set of accepted values. The first\n\
+A string property with a limited set of accepted values.  The first\n\
 argument must be a string with all accepted values separated by\n\
-a vertical bar ('|'). The default value can be marked by enclosing\n\
-it with a '@{' '@}' pair. The default value may also be given as\n\
+a vertical bar ('|').  The default value can be marked by enclosing\n\
+it with a '@{' '@}' pair.  The default value may also be given as\n\
 an optional second string argument.\n\
 @item boolean\n\
-A boolean property. This property type is equivalent to a radio\n\
-property with \"on|off\" as accepted values. @var{arg} contains\n\
+A boolean property.  This property type is equivalent to a radio\n\
+property with \"on|off\" as accepted values.  @var{arg} contains\n\
 the default property value.\n\
 @item double\n\
-A scalar double property. @var{arg} contains the default value.\n\
+A scalar double property.  @var{arg} contains the default value.\n\
 @item handle\n\
-A handle property. This kind of property holds the handle of a\n\
-graphics object. @var{arg} contains the default handle value.\n\
+A handle property.  This kind of property holds the handle of a\n\
+graphics object.  @var{arg} contains the default handle value.\n\
 When no default value is given, the property is initialized to\n\
 the empty matrix.\n\
 @item data\n\
-A data (matrix) property. @var{arg} contains the default data\n\
-value. When no default value is given, the data is initialized to\n\
+A data (matrix) property.  @var{arg} contains the default data\n\
+value.  When no default value is given, the data is initialized to\n\
 the empty matrix.\n\
 @item color\n\
-A color property. @var{arg} contains the default color value.\n\
+A color property.  @var{arg} contains the default color value.\n\
 When no default color is given, the property is set to black.\n\
 An optional second string argument may be given to specify an\n\
 additional set of accepted string values (like a radio property).\n\
 @end table\n\
 \n\
 @var{type} may also be the concatenation of a core object type and\n\
-a valid property name for that object type. The property created\n\
+a valid property name for that object type.  The property created\n\
 then has the same characteristics as the referenced property (type,\n\
-possible values, hidden state@dots{}). This allows to clone an existing\n\
+possible values, hidden state@dots{}).  This allows to clone an existing\n\
 property into the graphics object @var{h}.\n\
 \n\
 Examples:\n\
--- a/src/input.cc
+++ b/src/input.cc
@@ -1280,7 +1280,7 @@
 @deftypefnx {Built-in Function} {@var{old_val} =} PS2 (@var{new_val})\n\
 Query or set the secondary prompt string.  The secondary prompt is\n\
 printed when Octave is expecting additional input to complete a\n\
-command.  For example, if you are typing a for loop that spans several\n\
+command.  For example, if you are typing a @code{for} loop that spans several\n\
 lines, Octave will print the secondary prompt at the beginning of\n\
 each line after the first.  The default value of the secondary prompt\n\
 string is @code{\"> \"}.\n\
--- a/src/load-save.cc
+++ b/src/load-save.cc
@@ -591,7 +591,7 @@
 @table @code\n\
 @item -force\n\
 The @samp{-force} option is accepted but ignored for backward\n\
-compatibility. Octave now overwrites variables currently in memory with\n\
+compatibility.  Octave now overwrites variables currently in memory with\n\
 the same name as those found in the file.\n\
 \n\
 @item -ascii\n\
@@ -1513,7 +1513,7 @@
 \n\
 @item -zip\n\
 @itemx -z\n\
-Use the gzip algorithm to compress the file. This works equally on files that\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"
 
@@ -1800,7 +1800,7 @@
 Query or set the internal variable that specifies the options used for\n\
 saving the workspace data if Octave aborts.  The value of\n\
 @code{octave_core_file_options} should follow the same format as the\n\
-options for the @code{save} function. The default value is Octave's binary\n\
+options for the @code{save} function.  The default value is Octave's binary\n\
 format.\n\
 @seealso{crash_dumps_octave_core, octave_core_file_name, octave_core_file_limit}\n\
 @end deftypefn")
--- a/src/mappers.cc
+++ b/src/mappers.cc
@@ -633,7 +633,7 @@
     "-*- texinfo -*-\n\
 @deftypefn {Mapping Function} {} finite (@var{x})\n\
 Return 1 for elements of @var{x} that are finite values and zero\n\
-otherwise. For example,\n\
+otherwise.  For example,\n\
 \n\
 @example\n\
 @group\n\
@@ -893,7 +893,7 @@
     "-*- texinfo -*-\n\
 @deftypefn {Mapping Function} {} isinf (@var{x})\n\
 Return 1 for elements of @var{x} that are infinite and zero\n\
-otherwise. For example,\n\
+otherwise.  For example,\n\
 \n\
 @example\n\
 @group\n\
--- a/src/oct-hist.cc
+++ b/src/oct-hist.cc
@@ -551,7 +551,7 @@
 
 DEFUN (edit_history, args, ,
   "-*- texinfo -*-\n\
-@deffn {Command} edit_history options\n\
+@deffn {Command} edit_history [@var{first}] [@var{last}]\n\
 If invoked with no arguments, @code{edit_history} allows you to edit the\n\
 history list using the editor named by the variable @code{EDITOR}.  The\n\
 commands to be edited are first copied to a temporary file.  When you\n\
@@ -583,6 +583,7 @@
 the first command than the last command reverses the list of commands\n\
 before placing them in the buffer to be edited.  If both arguments are\n\
 omitted, the previous command in the history list is used.\n\
+@seealso{run_history}\n\
 @end deffn")
 {
   octave_value_list retval;
@@ -616,11 +617,11 @@
 (normally @file{~/.octave_hist}).\n\
 \n\
 @item @var{n}\n\
-Only display the most recent @var{n} lines of history.\n\
+Display only the most recent @var{n} lines of history.\n\
 \n\
 @item -q\n\
 Don't number the displayed lines of history.  This is useful for cutting\n\
-and pasting commands if you are using the X Window System.\n\
+and pasting commands using the X Window System.\n\
 @end table\n\
 \n\
 For example, to display the five most recent commands that you have\n\
@@ -644,9 +645,10 @@
 
 DEFUN (run_history, args, ,
   "-*- texinfo -*-\n\
-@deffn {Command} run_history [first] [last]\n\
+@deffn {Command} run_history [@var{first}] [@var{last}]\n\
 Similar to @code{edit_history}, except that the editor is not invoked,\n\
 and the commands are simply executed as they appear in the history list.\n\
+@seealso{edit_history}\n\
 @end deffn")
 {
   octave_value_list retval;
--- a/src/ov-fcn-inline.cc
+++ b/src/ov-fcn-inline.cc
@@ -602,11 +602,11 @@
 @deftypefnx {Built-in Function} {} inline (@var{str}, @var{n})\n\
 Create an inline function from the character string @var{str}.\n\
 If called with a single argument, the arguments of the generated\n\
-function are extracted from the function itself. The generated\n\
-function arguments will then be in alphabetical order. It should\n\
+function are extracted from the function itself.  The generated\n\
+function arguments will then be in alphabetical order.  It should\n\
 be noted that i, and j are ignored as arguments due to the\n\
 ambiguity between their use as a variable or their use as an inbuilt\n\
-constant. All arguments followed by a parenthesis are considered\n\
+constant.  All arguments followed by a parenthesis are considered\n\
 to be functions.\n\
 \n\
 If the second and subsequent arguments are character strings,\n\
--- a/src/ov-struct.cc
+++ b/src/ov-struct.cc
@@ -964,7 +964,7 @@
 DEFUN (cell2struct, args, ,
        "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} cell2struct (@var{cell}, @var{fields}, @var{dim})\n\
-Convert @var{cell} to a structure. The number of fields in @var{fields}\n\
+Convert @var{cell} to a structure.  The number of fields in @var{fields}\n\
 must match the number of elements in @var{cell} along dimension @var{dim},\n\
 that is @code{numel (@var{fields}) == size (@var{cell}, @var{dim})}.\n\
 \n\
--- a/src/parse.y
+++ b/src/parse.y
@@ -3460,7 +3460,7 @@
 \n\
 The second argument, @var{file}, should be an absolute file name or\n\
 a file name in the same directory as the function or script from which\n\
-the autoload command was run. @var{file} should not depend on the\n\
+the autoload command was run.  @var{file} should not depend on the\n\
 Octave load path.\n\
 \n\
 Normally, calls to @code{autoload} appear in PKG_ADD script files that\n\
@@ -3472,7 +3472,7 @@
 autoload (\"foo\", \"bar.oct\");\n\
 @end example\n\
 \n\
-will load the function @code{foo} from the file @code{bar.oct}. The above\n\
+will load the function @code{foo} from the file @code{bar.oct}.  The above\n\
 when @code{bar.oct} is not in the same directory or uses like\n\
 \n\
 @example\n\
--- a/src/pr-output.cc
+++ b/src/pr-output.cc
@@ -3190,7 +3190,7 @@
 @end example\n\
 \n\
 The optional second argument defines the maximum length of the string\n\
-representing the elements of @var{x}. By default @var{len} is 9.\n\
+representing the elements of @var{x}.  By default @var{len} is 9.\n\
 @seealso{format, rat}\n\
 @end deftypefn")
 {
@@ -3675,7 +3675,7 @@
 Insert blank lines above and below column number labels (this is the\n\
 default).\n\
 @item rat\n\
-Print a rational approximation. That is the values are approximated\n\
+Print a rational approximation.  That is the values are approximated\n\
 by one small integer divided by another.\n\
 @end table\n\
 \n\
--- a/src/strfns.cc
+++ b/src/strfns.cc
@@ -315,7 +315,7 @@
 \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\
-every member of the cell array. The other argument may also be a cell\n\
+every member of the cell array.  The other argument may also be a cell\n\
 array of strings (of the same size or with only one element), char matrix\n\
 or character string.\n\
 \n\
@@ -622,7 +622,7 @@
 \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\
-every member of the cell array. The other argument may also be a cell\n\
+every member of the cell array.  The other argument may also be a cell\n\
 array of strings (of the same size or with only one element), char matrix\n\
 or character string.\n\
 \n\
--- a/src/sysdep.cc
+++ b/src/sysdep.cc
@@ -660,7 +660,7 @@
 DEFUN (kbhit, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} {} kbhit ()\n\
-Read a single keystroke from the keyboard. If called with one\n\
+Read a single keystroke from the keyboard.  If called with one\n\
 argument, don't wait for a keypress.  For example,\n\
 \n\
 @example\n\
--- a/src/toplev.cc
+++ b/src/toplev.cc
@@ -1038,10 +1038,10 @@
 \n\
 @example\n\
 @group\n\
-function bye_bye ()\n\
+function last_words ()\n\
   disp (\"Bye bye\");\n\
 endfunction\n\
-atexit (\"bye_bye\");\n\
+atexit (\"last_words\");\n\
 @end group\n\
 @end example\n\
 \n\
@@ -1052,15 +1052,15 @@
 Register or unregister a function to be called when Octave exits,\n\
 depending on @var{flag}.  If @var{flag} is true, the function is\n\
 registered, if @var{flag} is false, it is unregistered.  For example,\n\
-after registering the function @code{bye_bye} as above,\n\
+after registering the function @code{last_words} as above,\n\
 \n\
 @example\n\
-atexit (\"bye_bye\", false);\n\
+atexit (\"last_words\", false);\n\
 @end example\n\
 \n\
 @noindent\n\
 will remove the function from the list and Octave will not call\n\
-the function @code{bye_by} when it exits.\n\
+the function @code{last_words} when it exits.\n\
 \n\
 Note that @code{atexit} only removes the first occurrence of a function\n\
 from the list, so if a function was placed in the list multiple\n\
--- a/src/variables.cc
+++ b/src/variables.cc
@@ -1564,7 +1564,7 @@
 List the variables in the global scope rather than the current scope.\n\
 @item -regexp\n\
 The patterns are considered as regular expressions and will be used\n\
-for matching the variables to display. The same pattern syntax as for\n\
+for matching the variables to display.  The same pattern syntax as for\n\
 the @code{regexp} function is used.\n\
 @item -file\n\
 The following argument is treated as a filename, and the variables that\n\