[genius] Tue Jun 11 16:12:48 2013 Jiri (George) Lebl <jirka 5z com>



commit 2389691599267dfbb73e8572cce26d02da2c61b2
Author: Jiri (George) Lebl <jirka 5z com>
Date:   Tue Jun 11 16:14:02 2013 -0500

    Tue Jun 11 16:12:48 2013  Jiri (George) Lebl <jirka 5z com>
    
        * src/gnome-genius.c: add completion to "help on function"
    
        * help/C/genius.xml: workaround for broken help browser by adding
          anchors to function descriptions rather than using the varlistentry
          id (Which should work but does not).  A bug has been reported there
          quite some time ago, but I don't think it got any attention.

 ChangeLog          |    9 +
 NEWS               |    1 +
 help/C/genius.xml  | 1888 ++++++++++++++++++++++++++--------------------------
 src/gnome-genius.c |   31 +
 4 files changed, 985 insertions(+), 944 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c255b12..8291a3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Tue Jun 11 16:12:48 2013  Jiri (George) Lebl <jirka 5z com>
+
+       * src/gnome-genius.c: add completion to "help on function"
+
+       * help/C/genius.xml: workaround for broken help browser by adding
+         anchors to function descriptions rather than using the varlistentry
+         id (Which should work but does not).  A bug has been reported there
+         quite some time ago, but I don't think it got any attention.
+
 Wed Apr 24 16:52:56 2013  Jiri (George) Lebl <jirka 5z com>
 
        * update version number
diff --git a/NEWS b/NEWS
index 38dad5f..d605336 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ Changes to 1.0.17
 
 * Better precision for graphs especially when zoomed it a lot, and make font
   smaller if needed
+* Completion for "help on function" in the GUI
 * Fix FindRootBisection and FindRootMullersMethod
 * A few small fixes and updates to the documentation
 * A few minor bugfixes
diff --git a/help/C/genius.xml b/help/C/genius.xml
index a911cc8..d18d2f0 100644
--- a/help/C/genius.xml
+++ b/help/C/genius.xml
@@ -2788,8 +2788,8 @@ To get help on a specific function from the console type:
     <sect1 id="genius-gel-function-list-commands">
       <title>Commands</title>
       <variablelist>
-        <varlistentry id="gel-command-help">
-         <term>help</term>
+        <varlistentry>
+         <term><anchor id="gel-command-help"/>help</term>
          <listitem>
           <synopsis>help</synopsis>
           <synopsis>help FunctionName</synopsis>
@@ -2797,8 +2797,8 @@ To get help on a specific function from the console type:
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-command-load">
-         <term>load</term>
+        <varlistentry>
+         <term><anchor id="gel-command-load"/>load</term>
          <listitem>
           <synopsis>load "file.gel"</synopsis>
           <para>Load a file into the interpretor.  The file will execute
@@ -2806,32 +2806,32 @@ as if it were typed onto the command line.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-command-cd">
-         <term>cd</term>
+        <varlistentry>
+         <term><anchor id="gel-command-cd"/>cd</term>
          <listitem>
           <synopsis>cd /directory/name</synopsis>
           <para>Change working directory to <filename>/directory/name</filename>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-command-pwd">
-         <term>pwd</term>
+        <varlistentry>
+         <term><anchor id="gel-command-pwd"/>pwd</term>
          <listitem>
           <synopsis>pwd</synopsis>
           <para>Print the current working directory.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-command-ls">
-         <term>ls</term>
+        <varlistentry>
+         <term><anchor id="gel-command-ls"/>ls</term>
          <listitem>
           <synopsis>ls</synopsis>
           <para>List files in the current directory.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-command-plugin">
-         <term>plugin</term>
+        <varlistentry>
+         <term><anchor id="gel-command-plugin"/>plugin</term>
          <listitem>
           <synopsis>plugin plugin_name</synopsis>
           <para>Load a plugin.  Plugin of that name must be installed on the system
@@ -2844,8 +2844,8 @@ in the proper directory.</para>
     <sect1 id="genius-gel-function-list-basic">
       <title>Basic</title>
       <variablelist>
-        <varlistentry id="gel-function-AskButtons">
-         <term>AskButtons</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AskButtons"/>AskButtons</term>
          <listitem>
           <synopsis>AskButtons (query)</synopsis>
           <synopsis>AskButtons (query, button1, ...)</synopsis>
@@ -2858,8 +2858,8 @@ of the program is blocked until the user responds.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-AskString">
-         <term>AskString</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AskString"/>AskString</term>
          <listitem>
           <synopsis>AskString (query)</synopsis>
           <synopsis>AskString (query, default)</synopsis>
@@ -2870,16 +2870,16 @@ is blocked until the user responds.  If <varname>default</varname> is given, the
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Compose">
-         <term>Compose</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Compose"/>Compose</term>
          <listitem>
           <synopsis>Compose (f,g)</synopsis>
           <para>Compose two functions and return a function that is the composition of 
<function>f</function> and <function>g</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ComposePower">
-         <term>ComposePower</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ComposePower"/>ComposePower</term>
          <listitem>
           <synopsis>ComposePower (f,n,x)</synopsis>
           <para>Compose and execute a function with itself <varname>n</varname> times, passing 
<varname>x</varname> as argument.  Returning <varname>x</varname> if
@@ -2895,8 +2895,8 @@ is blocked until the user responds.  If <varname>default</varname> is given, the
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Evaluate">
-         <term>Evaluate</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Evaluate"/>Evaluate</term>
          <listitem>
           <synopsis>Evaluate (str)</synopsis>
           <para>Parses and evaluates a string.</para>
@@ -2904,8 +2904,8 @@ is blocked until the user responds.  If <varname>default</varname> is given, the
         </varlistentry>
 
 
-        <varlistentry id="gel-function-GetCurrentModulo">
-         <term>GetCurrentModulo</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GetCurrentModulo"/>GetCurrentModulo</term>
          <listitem>
           <synopsis>GetCurrentModulo</synopsis>
           <para>Get current modulo from the context outside the function.  That is, if outside of
@@ -2915,16 +2915,16 @@ and this builtin function makes it possible to make GEL functions aware of modul
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Identity">
-         <term>Identity</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Identity"/>Identity</term>
          <listitem>
           <synopsis>Identity (x)</synopsis>
           <para>Identity function, returns its argument.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IntegerFromBoolean">
-         <term>IntegerFromBoolean</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IntegerFromBoolean"/>IntegerFromBoolean</term>
          <listitem>
           <synopsis>IntegerFromBoolean (bval)</synopsis>
          <para>
@@ -2937,16 +2937,16 @@ and this builtin function makes it possible to make GEL functions aware of modul
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsBoolean">
-         <term>IsBoolean</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsBoolean"/>IsBoolean</term>
          <listitem>
           <synopsis>IsBoolean (arg)</synopsis>
           <para>Check if argument is a boolean (and not a number).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsDefined">
-         <term>IsDefined</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsDefined"/>IsDefined</term>
          <listitem>
           <synopsis>IsDefined (id)</synopsis>
           <para>Check if an id is defined.  You should pass a string or
@@ -2956,24 +2956,24 @@ and this builtin function makes it possible to make GEL functions aware of modul
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsFunction">
-         <term>IsFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsFunction"/>IsFunction</term>
          <listitem>
           <synopsis>IsFunction (arg)</synopsis>
           <para>Check if argument is a function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsFunctionOrIdentifier">
-         <term>IsFunctionOrIdentifier</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsFunctionOrIdentifier"/>IsFunctionOrIdentifier</term>
          <listitem>
           <synopsis>IsFunctionOrIdentifier (arg)</synopsis>
           <para>Check if argument is a function or an identifier.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsFunctionRef">
-         <term>IsFunctionRef</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsFunctionRef"/>IsFunctionRef</term>
          <listitem>
           <synopsis>IsFunctionRef (arg)</synopsis>
           <para>Check if argument is a function reference.  This includes variable
@@ -2981,8 +2981,8 @@ references.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrix">
-         <term>IsMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrix"/>IsMatrix</term>
          <listitem>
           <synopsis>IsMatrix (arg)</synopsis>
           <para>Check if argument is a matrix.  Even though <constant>null</constant> is
@@ -2991,32 +2991,32 @@ not consider <constant>null</constant> a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsNull">
-         <term>IsNull</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsNull"/>IsNull</term>
          <listitem>
           <synopsis>IsNull (arg)</synopsis>
          <para>Check if argument is a <constant>null</constant>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsString">
-         <term>IsString</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsString"/>IsString</term>
          <listitem>
           <synopsis>IsString (arg)</synopsis>
           <para>Check if argument is a text string.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsValue">
-         <term>IsValue</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsValue"/>IsValue</term>
          <listitem>
           <synopsis>IsValue (arg)</synopsis>
           <para>Check if argument is a number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Parse">
-         <term>Parse</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Parse"/>Parse</term>
          <listitem>
           <synopsis>Parse (str)</synopsis>
           <para>Parses but does not evaluate a string.  Note that certain
@@ -3024,8 +3024,8 @@ not consider <constant>null</constant> a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SetFunctionFlags">
-         <term>SetFunctionFlags</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SetFunctionFlags"/>SetFunctionFlags</term>
          <listitem>
           <synopsis>SetFunctionFlags (id,flags...)</synopsis>
           <para>Set flags for a function, currently <literal>"PropagateMod"</literal> and 
<literal>"NoModuloArguments"</literal>.
@@ -3036,56 +3036,56 @@ is called inside a block that was evaluated using modular arithmetic (using <lit
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SetHelp">
-         <term>SetHelp</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SetHelp"/>SetHelp</term>
          <listitem>
           <synopsis>SetHelp (id,category,desc)</synopsis>
           <para>Set the category and help description line for a function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SetHelpAlias">
-         <term>SetHelpAlias</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SetHelpAlias"/>SetHelpAlias</term>
          <listitem>
           <synopsis>SetHelpAlias (id,alias)</synopsis>
           <para>Sets up a help alias.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-chdir">
-         <term>chdir</term>
+        <varlistentry>
+         <term><anchor id="gel-function-chdir"/>chdir</term>
          <listitem>
           <synopsis>chdir (dir)</synopsis>
           <para>Changes current directory, same as the <command>cd</command>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CurrentTime">
-         <term>CurrentTime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CurrentTime"/>CurrentTime</term>
          <listitem>
           <synopsis>CurrentTime</synopsis>
           <para>Returns the current UNIX time with microsecond precision as a floating point number.  That 
is, returns the number of seconds since January 1st 1970.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-display">
-         <term>display</term>
+        <varlistentry>
+         <term><anchor id="gel-function-display"/>display</term>
          <listitem>
           <synopsis>display (str,expr)</synopsis>
           <para>Display a string and an expression with a colon to separate them.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-error">
-         <term>error</term>
+        <varlistentry>
+         <term><anchor id="gel-function-error"/>error</term>
          <listitem>
           <synopsis>error (str)</synopsis>
           <para>Prints a string to the error stream (onto the console).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-exit">
-         <term>exit</term>
+        <varlistentry>
+         <term><anchor id="gel-function-exit"/>exit</term>
          <listitem>
           <synopsis>exit</synopsis>
           <para>Aliases: <function>quit</function></para>
@@ -3093,8 +3093,8 @@ is called inside a block that was evaluated using modular arithmetic (using <lit
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-false">
-         <term>false</term>
+        <varlistentry>
+         <term><anchor id="gel-function-false"/>false</term>
          <listitem>
           <synopsis>false</synopsis>
           <para>Aliases: <function>False</function> <function>FALSE</function></para>
@@ -3102,16 +3102,16 @@ is called inside a block that was evaluated using modular arithmetic (using <lit
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-manual">
-         <term>manual</term>
+        <varlistentry>
+         <term><anchor id="gel-function-manual"/>manual</term>
          <listitem>
           <synopsis>manual</synopsis>
           <para>Displays the user manual.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-print">
-         <term>print</term>
+        <varlistentry>
+         <term><anchor id="gel-function-print"/>print</term>
          <listitem>
           <synopsis>print (str)</synopsis>
           <para>Prints an expression and then print a newline.  The argument <varname>str</varname> can be 
any expression.  It is
@@ -3119,8 +3119,8 @@ made into a string before being printed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-printn">
-         <term>printn</term>
+        <varlistentry>
+         <term><anchor id="gel-function-printn"/>printn</term>
          <listitem>
           <synopsis>printn (str)</synopsis>
           <para>Prints an expression without a trailing newline.  The argument <varname>str</varname> can be 
any expression.  It is
@@ -3128,8 +3128,8 @@ made into a string before being printed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-protect">
-         <term>protect</term>
+        <varlistentry>
+         <term><anchor id="gel-function-protect"/>protect</term>
          <listitem>
           <synopsis>protect (id)</synopsis>
           <para>Protect a variable from being modified.  This is used on the internal GEL functions to
@@ -3137,8 +3137,8 @@ avoid them being accidentally overridden.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ProtectAll">
-         <term>ProtectAll</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ProtectAll"/>ProtectAll</term>
          <listitem>
           <synopsis>ProtectAll ()</synopsis>
           <para>Protect all currently defined variables, parameters and
@@ -3148,8 +3148,8 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-set">
-         <term>set</term>
+        <varlistentry>
+         <term><anchor id="gel-function-set"/>set</term>
          <listitem>
           <synopsis>set (id,val)</synopsis>
           <para>Set a global variable.  The <varname>id</varname>
@@ -3162,16 +3162,16 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-string">
-         <term>string</term>
+        <varlistentry>
+         <term><anchor id="gel-function-string"/>string</term>
          <listitem>
           <synopsis>string (s)</synopsis>
           <para>Make a string.  This will make a string out of any argument.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-true">
-         <term>true</term>
+        <varlistentry>
+         <term><anchor id="gel-function-true"/>true</term>
          <listitem>
           <synopsis>true</synopsis>
           <para>Aliases: <function>True</function> <function>TRUE</function></para>
@@ -3179,8 +3179,8 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-undefine">
-         <term>undefine</term>
+        <varlistentry>
+         <term><anchor id="gel-function-undefine"/>undefine</term>
          <listitem>
           <synopsis>undefine (id)</synopsis>
           <para>Alias: <function>Undefine</function></para>
@@ -3192,8 +3192,8 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-UndefineAll">
-         <term>UndefineAll</term>
+        <varlistentry>
+         <term><anchor id="gel-function-UndefineAll"/>UndefineAll</term>
          <listitem>
           <synopsis>UndefineAll ()</synopsis>
          <para>Undefine all unprotected global variables
@@ -3206,16 +3206,16 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-unprotect">
-         <term>unprotect</term>
+        <varlistentry>
+         <term><anchor id="gel-function-unprotect"/>unprotect</term>
          <listitem>
           <synopsis>unprotect (id)</synopsis>
           <para>Unprotect a variable from being modified.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-UserVariables">
-         <term>UserVariables</term>
+        <varlistentry>
+         <term><anchor id="gel-function-UserVariables"/>UserVariables</term>
          <listitem>
           <synopsis>UserVariables ()</synopsis>
           <para>Return a vector of identifiers of
@@ -3223,8 +3223,8 @@ unprotected variables as user defined.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-wait">
-         <term>wait</term>
+        <varlistentry>
+         <term><anchor id="gel-function-wait"/>wait</term>
          <listitem>
           <synopsis>wait (secs)</synopsis>
           <para>Waits a specified number of seconds.  <varname>secs</varname>
@@ -3233,8 +3233,8 @@ except possibly user interface events are processed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-version">
-         <term>version</term>
+        <varlistentry>
+         <term><anchor id="gel-function-version"/>version</term>
          <listitem>
           <synopsis>version</synopsis>
           <para>Returns the version of Genius as a horizontal 3-vector with
@@ -3242,8 +3242,8 @@ except possibly user interface events are processed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-warranty">
-         <term>warranty</term>
+        <varlistentry>
+         <term><anchor id="gel-function-warranty"/>warranty</term>
          <listitem>
           <synopsis>warranty</synopsis>
           <para>Gives the warranty information.</para>
@@ -3256,112 +3256,112 @@ except possibly user interface events are processed.</para>
     <sect1 id="genius-gel-function-parameters">
       <title>Parameters</title>
       <variablelist>
-        <varlistentry id="gel-function-ChopTolerance">
-         <term>ChopTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ChopTolerance"/>ChopTolerance</term>
          <listitem>
           <synopsis>ChopTolerance = number</synopsis>
           <para>Tolerance of the <function>Chop</function> function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ContinuousNumberOfTries">
-         <term>ContinuousNumberOfTries</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ContinuousNumberOfTries"/>ContinuousNumberOfTries</term>
          <listitem>
           <synopsis>ContinuousNumberOfTries = number</synopsis>
           <para>How many iterations to try to find the limit for continuity and limits.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ContinuousSFS">
-         <term>ContinuousSFS</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ContinuousSFS"/>ContinuousSFS</term>
          <listitem>
           <synopsis>ContinuousSFS = number</synopsis>
           <para>How many successive steps to be within tolerance for calculation of continuity.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ContinuousTolerance">
-         <term>ContinuousTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ContinuousTolerance"/>ContinuousTolerance</term>
          <listitem>
           <synopsis>ContinuousTolerance = number</synopsis>
           <para>Tolerance for continuity of functions and for calculating the limit.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DerivativeNumberOfTries">
-         <term>DerivativeNumberOfTries</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DerivativeNumberOfTries"/>DerivativeNumberOfTries</term>
          <listitem>
           <synopsis>DerivativeNumberOfTries = number</synopsis>
           <para>How many iterations to try to find the limit for derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DerivativeSFS">
-         <term>DerivativeSFS</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DerivativeSFS"/>DerivativeSFS</term>
          <listitem>
           <synopsis>DerivativeSFS = number</synopsis>
           <para>How many successive steps to be within tolerance for calculation of derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DerivativeTolerance">
-         <term>DerivativeTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DerivativeTolerance"/>DerivativeTolerance</term>
          <listitem>
           <synopsis>DerivativeTolerance = number</synopsis>
           <para>Tolerance for calculating the derivatives of functions.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ErrorFunctionTolerance">
-         <term>ErrorFunctionTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ErrorFunctionTolerance"/>ErrorFunctionTolerance</term>
          <listitem>
           <synopsis>ErrorFunctionTolerance = number</synopsis>
           <para>Tolerance of the <function>ErrorFunction</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FloatPrecision">
-         <term>FloatPrecision</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FloatPrecision"/>FloatPrecision</term>
          <listitem>
           <synopsis>FloatPrecision = number</synopsis>
           <para>Floating point precision.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FullExpressions">
-         <term>FullExpressions</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FullExpressions"/>FullExpressions</term>
          <listitem>
           <synopsis>FullExpressions = boolean</synopsis>
           <para>Print full expressions, even if more than a line.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GaussDistributionTolerance">
-         <term>GaussDistributionTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GaussDistributionTolerance"/>GaussDistributionTolerance</term>
          <listitem>
           <synopsis>GaussDistributionTolerance = number</synopsis>
           <para>Tolerance of the <function>GaussDistribution</function> function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IntegerOutputBase">
-         <term>IntegerOutputBase</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IntegerOutputBase"/>IntegerOutputBase</term>
          <listitem>
           <synopsis>IntegerOutputBase = number</synopsis>
           <para>Integer output base.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPrimeMillerRabinReps">
-         <term>IsPrimeMillerRabinReps</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPrimeMillerRabinReps"/>IsPrimeMillerRabinReps</term>
          <listitem>
           <synopsis>IsPrimeMillerRabinReps = number</synopsis>
           <para>Number of extra Miller-Rabin tests to run on a number before declaring it a prime in 
<function>IsPrime</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotDrawLegends">
-         <term>LinePlotDrawLegends</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotDrawLegends"/>LinePlotDrawLegends</term>
          <listitem>
           <synopsis>LinePlotDrawLegends = true</synopsis>
           <para>Tells genius to draw the legends for <link linkend="genius-gel-function-list-plotting">line 
plotting
@@ -3370,8 +3370,8 @@ except possibly user interface events are processed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotDrawAxisLabels">
-         <term>LinePlotDrawAxisLabels</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotDrawAxisLabels"/>LinePlotDrawAxisLabels</term>
          <listitem>
           <synopsis>LinePlotDrawAxisLabels = true</synopsis>
           <para>Tells genius to draw the axis labels for <link 
linkend="genius-gel-function-list-plotting">line plotting
@@ -3380,8 +3380,8 @@ except possibly user interface events are processed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotVariableNames">
-         <term>LinePlotVariableNames</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotVariableNames"/>LinePlotVariableNames</term>
          <listitem>
           <synopsis>LinePlotVariableNames = ["x","y","z","t"]</synopsis>
           <para>Tells genius which variable names are used as default names  for <link 
linkend="genius-gel-function-list-plotting">line plotting
@@ -3390,8 +3390,8 @@ except possibly user interface events are processed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotWindow">
-         <term>LinePlotWindow</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotWindow"/>LinePlotWindow</term>
          <listitem>
           <synopsis>LinePlotWindow = [x1,x2,y1,y2]</synopsis>
           <para>Sets the limits for <link linkend="genius-gel-function-list-plotting">line plotting
@@ -3401,48 +3401,48 @@ except possibly user interface events are processed.</para>
         </varlistentry>
 
 
-        <varlistentry id="gel-function-MaxDigits">
-         <term>MaxDigits</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MaxDigits"/>MaxDigits</term>
          <listitem>
           <synopsis>MaxDigits = number</synopsis>
           <para>Maximum digits to display.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MaxErrors">
-         <term>MaxErrors</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MaxErrors"/>MaxErrors</term>
          <listitem>
           <synopsis>MaxErrors = number</synopsis>
           <para>Maximum errors to display.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MixedFractions">
-         <term>MixedFractions</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MixedFractions"/>MixedFractions</term>
          <listitem>
           <synopsis>MixedFractions = boolean</synopsis>
           <para>If true, mixed fractions are printed.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalIntegralFunction">
-         <term>NumericalIntegralFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalIntegralFunction"/>NumericalIntegralFunction</term>
          <listitem>
           <synopsis>NumericalIntegralFunction = function</synopsis>
           <para>The function used for numerical integration in <function>NumericalIntegral</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalIntegralSteps">
-         <term>NumericalIntegralSteps</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalIntegralSteps"/>NumericalIntegralSteps</term>
          <listitem>
           <synopsis>NumericalIntegralSteps = number</synopsis>
           <para>Steps to perform in <function>NumericalIntegral</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OutputChopExponent">
-         <term>OutputChopExponent</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OutputChopExponent"/>OutputChopExponent</term>
          <listitem>
           <synopsis>OutputChopExponent = number</synopsis>
          <para>When another number in the object being printed (a matrix or a
@@ -3466,8 +3466,8 @@ greater than or equal to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OutputChopWhenExponent">
-         <term>OutputChopWhenExponent</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OutputChopWhenExponent"/>OutputChopWhenExponent</term>
          <listitem>
           <synopsis>OutputChopWhenExponent = number</synopsis>
          <para>When to chop output.  See
@@ -3476,8 +3476,8 @@ greater than or equal to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OutputStyle">
-         <term>OutputStyle</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OutputStyle"/>OutputStyle</term>
          <listitem>
           <synopsis>OutputStyle = string</synopsis>
           <para>
@@ -3493,24 +3493,24 @@ greater than or equal to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ResultsAsFloats">
-         <term>ResultsAsFloats</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ResultsAsFloats"/>ResultsAsFloats</term>
          <listitem>
           <synopsis>ResultsAsFloats = boolean</synopsis>
           <para>Convert all results to floats before printing.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ScientificNotation">
-         <term>ScientificNotation</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ScientificNotation"/>ScientificNotation</term>
          <listitem>
           <synopsis>ScientificNotation = boolean</synopsis>
           <para>Use scientific notation.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SlopefieldTicks">
-         <term>SlopefieldTicks</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SlopefieldTicks"/>SlopefieldTicks</term>
          <listitem>
           <synopsis>SlopefieldTicks = [vertical,horizontal]</synopsis>
           <para>Sets the number of vertical and horizontal ticks in a
@@ -3519,32 +3519,32 @@ slopefield plot.  (See <link linkend="gel-function-SlopefieldPlot"><function>Slo
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SumProductNumberOfTries">
-         <term>SumProductNumberOfTries</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SumProductNumberOfTries"/>SumProductNumberOfTries</term>
          <listitem>
           <synopsis>SumProductNumberOfTries = number</synopsis>
           <para>How many iterations to try for <function>InfiniteSum</function> and 
<function>InfiniteProduct</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SumProductSFS">
-         <term>SumProductSFS</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SumProductSFS"/>SumProductSFS</term>
          <listitem>
           <synopsis>SumProductSFS = number</synopsis>
           <para>How many successive steps to be within tolerance for <function>InfiniteSum</function> and 
<function>InfiniteProduct</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SumProductTolerance">
-         <term>SumProductTolerance</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SumProductTolerance"/>SumProductTolerance</term>
          <listitem>
           <synopsis>SumProductTolerance = number</synopsis>
           <para>Tolerance for <function>InfiniteSum</function> and 
<function>InfiniteProduct</function>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SurfacePlotDrawLegends">
-         <term>SurfacePlotDrawLegends</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SurfacePlotDrawLegends"/>SurfacePlotDrawLegends</term>
          <listitem>
           <synopsis>SurfacePlotDrawLegends = true</synopsis>
           <para>Tells genius to draw the legends for <link 
linkend="genius-gel-function-list-plotting">surface plotting
@@ -3553,8 +3553,8 @@ slopefield plot.  (See <link linkend="gel-function-SlopefieldPlot"><function>Slo
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SurfacePlotVariableNames">
-         <term>SurfacePlotVariableNames</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SurfacePlotVariableNames"/>SurfacePlotVariableNames</term>
          <listitem>
           <synopsis>SurfacePlotVariableNames = ["x","y","z"]</synopsis>
           <para>Tells genius which variable names are used as default names for <link 
linkend="genius-gel-function-list-plotting">surface plotting
@@ -3565,16 +3565,16 @@ slopefield plot.  (See <link linkend="gel-function-SlopefieldPlot"><function>Slo
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SurfacePlotWindow">
-         <term>SurfacePlotWindow</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SurfacePlotWindow"/>SurfacePlotWindow</term>
          <listitem>
           <synopsis>SurfacePlotWindow = [x1,x2,y1,y2,z1,z2]</synopsis>
           <para>Sets the limits for surface plotting (See <link 
linkend="gel-function-SurfacePlot"><function>SurfacePlot</function></link>).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorfieldNormalized">
-         <term>VectorfieldNormalized</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorfieldNormalized"/>VectorfieldNormalized</term>
          <listitem>
           <synopsis>VectorfieldNormalized = true</synopsis>
           <para>Should the vectorfield plotting have normalized arrow length.  If true, vector fields will 
only show direction
@@ -3583,8 +3583,8 @@ slopefield plot.  (See <link linkend="gel-function-SlopefieldPlot"><function>Slo
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorfieldTicks">
-         <term>VectorfieldTicks</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorfieldTicks"/>VectorfieldTicks</term>
          <listitem>
           <synopsis>VectorfieldTicks = [vertical,horizontal]</synopsis>
           <para>Sets the number of vertical and horizontal ticks in a
@@ -3599,8 +3599,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
     <sect1 id="genius-gel-function-list-constants">
       <title>Constants</title>
       <variablelist>
-        <varlistentry id="gel-function-CatalanConstant">
-         <term>CatalanConstant</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CatalanConstant"/>CatalanConstant</term>
          <listitem>
           <synopsis>CatalanConstant</synopsis>
           <para>
@@ -3613,8 +3613,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-EulerConstant">
-         <term>EulerConstant</term>
+        <varlistentry>
+         <term><anchor id="gel-function-EulerConstant"/>EulerConstant</term>
          <listitem>
           <synopsis>EulerConstant</synopsis>
           <para>Aliases: <function>gamma</function></para>
@@ -3631,8 +3631,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GoldenRatio">
-         <term>GoldenRatio</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GoldenRatio"/>GoldenRatio</term>
          <listitem>
           <synopsis>GoldenRatio</synopsis>
           <para>The Golden Ratio.</para>
@@ -3645,8 +3645,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Gravity">
-         <term>Gravity</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Gravity"/>Gravity</term>
          <listitem>
           <synopsis>Gravity</synopsis>
           <para>Free fall acceleration at sea level.</para>
@@ -3657,8 +3657,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-e">
-         <term>e</term>
+        <varlistentry>
+         <term><anchor id="gel-function-e"/>e</term>
          <listitem>
           <synopsis>e</synopsis>
           <para>
@@ -3676,8 +3676,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-pi">
-         <term>pi</term>
+        <varlistentry>
+         <term><anchor id="gel-function-pi"/>pi</term>
          <listitem>
           <synopsis>pi</synopsis>
           <para>
@@ -3699,8 +3699,8 @@ vectorfield plot.  (See <link linkend="gel-function-VectorfieldPlot"><function>V
     <sect1 id="genius-gel-function-list-numeric">
       <title>Numeric</title>
       <variablelist>
-        <varlistentry id="gel-function-AbsoluteValue">
-         <term>AbsoluteValue</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AbsoluteValue"/>AbsoluteValue</term>
          <listitem>
           <synopsis>AbsoluteValue (x)</synopsis>
           <para>Aliases: <function>abs</function></para>
@@ -3721,16 +3721,16 @@ for more information.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Chop">
-         <term>Chop</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Chop"/>Chop</term>
          <listitem>
           <synopsis>Chop (x)</synopsis>
           <para>Replace very small number with zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ComplexConjugate">
-         <term>ComplexConjugate</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ComplexConjugate"/>ComplexConjugate</term>
          <listitem>
           <synopsis>ComplexConjugate (z)</synopsis>
           <para>Aliases: <function>conj</function> <function>Conj</function></para>
@@ -3743,8 +3743,8 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Denominator">
-         <term>Denominator</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Denominator"/>Denominator</term>
          <listitem>
           <synopsis>Denominator (x)</synopsis>
           <para>Get the denominator of a rational number.</para>
@@ -3755,8 +3755,8 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FractionalPart">
-         <term>FractionalPart</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FractionalPart"/>FractionalPart</term>
          <listitem>
           <synopsis>FractionalPart (x)</synopsis>
           <para>Return the fractional part of a number.</para>
@@ -3767,8 +3767,8 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Im">
-         <term>Im</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Im"/>Im</term>
          <listitem>
           <synopsis>Im (z)</synopsis>
           <para>Aliases: <function>ImaginaryPart</function></para>
@@ -3780,24 +3780,24 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IntegerQuotient">
-         <term>IntegerQuotient</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IntegerQuotient"/>IntegerQuotient</term>
          <listitem>
           <synopsis>IntegerQuotient (m,n)</synopsis>
           <para>Division without remainder.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsComplex">
-         <term>IsComplex</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsComplex"/>IsComplex</term>
          <listitem>
           <synopsis>IsComplex (num)</synopsis>
           <para>Check if argument is a complex (non-real) number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsComplexRational">
-         <term>IsComplexRational</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsComplexRational"/>IsComplexRational</term>
          <listitem>
           <synopsis>IsComplexRational (num)</synopsis>
          <para>Check if argument is a possibly complex rational number.  That is, if both real and imaginary 
parts are
@@ -3805,16 +3805,16 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsFloat">
-         <term>IsFloat</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsFloat"/>IsFloat</term>
          <listitem>
           <synopsis>IsFloat (num)</synopsis>
           <para>Check if argument is a floating point number (non-complex).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsGaussInteger">
-         <term>IsGaussInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsGaussInteger"/>IsGaussInteger</term>
          <listitem>
           <synopsis>IsGaussInteger (num)</synopsis>
           <para>Aliases: <function>IsComplexInteger</function></para>
@@ -3822,24 +3822,24 @@ all its elements are conjugated.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsInteger">
-         <term>IsInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsInteger"/>IsInteger</term>
          <listitem>
           <synopsis>IsInteger (num)</synopsis>
           <para>Check if argument is an integer (non-complex).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsNonNegativeInteger">
-         <term>IsNonNegativeInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsNonNegativeInteger"/>IsNonNegativeInteger</term>
          <listitem>
           <synopsis>IsNonNegativeInteger (num)</synopsis>
           <para>Check if argument is a non-negative real integer.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPositiveInteger">
-         <term>IsPositiveInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPositiveInteger"/>IsPositiveInteger</term>
          <listitem>
           <synopsis>IsPositiveInteger (num)</synopsis>
           <para>Aliases: <function>IsNaturalNumber</function></para>
@@ -3848,24 +3848,24 @@ we accept the convention that 0 is not a natural number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsRational">
-         <term>IsRational</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsRational"/>IsRational</term>
          <listitem>
           <synopsis>IsRational (num)</synopsis>
           <para>Check if argument is a rational number (non-complex).  Of course rational simply means "not 
stored as a floating point number."</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsReal">
-         <term>IsReal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsReal"/>IsReal</term>
          <listitem>
           <synopsis>IsReal (num)</synopsis>
           <para>Check if argument is a real number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Numerator">
-         <term>Numerator</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Numerator"/>Numerator</term>
          <listitem>
           <synopsis>Numerator (x)</synopsis>
           <para>Get the numerator of a rational number.</para>
@@ -3876,8 +3876,8 @@ we accept the convention that 0 is not a natural number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Re">
-         <term>Re</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Re"/>Re</term>
          <listitem>
           <synopsis>Re (z)</synopsis>
           <para>Aliases: <function>RealPart</function></para>
@@ -3889,8 +3889,8 @@ we accept the convention that 0 is not a natural number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Sign">
-         <term>Sign</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Sign"/>Sign</term>
          <listitem>
           <synopsis>Sign (x)</synopsis>
           <para>Aliases: <function>sign</function></para>
@@ -3903,8 +3903,8 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ceil">
-         <term>ceil</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ceil"/>ceil</term>
          <listitem>
           <synopsis>ceil (x)</synopsis>
           <para>Aliases: <function>Ceiling</function></para>
@@ -3926,8 +3926,8 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-exp">
-         <term>exp</term>
+        <varlistentry>
+         <term><anchor id="gel-function-exp"/>exp</term>
          <listitem>
           <synopsis>exp (x)</synopsis>
           <para>
@@ -3945,16 +3945,16 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-float">
-         <term>float</term>
+        <varlistentry>
+         <term><anchor id="gel-function-float"/>float</term>
          <listitem>
           <synopsis>float (x)</synopsis>
           <para>Make number a floating point value.  That is returns the floating point representation of 
the number <varname>x</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-floor">
-         <term>floor</term>
+        <varlistentry>
+         <term><anchor id="gel-function-floor"/>floor</term>
          <listitem>
           <synopsis>floor (x)</synopsis>
           <para>Aliases: <function>Floor</function></para>
@@ -3962,16 +3962,16 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ln">
-         <term>ln</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ln"/>ln</term>
          <listitem>
           <synopsis>ln (x)</synopsis>
           <para>The natural logarithm, the logarithm to base <varname>e</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-log">
-         <term>log</term>
+        <varlistentry>
+         <term><anchor id="gel-function-log"/>log</term>
          <listitem>
           <synopsis>log (x)</synopsis>
           <synopsis>log (x,b)</synopsis>
@@ -3979,16 +3979,16 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-log10">
-         <term>log10</term>
+        <varlistentry>
+         <term><anchor id="gel-function-log10"/>log10</term>
          <listitem>
           <synopsis>log10 (x)</synopsis>
           <para>Logarithm of <varname>x</varname> base 10.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-log2">
-         <term>log2</term>
+        <varlistentry>
+         <term><anchor id="gel-function-log2"/>log2</term>
          <listitem>
           <synopsis>log2 (x)</synopsis>
           <para>Aliases: <function>lg</function></para>
@@ -3996,8 +3996,8 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-max">
-         <term>max</term>
+        <varlistentry>
+         <term><anchor id="gel-function-max"/>max</term>
          <listitem>
           <synopsis>max (a,args...)</synopsis>
           <para>Aliases: <function>Max</function> <function>Maximum</function></para>
@@ -4005,8 +4005,8 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-min">
-         <term>min</term>
+        <varlistentry>
+         <term><anchor id="gel-function-min"/>min</term>
          <listitem>
           <synopsis>min (a,args...)</synopsis>
           <para>Aliases: <function>Min</function> <function>Minimum</function></para>
@@ -4014,8 +4014,8 @@ value then <function>Sign</function> returns the direction or 0.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-rand">
-         <term>rand</term>
+        <varlistentry>
+         <term><anchor id="gel-function-rand"/>rand</term>
          <listitem>
           <synopsis>rand (size...)</synopsis>
           <para>Generate random float in the range <literal>[0,1)</literal>.
@@ -4024,8 +4024,8 @@ number is specified) of the given size returned.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-randint">
-         <term>randint</term>
+        <varlistentry>
+         <term><anchor id="gel-function-randint"/>randint</term>
          <listitem>
           <synopsis>randint (max,size...)</synopsis>
           <para>Generate random integer in the range
@@ -4046,8 +4046,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-round">
-         <term>round</term>
+        <varlistentry>
+         <term><anchor id="gel-function-round"/>round</term>
          <listitem>
           <synopsis>round (x)</synopsis>
           <para>Aliases: <function>Round</function></para>
@@ -4055,8 +4055,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sqrt">
-         <term>sqrt</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sqrt"/>sqrt</term>
          <listitem>
           <synopsis>sqrt (x)</synopsis>
           <para>Aliases: <function>SquareRoot</function></para>
@@ -4079,8 +4079,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-trunc">
-         <term>trunc</term>
+        <varlistentry>
+         <term><anchor id="gel-function-trunc"/>trunc</term>
          <listitem>
           <synopsis>trunc (x)</synopsis>
           <para>Aliases: <function>Truncate</function> <function>IntegerPart</function></para>
@@ -4094,8 +4094,8 @@ number is specified) of the given size returned.  For example,
     <sect1 id="genius-gel-function-list-trigonometry">
       <title>Trigonometry</title>
       <variablelist>
-        <varlistentry id="gel-function-acos">
-         <term>acos</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acos"/>acos</term>
          <listitem>
           <synopsis>acos (x)</synopsis>
           <para>Aliases: <function>arccos</function></para>
@@ -4103,8 +4103,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-acosh">
-         <term>acosh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acosh"/>acosh</term>
          <listitem>
           <synopsis>acosh (x)</synopsis>
           <para>Aliases: <function>arccosh</function></para>
@@ -4112,8 +4112,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-acot">
-         <term>acot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acot"/>acot</term>
          <listitem>
           <synopsis>acot (x)</synopsis>
           <para>Aliases: <function>arccot</function></para>
@@ -4121,8 +4121,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-acoth">
-         <term>acoth</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acoth"/>acoth</term>
          <listitem>
           <synopsis>acoth (x)</synopsis>
           <para>Aliases: <function>arccoth</function></para>
@@ -4130,8 +4130,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-acsc">
-         <term>acsc</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acsc"/>acsc</term>
          <listitem>
           <synopsis>acsc (x)</synopsis>
           <para>Aliases: <function>arccsc</function></para>
@@ -4139,8 +4139,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-acsch">
-         <term>acsch</term>
+        <varlistentry>
+         <term><anchor id="gel-function-acsch"/>acsch</term>
          <listitem>
           <synopsis>acsch (x)</synopsis>
           <para>Aliases: <function>arccsch</function></para>
@@ -4148,8 +4148,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-asec">
-         <term>asec</term>
+        <varlistentry>
+         <term><anchor id="gel-function-asec"/>asec</term>
          <listitem>
           <synopsis>asec (x)</synopsis>
           <para>Aliases: <function>arcsec</function></para>
@@ -4157,8 +4157,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-asech">
-         <term>asech</term>
+        <varlistentry>
+         <term><anchor id="gel-function-asech"/>asech</term>
          <listitem>
           <synopsis>asech (x)</synopsis>
           <para>Aliases: <function>arcsech</function></para>
@@ -4166,8 +4166,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-asin">
-         <term>asin</term>
+        <varlistentry>
+         <term><anchor id="gel-function-asin"/>asin</term>
          <listitem>
           <synopsis>asin (x)</synopsis>
           <para>Aliases: <function>arcsin</function></para>
@@ -4175,8 +4175,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-asinh">
-         <term>asinh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-asinh"/>asinh</term>
          <listitem>
           <synopsis>asinh (x)</synopsis>
           <para>Aliases: <function>arcsinh</function></para>
@@ -4184,8 +4184,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-atan">
-         <term>atan</term>
+        <varlistentry>
+         <term><anchor id="gel-function-atan"/>atan</term>
          <listitem>
           <synopsis>atan (x)</synopsis>
           <para>Aliases: <function>arctan</function></para>
@@ -4198,8 +4198,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-atanh">
-         <term>atanh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-atanh"/>atanh</term>
          <listitem>
           <synopsis>atanh (x)</synopsis>
           <para>Aliases: <function>arctanh</function></para>
@@ -4207,8 +4207,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-atan2">
-         <term>atan2</term>
+        <varlistentry>
+         <term><anchor id="gel-function-atan2"/>atan2</term>
          <listitem>
           <synopsis>atan2 (y, x)</synopsis>
           <para>Aliases: <function>arctan2</function></para>
@@ -4228,8 +4228,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-cos">
-         <term>cos</term>
+        <varlistentry>
+         <term><anchor id="gel-function-cos"/>cos</term>
          <listitem>
           <synopsis>cos (x)</synopsis>
           <para>Calculates the cosine function.</para>
@@ -4240,8 +4240,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-cosh">
-         <term>cosh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-cosh"/>cosh</term>
          <listitem>
           <synopsis>cosh (x)</synopsis>
           <para>Calculates the hyperbolic cosine function.</para>
@@ -4252,8 +4252,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-cot">
-         <term>cot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-cot"/>cot</term>
          <listitem>
           <synopsis>cot (x)</synopsis>
           <para>The cotangent function.</para>
@@ -4264,8 +4264,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-coth">
-         <term>coth</term>
+        <varlistentry>
+         <term><anchor id="gel-function-coth"/>coth</term>
          <listitem>
           <synopsis>coth (x)</synopsis>
           <para>The hyperbolic cotangent function.</para>
@@ -4276,8 +4276,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-csc">
-         <term>csc</term>
+        <varlistentry>
+         <term><anchor id="gel-function-csc"/>csc</term>
          <listitem>
           <synopsis>csc (x)</synopsis>
           <para>The cosecant function.</para>
@@ -4288,8 +4288,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-csch">
-         <term>csch</term>
+        <varlistentry>
+         <term><anchor id="gel-function-csch"/>csch</term>
          <listitem>
           <synopsis>csch (x)</synopsis>
           <para>The hyperbolic cosecant function.</para>
@@ -4300,8 +4300,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sec">
-         <term>sec</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sec"/>sec</term>
          <listitem>
           <synopsis>sec (x)</synopsis>
           <para>The secant function.</para>
@@ -4312,8 +4312,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sech">
-         <term>sech</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sech"/>sech</term>
          <listitem>
           <synopsis>sech (x)</synopsis>
           <para>The hyperbolic secant function.</para>
@@ -4324,8 +4324,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sin">
-         <term>sin</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sin"/>sin</term>
          <listitem>
           <synopsis>sin (x)</synopsis>
           <para>Calculates the sine function.</para>
@@ -4336,8 +4336,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sinh">
-         <term>sinh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sinh"/>sinh</term>
          <listitem>
           <synopsis>sinh (x)</synopsis>
           <para>Calculates the hyperbolic sine function.</para>
@@ -4348,8 +4348,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-tan">
-         <term>tan</term>
+        <varlistentry>
+         <term><anchor id="gel-function-tan"/>tan</term>
          <listitem>
           <synopsis>tan (x)</synopsis>
           <para>Calculates the tan function.</para>
@@ -4360,8 +4360,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-tanh">
-         <term>tanh</term>
+        <varlistentry>
+         <term><anchor id="gel-function-tanh"/>tanh</term>
          <listitem>
           <synopsis>tanh (x)</synopsis>
           <para>The hyperbolic tangent function.</para>
@@ -4378,8 +4378,8 @@ number is specified) of the given size returned.  For example,
     <sect1 id="genius-gel-function-list-number-theory">
       <title>Number Theory</title>
       <variablelist>
-        <varlistentry id="gel-function-AreRelativelyPrime">
-         <term>AreRelativelyPrime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AreRelativelyPrime"/>AreRelativelyPrime</term>
          <listitem>
           <synopsis>AreRelativelyPrime (a,b)</synopsis>
           <para>
@@ -4394,8 +4394,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BernoulliNumber">
-         <term>BernoulliNumber</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BernoulliNumber"/>BernoulliNumber</term>
          <listitem>
           <synopsis>BernoulliNumber (n)</synopsis>
           <para>Return the <varname>n</varname>th Bernoulli number.</para>
@@ -4407,8 +4407,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ChineseRemainder">
-         <term>ChineseRemainder</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ChineseRemainder"/>ChineseRemainder</term>
          <listitem>
           <synopsis>ChineseRemainder (a,m)</synopsis>
           <para>Aliases: <function>CRT</function></para>
@@ -4425,8 +4425,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CombineFactorizations">
-         <term>CombineFactorizations</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CombineFactorizations"/>CombineFactorizations</term>
          <listitem>
           <synopsis>CombineFactorizations (a,b)</synopsis>
          <para>Given two factorizations, give the factorization of the
@@ -4435,24 +4435,24 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ConvertFromBase">
-         <term>ConvertFromBase</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ConvertFromBase"/>ConvertFromBase</term>
          <listitem>
           <synopsis>ConvertFromBase (v,b)</synopsis>
           <para>Convert a vector of values indicating powers of b to a number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ConvertToBase">
-         <term>ConvertToBase</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ConvertToBase"/>ConvertToBase</term>
          <listitem>
           <synopsis>ConvertToBase (n,b)</synopsis>
           <para>Convert a number to a vector of powers for elements in base <varname>b</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DiscreteLog">
-         <term>DiscreteLog</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DiscreteLog"/>DiscreteLog</term>
          <listitem>
           <synopsis>DiscreteLog (n,b,q)</synopsis>
           <para>Find discrete log of <varname>n</varname> base <varname>b</varname> in
@@ -4467,16 +4467,16 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Divides">
-         <term>Divides</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Divides"/>Divides</term>
          <listitem>
           <synopsis>Divides (m,n)</synopsis>
           <para>Checks divisibility (if <varname>m</varname> divides <varname>n</varname>).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-EulerPhi">
-         <term>EulerPhi</term>
+        <varlistentry>
+         <term><anchor id="gel-function-EulerPhi"/>EulerPhi</term>
          <listitem>
           <synopsis>EulerPhi (n)</synopsis>
           <para>
@@ -4493,8 +4493,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ExactDivision">
-         <term>ExactDivision</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ExactDivision"/>ExactDivision</term>
          <listitem>
           <synopsis>ExactDivision (n,d)</synopsis>
           <para>
@@ -4508,8 +4508,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Factorize">
-         <term>Factorize</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Factorize"/>Factorize</term>
          <listitem>
           <synopsis>Factorize (n)</synopsis>
           <para>
@@ -4528,8 +4528,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Factors">
-         <term>Factors</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Factors"/>Factors</term>
          <listitem>
           <synopsis>Factors (n)</synopsis>
           <para>
@@ -4547,8 +4547,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FermatFactorization">
-         <term>FermatFactorization</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FermatFactorization"/>FermatFactorization</term>
          <listitem>
           <synopsis>FermatFactorization (n,tries)</synopsis>
           <para>
@@ -4569,8 +4569,8 @@ number is specified) of the given size returned.  For example,
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindPrimitiveElementMod">
-         <term>FindPrimitiveElementMod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindPrimitiveElementMod"/>FindPrimitiveElementMod</term>
          <listitem>
           <synopsis>FindPrimitiveElementMod (q)</synopsis>
           <para>Find the first primitive element in F<subscript>q</subscript>, the finite
@@ -4578,8 +4578,8 @@ group of order <varname>q</varname>.  Of course <varname>q</varname> must be a p
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindRandomPrimitiveElementMod">
-         <term>FindRandomPrimitiveElementMod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindRandomPrimitiveElementMod"/>FindRandomPrimitiveElementMod</term>
          <listitem>
           <synopsis>FindRandomPrimitiveElementMod (q)</synopsis>
           <para>Find a random primitive element in F<subscript>q</subscript>, the finite
@@ -4587,8 +4587,8 @@ group of order <varname>q</varname> (q must be a prime).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IndexCalculus">
-         <term>IndexCalculus</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IndexCalculus"/>IndexCalculus</term>
          <listitem>
           <synopsis>IndexCalculus (n,b,q,S)</synopsis>
           <para>Compute discrete log base <varname>b</varname> of n in F<subscript>q</subscript>, the finite
@@ -4599,8 +4599,8 @@ primes possibly with second column precalculated by
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IndexCalculusPrecalculation">
-         <term>IndexCalculusPrecalculation</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IndexCalculusPrecalculation"/>IndexCalculusPrecalculation</term>
          <listitem>
           <synopsis>IndexCalculusPrecalculation (b,q,S)</synopsis>
          <para>Run the precalculation step of
@@ -4612,16 +4612,16 @@ precalculated and returned in the second column.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsEven">
-         <term>IsEven</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsEven"/>IsEven</term>
          <listitem>
           <synopsis>IsEven (n)</synopsis>
           <para>Tests if an integer is even.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMersennePrimeExponent">
-         <term>IsMersennePrimeExponent</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMersennePrimeExponent"/>IsMersennePrimeExponent</term>
          <listitem>
           <synopsis>IsMersennePrimeExponent (p)</synopsis>
           <para>
@@ -4646,8 +4646,8 @@ precalculated and returned in the second column.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsNthPower">
-         <term>IsNthPower</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsNthPower"/>IsNthPower</term>
          <listitem>
           <synopsis>IsNthPower (m,n)</synopsis>
           <para>
@@ -4660,24 +4660,24 @@ precalculated and returned in the second column.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsOdd">
-         <term>IsOdd</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsOdd"/>IsOdd</term>
          <listitem>
           <synopsis>IsOdd (n)</synopsis>
           <para>Tests if an integer is odd.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPerfectPower">
-         <term>IsPerfectPower</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPerfectPower"/>IsPerfectPower</term>
          <listitem>
           <synopsis>IsPerfectPower (n)</synopsis>
           <para>Check an integer is any perfect power, a<superscript>b</superscript>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPerfectSquare">
-         <term>IsPerfectSquare</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPerfectSquare"/>IsPerfectSquare</term>
          <listitem>
           <synopsis>IsPerfectSquare (n)</synopsis>
           <para>
@@ -4688,8 +4688,8 @@ precalculated and returned in the second column.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPrime">
-         <term>IsPrime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPrime"/>IsPrime</term>
          <listitem>
           <synopsis>IsPrime (n)</synopsis>
           <para>
@@ -4719,8 +4719,8 @@ precalculated and returned in the second column.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPrimitiveMod">
-         <term>IsPrimitiveMod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPrimitiveMod"/>IsPrimitiveMod</term>
          <listitem>
           <synopsis>IsPrimitiveMod (g,q)</synopsis>
           <para>Check if <varname>g</varname> is primitive in F<subscript>q</subscript>, the finite
@@ -4728,8 +4728,8 @@ group of order <varname>q</varname>, where <varname>q</varname> is a prime.  If
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPrimitiveModWithPrimeFactors">
-         <term>IsPrimitiveModWithPrimeFactors</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-IsPrimitiveModWithPrimeFactors"/>IsPrimitiveModWithPrimeFactors</term>
          <listitem>
           <synopsis>IsPrimitiveModWithPrimeFactors (g,q,f)</synopsis>
           <para>Check if <varname>g</varname> is primitive in F<subscript>q</subscript>, the finite
@@ -4739,8 +4739,8 @@ If <varname>q</varname> is not prime results are bogus.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPseudoprime">
-         <term>IsPseudoprime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPseudoprime"/>IsPseudoprime</term>
          <listitem>
           <synopsis>IsPseudoprime (n,b)</synopsis>
           <para>If <varname>n</varname> is a pseudoprime base <varname>b</varname> but not a prime,
@@ -4748,16 +4748,16 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsStrongPseudoprime">
-         <term>IsStrongPseudoprime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsStrongPseudoprime"/>IsStrongPseudoprime</term>
          <listitem>
           <synopsis>IsStrongPseudoprime (n,b)</synopsis>
           <para>Test if <varname>n</varname> is a strong pseudoprime to base <varname>b</varname> but not a 
prime.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Jacobi">
-         <term>Jacobi</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Jacobi"/>Jacobi</term>
          <listitem>
           <synopsis>Jacobi (a,b)</synopsis>
           <para>Aliases: <function>JacobiSymbol</function></para>
@@ -4765,8 +4765,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-JacobiKronecker">
-         <term>JacobiKronecker</term>
+        <varlistentry>
+         <term><anchor id="gel-function-JacobiKronecker"/>JacobiKronecker</term>
          <listitem>
           <synopsis>JacobiKronecker (a,b)</synopsis>
           <para>Aliases: <function>JacobiKroneckerSymbol</function></para>
@@ -4774,16 +4774,16 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LeastAbsoluteResidue">
-         <term>LeastAbsoluteResidue</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LeastAbsoluteResidue"/>LeastAbsoluteResidue</term>
          <listitem>
           <synopsis>LeastAbsoluteResidue (a,n)</synopsis>
           <para>Return the residue of <varname>a</varname> mod <varname>n</varname> with the least absolute 
value (in the interval -n/2 to n/2).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Legendre">
-         <term>Legendre</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Legendre"/>Legendre</term>
          <listitem>
           <synopsis>Legendre (a,p)</synopsis>
           <para>Aliases: <function>LegendreSymbol</function></para>
@@ -4796,8 +4796,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LucasLehmer">
-         <term>LucasLehmer</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LucasLehmer"/>LucasLehmer</term>
          <listitem>
           <synopsis>LucasLehmer (p)</synopsis>
           <para>Test if 2<superscript>p</superscript>-1 is a Mersenne prime using the Lucas-Lehmer test.
@@ -4815,8 +4815,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LucasNumber">
-         <term>LucasNumber</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LucasNumber"/>LucasNumber</term>
          <listitem>
           <synopsis>LucasNumber (n)</synopsis>
           <para>Returns the <varname>n</varname>th Lucas number.</para>
@@ -4829,16 +4829,16 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MaximalPrimePowerFactors">
-         <term>MaximalPrimePowerFactors</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MaximalPrimePowerFactors"/>MaximalPrimePowerFactors</term>
          <listitem>
           <synopsis>MaximalPrimePowerFactors (n)</synopsis>
           <para>Return all maximal prime power factors of a number.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MersennePrimeExponents">
-         <term>MersennePrimeExponents</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MersennePrimeExponents"/>MersennePrimeExponents</term>
          <listitem>
           <synopsis>MersennePrimeExponents</synopsis>
           <para>
@@ -4862,8 +4862,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MillerRabinTest">
-         <term>MillerRabinTest</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MillerRabinTest"/>MillerRabinTest</term>
          <listitem>
           <synopsis>MillerRabinTest (n,reps)</synopsis>
           <para>
@@ -4884,8 +4884,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MillerRabinTestSure">
-         <term>MillerRabinTestSure</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MillerRabinTestSure"/>MillerRabinTestSure</term>
          <listitem>
           <synopsis>MillerRabinTestSure (n)</synopsis>
           <para>
@@ -4902,8 +4902,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ModInvert">
-         <term>ModInvert</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ModInvert"/>ModInvert</term>
          <listitem>
           <synopsis>ModInvert (n,m)</synopsis>
           <para>Returns inverse of n mod m.</para>
@@ -4914,8 +4914,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusMu">
-         <term>MoebiusMu</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusMu"/>MoebiusMu</term>
          <listitem>
           <synopsis>MoebiusMu (n)</synopsis>
           <para>
@@ -4932,8 +4932,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NextPrime">
-         <term>NextPrime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NextPrime"/>NextPrime</term>
          <listitem>
           <synopsis>NextPrime (n)</synopsis>
           <para>
@@ -4957,8 +4957,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PadicValuation">
-         <term>PadicValuation</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PadicValuation"/>PadicValuation</term>
          <listitem>
           <synopsis>PadicValuation (n,p)</synopsis>
           <para>Returns the p-adic valuation (number of trailing zeros in base <varname>p</varname>).</para>
@@ -4969,8 +4969,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PowerMod">
-         <term>PowerMod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PowerMod"/>PowerMod</term>
          <listitem>
           <synopsis>PowerMod (a,b,m)</synopsis>
           <para>
@@ -4983,8 +4983,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Prime">
-         <term>Prime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Prime"/>Prime</term>
          <listitem>
           <synopsis>Prime (n)</synopsis>
           <para>Aliases: <function>prime</function></para>
@@ -4997,8 +4997,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PrimeFactors">
-         <term>PrimeFactors</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PrimeFactors"/>PrimeFactors</term>
          <listitem>
           <synopsis>PrimeFactors (n)</synopsis>
           <para>Return all prime factors of a number as a vector.</para>
@@ -5009,8 +5009,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PseudoprimeTest">
-         <term>PseudoprimeTest</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PseudoprimeTest"/>PseudoprimeTest</term>
          <listitem>
           <synopsis>PseudoprimeTest (n,b)</synopsis>
          <para>Pseudoprime test, returns <constant>true</constant> if and only if
@@ -5023,8 +5023,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RemoveFactor">
-         <term>RemoveFactor</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RemoveFactor"/>RemoveFactor</term>
          <listitem>
           <synopsis>RemoveFactor (n,m)</synopsis>
           <para>Removes all instances of the factor <varname>m</varname> from the number 
<varname>n</varname>.  That is divides by the largest power of <varname>m</varname>, that divides 
<varname>n</varname>.</para>
@@ -5036,16 +5036,16 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SilverPohligHellmanWithFactorization">
-         <term>SilverPohligHellmanWithFactorization</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-SilverPohligHellmanWithFactorization"/>SilverPohligHellmanWithFactorization</term>
          <listitem>
           <synopsis>SilverPohligHellmanWithFactorization (n,b,q,f)</synopsis>
           <para>Find discrete log of <varname>n</varname> base <varname>b</varname> in 
F<subscript>q</subscript>, the finite group of order <varname>q</varname>, where <varname>q</varname> is a 
prime using the Silver-Pohlig-Hellman algorithm, given <varname>f</varname> being the factorization of 
<varname>q</varname>-1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SqrtModPrime">
-         <term>SqrtModPrime</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SqrtModPrime"/>SqrtModPrime</term>
          <listitem>
           <synopsis>SqrtModPrime (n,p)</synopsis>
           <para>Find square root of <varname>n</varname> modulo <varname>p</varname> (where 
<varname>p</varname> is a prime).  Null is returned if not a quadratic residue.</para>
@@ -5057,8 +5057,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StrongPseudoprimeTest">
-         <term>StrongPseudoprimeTest</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StrongPseudoprimeTest"/>StrongPseudoprimeTest</term>
          <listitem>
           <synopsis>StrongPseudoprimeTest (n,b)</synopsis>
           <para>Run the strong pseudoprime test base <varname>b</varname> on <varname>n</varname>.</para>
@@ -5070,8 +5070,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-gcd">
-         <term>gcd</term>
+        <varlistentry>
+         <term><anchor id="gel-function-gcd"/>gcd</term>
          <listitem>
           <synopsis>gcd (a,args...)</synopsis>
           <para>Aliases: <function>GCD</function></para>
@@ -5089,8 +5089,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-lcm">
-         <term>lcm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-lcm"/>lcm</term>
          <listitem>
           <synopsis>lcm (a,args...)</synopsis>
           <para>Aliases: <function>LCM</function></para>
@@ -5114,48 +5114,48 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
     <sect1 id="genius-gel-function-list-matrix">
       <title>Matrix Manipulation</title>
       <variablelist>
-        <varlistentry id="gel-function-ApplyOverMatrix">
-         <term>ApplyOverMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ApplyOverMatrix"/>ApplyOverMatrix</term>
          <listitem>
           <synopsis>ApplyOverMatrix (a,func)</synopsis>
           <para>Apply a function over all entries of a matrix and return a matrix of the results.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ApplyOverMatrix2">
-         <term>ApplyOverMatrix2</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ApplyOverMatrix2"/>ApplyOverMatrix2</term>
          <listitem>
           <synopsis>ApplyOverMatrix2 (a,b,func)</synopsis>
           <para>Apply a function over all entries of 2 matrices (or 1 value and 1 matrix) and return a 
matrix of the results.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ColumnsOf">
-         <term>ColumnsOf</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ColumnsOf"/>ColumnsOf</term>
          <listitem>
           <synopsis>ColumnsOf (M)</synopsis>
           <para>Gets the columns of a matrix as a horizontal vector.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ComplementSubmatrix">
-         <term>ComplementSubmatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ComplementSubmatrix"/>ComplementSubmatrix</term>
          <listitem>
           <synopsis>ComplementSubmatrix (m,r,c)</synopsis>
           <para>Remove column(s) and row(s) from a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CompoundMatrix">
-         <term>CompoundMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CompoundMatrix"/>CompoundMatrix</term>
          <listitem>
           <synopsis>CompoundMatrix (k,A)</synopsis>
           <para>Calculate the kth compound matrix of A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CountZeroColumns">
-         <term>CountZeroColumns</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CountZeroColumns"/>CountZeroColumns</term>
          <listitem>
           <synopsis>CountZeroColumns (M)</synopsis>
           <para>
@@ -5167,24 +5167,24 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DeleteColumn">
-         <term>DeleteColumn</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DeleteColumn"/>DeleteColumn</term>
          <listitem>
           <synopsis>DeleteColumn (M,col)</synopsis>
           <para>Delete a column of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DeleteRow">
-         <term>DeleteRow</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DeleteRow"/>DeleteRow</term>
          <listitem>
           <synopsis>DeleteRow (M,row)</synopsis>
           <para>Delete a row of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DiagonalOf">
-         <term>DiagonalOf</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DiagonalOf"/>DiagonalOf</term>
          <listitem>
           <synopsis>DiagonalOf (M)</synopsis>
           <para>Gets the diagonal entries of a matrix as a column vector.</para>
@@ -5195,8 +5195,8 @@ that is if <userinput>b^(n-1) == 1 mod n</userinput>.  This calls the <function>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DotProduct">
-         <term>DotProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DotProduct"/>DotProduct</term>
          <listitem>
           <synopsis>DotProduct (u,v)</synopsis>
          <para>Get the dot product of two vectors.  The vectors must be of the
@@ -5208,8 +5208,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ExpandMatrix">
-         <term>ExpandMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ExpandMatrix"/>ExpandMatrix</term>
          <listitem>
           <synopsis>ExpandMatrix (M)</synopsis>
           <para>
@@ -5221,8 +5221,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-HermitianProduct">
-         <term>HermitianProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-HermitianProduct"/>HermitianProduct</term>
          <listitem>
           <synopsis>HermitianProduct (u,v)</synopsis>
           <para>Aliases: <function>InnerProduct</function></para>
@@ -5234,8 +5234,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-I">
-         <term>I</term>
+        <varlistentry>
+         <term><anchor id="gel-function-I"/>I</term>
          <listitem>
           <synopsis>I (n)</synopsis>
           <para>Aliases: <function>eye</function></para>
@@ -5247,8 +5247,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IndexComplement">
-         <term>IndexComplement</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IndexComplement"/>IndexComplement</term>
          <listitem>
           <synopsis>IndexComplement (vec,msize)</synopsis>
           <para>Return the index complement of a vector of indexes.  Everything is one based.  For example 
for vector <userinput>[2,3]</userinput> and size
@@ -5257,8 +5257,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsDiagonal">
-         <term>IsDiagonal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsDiagonal"/>IsDiagonal</term>
          <listitem>
           <synopsis>IsDiagonal (M)</synopsis>
           <para>Is a matrix diagonal.</para>
@@ -5270,8 +5270,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsIdentity">
-         <term>IsIdentity</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsIdentity"/>IsIdentity</term>
          <listitem>
           <synopsis>IsIdentity (x)</synopsis>
           <para>Check if a matrix is the identity matrix.  Automatically returns <constant>false</constant>
@@ -5282,24 +5282,24 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsLowerTriangular">
-         <term>IsLowerTriangular</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsLowerTriangular"/>IsLowerTriangular</term>
          <listitem>
           <synopsis>IsLowerTriangular (M)</synopsis>
           <para>Is a matrix lower triangular. That is, are all the entries above the diagonal zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixInteger">
-         <term>IsMatrixInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixInteger"/>IsMatrixInteger</term>
          <listitem>
           <synopsis>IsMatrixInteger (M)</synopsis>
           <para>Check if a matrix is a matrix of an integers (non-complex).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixNonnegative">
-         <term>IsMatrixNonnegative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixNonnegative"/>IsMatrixNonnegative</term>
          <listitem>
           <synopsis>IsMatrixNonnegative (M)</synopsis>
           <para>Check if a matrix is non-negative, that is if each element is non-negative.
@@ -5311,8 +5311,8 @@ same size.  No conjugates are taken so this is a bilinear form even if working o
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixPositive">
-         <term>IsMatrixPositive</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixPositive"/>IsMatrixPositive</term>
          <listitem>
           <synopsis>IsMatrixPositive (M)</synopsis>
          <para>Check if a matrix is positive, that is if each element is
@@ -5325,8 +5325,8 @@ positive matrices with positive definite matrices.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixRational">
-         <term>IsMatrixRational</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixRational"/>IsMatrixRational</term>
          <listitem>
           <synopsis>IsMatrixRational (M)</synopsis>
           <para>Check if a matrix is a matrix of rational (non-complex)
@@ -5334,16 +5334,16 @@ numbers.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixReal">
-         <term>IsMatrixReal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixReal"/>IsMatrixReal</term>
          <listitem>
           <synopsis>IsMatrixReal (M)</synopsis>
           <para>Check if a matrix is a matrix of real (non-complex) numbers.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsMatrixSquare">
-         <term>IsMatrixSquare</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsMatrixSquare"/>IsMatrixSquare</term>
          <listitem>
           <synopsis>IsMatrixSquare (M)</synopsis>
           <para>
@@ -5353,16 +5353,16 @@ numbers.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsUpperTriangular">
-         <term>IsUpperTriangular</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsUpperTriangular"/>IsUpperTriangular</term>
          <listitem>
           <synopsis>IsUpperTriangular (M)</synopsis>
           <para>Is a matrix upper triangular?  That is, a matrix is upper triangular if all the entries 
below the diagonal are zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsValueOnly">
-         <term>IsValueOnly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsValueOnly"/>IsValueOnly</term>
          <listitem>
           <synopsis>IsValueOnly (M)</synopsis>
           <para>Check if a matrix is a matrix of numbers only.  Many internal
@@ -5370,8 +5370,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsVector">
-         <term>IsVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsVector"/>IsVector</term>
          <listitem>
           <synopsis>IsVector (v)</synopsis>
           <para>
@@ -5382,8 +5382,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsZero">
-         <term>IsZero</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsZero"/>IsZero</term>
          <listitem>
           <synopsis>IsZero (x)</synopsis>
           <para>Check if a matrix is composed of all zeros.  Also works on numbers, in which
@@ -5395,16 +5395,16 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LowerTriangular">
-         <term>LowerTriangular</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LowerTriangular"/>LowerTriangular</term>
          <listitem>
           <synopsis>LowerTriangular (M)</synopsis>
           <para>Returns a copy of the matrix <varname>M</varname> with all the entries above the diagonal 
set to zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MakeDiagonal">
-         <term>MakeDiagonal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MakeDiagonal"/>MakeDiagonal</term>
          <listitem>
           <synopsis>MakeDiagonal (v,arg...)</synopsis>
           <para>Aliases: <function>diag</function></para>
@@ -5420,8 +5420,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MakeVector">
-         <term>MakeVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MakeVector"/>MakeVector</term>
          <listitem>
           <synopsis>MakeVector (A)</synopsis>
           <para>Make column vector out of matrix by putting columns above
@@ -5429,8 +5429,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MatrixProduct">
-         <term>MatrixProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MatrixProduct"/>MatrixProduct</term>
          <listitem>
           <synopsis>MatrixProduct (A)</synopsis>
           <para>
@@ -5441,8 +5441,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MatrixSum">
-         <term>MatrixSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MatrixSum"/>MatrixSum</term>
          <listitem>
           <synopsis>MatrixSum (A)</synopsis>
           <para>
@@ -5453,8 +5453,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MatrixSumSquares">
-         <term>MatrixSumSquares</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MatrixSumSquares"/>MatrixSumSquares</term>
          <listitem>
           <synopsis>MatrixSumSquares (A)</synopsis>
           <para>Calculate the sum of squares of all elements in a matrix
@@ -5462,8 +5462,8 @@ functions make this check.  Values can be any number including complex numbers.<
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OuterProduct">
-         <term>OuterProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OuterProduct"/>OuterProduct</term>
          <listitem>
           <synopsis>OuterProduct (u,v)</synopsis>
           <para>Get the outer product of two vectors.  That is, suppose that
@@ -5472,16 +5472,16 @@ the outer product is <userinput>v * u.'</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ReverseVector">
-         <term>ReverseVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ReverseVector"/>ReverseVector</term>
          <listitem>
           <synopsis>ReverseVector (v)</synopsis>
          <para>Reverse elements in a vector.  Return <constant>null</constant> if given 
<constant>null</constant></para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowSum">
-         <term>RowSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowSum"/>RowSum</term>
          <listitem>
           <synopsis>RowSum (m)</synopsis>
           <para>Calculate sum of each row in a matrix and return a vertical
@@ -5489,16 +5489,16 @@ vector with the result.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowSumSquares">
-         <term>RowSumSquares</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowSumSquares"/>RowSumSquares</term>
          <listitem>
           <synopsis>RowSumSquares (m)</synopsis>
           <para>Calculate sum of squares of each row in a matrix and return a vertical vector with the 
results.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowsOf">
-         <term>RowsOf</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowsOf"/>RowsOf</term>
          <listitem>
           <synopsis>RowsOf (M)</synopsis>
          <para>Gets the rows of a matrix as a vertical vector.  Each element
@@ -5509,8 +5509,8 @@ something(r)</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SetMatrixSize">
-         <term>SetMatrixSize</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SetMatrixSize"/>SetMatrixSize</term>
          <listitem>
           <synopsis>SetMatrixSize (M,rows,columns)</synopsis>
           <para>Make new matrix of given size from old one.  That is, a new
@@ -5522,40 +5522,40 @@ something(r)</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ShuffleVector">
-         <term>ShuffleVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ShuffleVector"/>ShuffleVector</term>
          <listitem>
           <synopsis>ShuffleVector (v)</synopsis>
          <para>Shuffle elements in a vector.  Return <constant>null</constant> if given 
<constant>null</constant></para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SortVector">
-         <term>SortVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SortVector"/>SortVector</term>
          <listitem>
           <synopsis>SortVector (v)</synopsis>
           <para>Sort vector elements in an increasing order.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StripZeroColumns">
-         <term>StripZeroColumns</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StripZeroColumns"/>StripZeroColumns</term>
          <listitem>
           <synopsis>StripZeroColumns (M)</synopsis>
           <para>Removes any all-zero columns of <varname>M</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StripZeroRows">
-         <term>StripZeroRows</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StripZeroRows"/>StripZeroRows</term>
          <listitem>
           <synopsis>StripZeroRows (M)</synopsis>
           <para>Removes any all-zero rows of <varname>M</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Submatrix">
-         <term>Submatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Submatrix"/>Submatrix</term>
          <listitem>
           <synopsis>Submatrix (m,r,c)</synopsis>
           <para>Return column(s) and row(s) from a matrix.  This is
@@ -5564,32 +5564,32 @@ and <varname>c</varname> should be vectors of rows and columns (or single number
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SwapRows">
-         <term>SwapRows</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SwapRows"/>SwapRows</term>
          <listitem>
           <synopsis>SwapRows (m,row1,row2)</synopsis>
           <para>Swap two rows in a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-UpperTriangular">
-         <term>UpperTriangular</term>
+        <varlistentry>
+         <term><anchor id="gel-function-UpperTriangular"/>UpperTriangular</term>
          <listitem>
           <synopsis>UpperTriangular (M)</synopsis>
           <para>Returns a copy of the matrix <varname>M</varname> with all the entries below the diagonal 
set to zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-columns">
-         <term>columns</term>
+        <varlistentry>
+         <term><anchor id="gel-function-columns"/>columns</term>
          <listitem>
           <synopsis>columns (M)</synopsis>
           <para>Get the number of columns of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-elements">
-         <term>elements</term>
+        <varlistentry>
+         <term><anchor id="gel-function-elements"/>elements</term>
          <listitem>
           <synopsis>elements (M)</synopsis>
           <para>Get the total number of elements of a matrix.  This is the
@@ -5597,24 +5597,24 @@ number of columns times the number of rows.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ones">
-         <term>ones</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ones"/>ones</term>
          <listitem>
           <synopsis>ones (rows,columns...)</synopsis>
          <para>Make an matrix of all ones (or a row vector if only one argument is given).  Returns 
<constant>null</constant> if either rows or columns are zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-rows">
-         <term>rows</term>
+        <varlistentry>
+         <term><anchor id="gel-function-rows"/>rows</term>
          <listitem>
           <synopsis>rows (M)</synopsis>
           <para>Get the number of rows of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-zeros">
-         <term>zeros</term>
+        <varlistentry>
+         <term><anchor id="gel-function-zeros"/>zeros</term>
          <listitem>
           <synopsis>zeros (rows,columns...)</synopsis>
          <para>Make a matrix of all zeros (or a row vector if only one argument is given).  Returns 
<constant>null</constant> if either rows or columns are zero.</para>
@@ -5627,8 +5627,8 @@ number of columns times the number of rows.</para>
     <sect1 id="genius-gel-function-list-linear-algebra">
       <title>Linear Algebra</title>
       <variablelist>
-        <varlistentry id="gel-function-AuxiliaryUnitMatrix">
-         <term>AuxiliaryUnitMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AuxiliaryUnitMatrix"/>AuxiliaryUnitMatrix</term>
          <listitem>
           <synopsis>AuxiliaryUnitMatrix (n)</synopsis>
           <para>Get the auxiliary unit matrix of size <varname>n</varname>.  This is a square matrix with 
that is all zero except the
@@ -5641,24 +5641,24 @@ superdiagonal being all ones.  It is the Jordan block matrix of one zero eigenva
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BilinearForm">
-         <term>BilinearForm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BilinearForm"/>BilinearForm</term>
          <listitem>
           <synopsis>BilinearForm (v,A,w)</synopsis>
           <para>Evaluate (v,w) with respect to the bilinear form given by the matrix A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BilinearFormFunction">
-         <term>BilinearFormFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BilinearFormFunction"/>BilinearFormFunction</term>
          <listitem>
           <synopsis>BilinearFormFunction (A)</synopsis>
           <para>Return a function that evaluates two vectors with respect to the bilinear form given by 
A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CharacteristicPolynomial">
-         <term>CharacteristicPolynomial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CharacteristicPolynomial"/>CharacteristicPolynomial</term>
          <listitem>
           <synopsis>CharacteristicPolynomial (M)</synopsis>
           <para>Aliases: <function>CharPoly</function></para>
@@ -5675,8 +5675,8 @@ See also <link linkend="gel-function-CharacteristicPolynomialFunction">Character
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CharacteristicPolynomialFunction">
-         <term>CharacteristicPolynomialFunction</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-CharacteristicPolynomialFunction"/>CharacteristicPolynomialFunction</term>
          <listitem>
           <synopsis>CharacteristicPolynomialFunction (M)</synopsis>
          <para>Get the characteristic polynomial as a function.  This is
@@ -5691,8 +5691,8 @@ See also <link linkend="gel-function-CharacteristicPolynomial">CharacteristicPol
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ColumnSpace">
-         <term>ColumnSpace</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ColumnSpace"/>ColumnSpace</term>
          <listitem>
           <synopsis>ColumnSpace (M)</synopsis>
          <para>Get a basis matrix for the columnspace of a matrix.  That is,
@@ -5702,8 +5702,8 @@ return a matrix whose columns are the basis for the column space of
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CommutationMatrix">
-         <term>CommutationMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CommutationMatrix"/>CommutationMatrix</term>
          <listitem>
           <synopsis>CommutationMatrix (m, n)</synopsis>
          <para>Return the commutation matrix K(m,n) which is the unique m*n by
@@ -5712,16 +5712,16 @@ matrices A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CompanionMatrix">
-         <term>CompanionMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CompanionMatrix"/>CompanionMatrix</term>
          <listitem>
           <synopsis>CompanionMatrix (p)</synopsis>
           <para>Companion matrix of a polynomial (as vector).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ConjugateTranspose">
-         <term>ConjugateTranspose</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ConjugateTranspose"/>ConjugateTranspose</term>
          <listitem>
           <synopsis>ConjugateTranspose (M)</synopsis>
           <para>Conjugate transpose of a matrix (adjoint).  This is the
@@ -5733,8 +5733,8 @@ matrices A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Convolution">
-         <term>Convolution</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Convolution"/>Convolution</term>
          <listitem>
           <synopsis>Convolution (a,b)</synopsis>
           <para>Aliases: <function>convol</function></para>
@@ -5742,8 +5742,8 @@ matrices A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ConvolutionVector">
-         <term>ConvolutionVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ConvolutionVector"/>ConvolutionVector</term>
          <listitem>
           <synopsis>ConvolutionVector (a,b)</synopsis>
           <para>Calculate convolution of two horizontal vectors.  Return
@@ -5751,8 +5751,8 @@ result as a vector and not added together.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CrossProduct">
-         <term>CrossProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CrossProduct"/>CrossProduct</term>
          <listitem>
           <synopsis>CrossProduct (v,w)</synopsis>
          <para>CrossProduct of two vectors in R<superscript>3</superscript> as
@@ -5760,32 +5760,32 @@ result as a vector and not added together.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DeterminantalDivisorsInteger">
-         <term>DeterminantalDivisorsInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DeterminantalDivisorsInteger"/>DeterminantalDivisorsInteger</term>
          <listitem>
           <synopsis>DeterminantalDivisorsInteger (M)</synopsis>
           <para>Get the determinantal divisors of an integer matrix (not its characteristic).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DirectSum">
-         <term>DirectSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DirectSum"/>DirectSum</term>
          <listitem>
           <synopsis>DirectSum (M,N...)</synopsis>
           <para>Direct sum of matrices.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DirectSumMatrixVector">
-         <term>DirectSumMatrixVector</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DirectSumMatrixVector"/>DirectSumMatrixVector</term>
          <listitem>
           <synopsis>DirectSumMatrixVector (v)</synopsis>
           <para>Direct sum of a vector of matrices.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Eigenvalues">
-         <term>Eigenvalues</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Eigenvalues"/>Eigenvalues</term>
          <listitem>
           <synopsis>Eigenvalues (M)</synopsis>
           <para>Aliases: <function>eig</function></para>
@@ -5803,8 +5803,8 @@ result as a vector and not added together.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Eigenvectors">
-         <term>Eigenvectors</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Eigenvectors"/>Eigenvectors</term>
          <listitem>
           <synopsis>Eigenvectors (M)</synopsis>
           <synopsis>Eigenvectors (M, &amp;eigenvalues)</synopsis>
@@ -5822,8 +5822,8 @@ the eigenvalues and their algebraic multiplicities.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GramSchmidt">
-         <term>GramSchmidt</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GramSchmidt"/>GramSchmidt</term>
          <listitem>
           <synopsis>GramSchmidt (v,B...)</synopsis>
          <para>Apply the Gram-Schmidt process (to the columns) with respect to
@@ -5839,16 +5839,16 @@ a sesquilinear form.  The vectors will be made orthonormal with respect to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-HankelMatrix">
-         <term>HankelMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-HankelMatrix"/>HankelMatrix</term>
          <listitem>
           <synopsis>HankelMatrix (c,r)</synopsis>
           <para>Hankel matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-HilbertMatrix">
-         <term>HilbertMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-HilbertMatrix"/>HilbertMatrix</term>
          <listitem>
           <synopsis>HilbertMatrix (n)</synopsis>
           <para>Hilbert matrix of order <varname>n</varname>.</para>
@@ -5859,32 +5859,32 @@ a sesquilinear form.  The vectors will be made orthonormal with respect to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Image">
-         <term>Image</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Image"/>Image</term>
          <listitem>
           <synopsis>Image (T)</synopsis>
           <para>Get the image (columnspace) of a linear transform.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InfNorm">
-         <term>InfNorm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InfNorm"/>InfNorm</term>
          <listitem>
           <synopsis>InfNorm (v)</synopsis>
           <para>Get the Inf Norm of a vector, sometimes called the sup norm or the max norm.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InvariantFactorsInteger">
-         <term>InvariantFactorsInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InvariantFactorsInteger"/>InvariantFactorsInteger</term>
          <listitem>
           <synopsis>InvariantFactorsInteger (M)</synopsis>
           <para>Get the invariant factors of a square integer matrix (not its characteristic).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InverseHilbertMatrix">
-         <term>InverseHilbertMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InverseHilbertMatrix"/>InverseHilbertMatrix</term>
          <listitem>
           <synopsis>InverseHilbertMatrix (n)</synopsis>
           <para>Inverse Hilbert matrix of order <varname>n</varname>.</para>
@@ -5895,8 +5895,8 @@ a sesquilinear form.  The vectors will be made orthonormal with respect to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsHermitian">
-         <term>IsHermitian</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsHermitian"/>IsHermitian</term>
          <listitem>
           <synopsis>IsHermitian (M)</synopsis>
           <para>Is a matrix Hermitian.  That is, is it equal to its conjugate transpose.</para>
@@ -5907,32 +5907,32 @@ a sesquilinear form.  The vectors will be made orthonormal with respect to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsInSubspace">
-         <term>IsInSubspace</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsInSubspace"/>IsInSubspace</term>
          <listitem>
           <synopsis>IsInSubspace (v,W)</synopsis>
           <para>Test if a vector is in a subspace.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsInvertible">
-         <term>IsInvertible</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsInvertible"/>IsInvertible</term>
          <listitem>
           <synopsis>IsInvertible (n)</synopsis>
           <para>Is a matrix (or number) invertible (Integer matrix is invertible if and only if it is 
invertible over the integers).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsInvertibleField">
-         <term>IsInvertibleField</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsInvertibleField"/>IsInvertibleField</term>
          <listitem>
           <synopsis>IsInvertibleField (n)</synopsis>
           <para>Is a matrix (or number) invertible over a field.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsNormal">
-         <term>IsNormal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsNormal"/>IsNormal</term>
          <listitem>
           <synopsis>IsNormal (M)</synopsis>
           <para>Is <varname>M</varname> a normal matrix.  That is,
@@ -5945,8 +5945,8 @@ a sesquilinear form.  The vectors will be made orthonormal with respect to
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPositiveDefinite">
-         <term>IsPositiveDefinite</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPositiveDefinite"/>IsPositiveDefinite</term>
          <listitem>
           <synopsis>IsPositiveDefinite (M)</synopsis>
           <para>Is <varname>M</varname> a Hermitian positive definite matrix.  That is if
@@ -5972,8 +5972,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPositiveSemidefinite">
-         <term>IsPositiveSemidefinite</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPositiveSemidefinite"/>IsPositiveSemidefinite</term>
          <listitem>
           <synopsis>IsPositiveSemidefinite (M)</synopsis>
           <para>Is <varname>M</varname> a Hermitian positive semidefinite matrix.  That is if
@@ -5999,8 +5999,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsSkewHermitian">
-         <term>IsSkewHermitian</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsSkewHermitian"/>IsSkewHermitian</term>
          <listitem>
           <synopsis>IsSkewHermitian (M)</synopsis>
           <para>Is a matrix skew-Hermitian.  That is, is the conjugate transpose equal to negative of the 
matrix.</para>
@@ -6011,8 +6011,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsUnitary">
-         <term>IsUnitary</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsUnitary"/>IsUnitary</term>
          <listitem>
           <synopsis>IsUnitary (M)</synopsis>
           <para>Is a matrix unitary?  That is, does
@@ -6026,8 +6026,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-JordanBlock">
-         <term>JordanBlock</term>
+        <varlistentry>
+         <term><anchor id="gel-function-JordanBlock"/>JordanBlock</term>
          <listitem>
           <synopsis>JordanBlock (n,lambda)</synopsis>
           <para>Aliases: <function>J</function></para>
@@ -6042,8 +6042,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Kernel">
-         <term>Kernel</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Kernel"/>Kernel</term>
          <listitem>
           <synopsis>Kernel (T)</synopsis>
           <para>Get the kernel (nullspace) of a linear transform.</para>
@@ -6053,8 +6053,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LUDecomposition">
-         <term>LUDecomposition</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LUDecomposition"/>LUDecomposition</term>
          <listitem>
           <synopsis>LUDecomposition (A, L, U)</synopsis>
           <para>
@@ -6091,8 +6091,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Minor">
-         <term>Minor</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Minor"/>Minor</term>
          <listitem>
           <synopsis>Minor (M,i,j)</synopsis>
           <para>Get the <varname>i</varname>-<varname>j</varname> minor of a matrix.</para>
@@ -6103,16 +6103,16 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NonPivotColumns">
-         <term>NonPivotColumns</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NonPivotColumns"/>NonPivotColumns</term>
          <listitem>
           <synopsis>NonPivotColumns (M)</synopsis>
           <para>Return the columns that are not the pivot columns of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Norm">
-         <term>Norm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Norm"/>Norm</term>
          <listitem>
           <synopsis>Norm (v,p...)</synopsis>
           <para>Aliases: <function>norm</function></para>
@@ -6120,8 +6120,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NullSpace">
-         <term>NullSpace</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NullSpace"/>NullSpace</term>
          <listitem>
           <synopsis>NullSpace (T)</synopsis>
           <para>Get the nullspace of a matrix.  That is the kernel of the
@@ -6135,8 +6135,8 @@ determinant.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Nullity">
-         <term>Nullity</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Nullity"/>Nullity</term>
          <listitem>
           <synopsis>Nullity (M)</synopsis>
           <para>Aliases: <function>nullity</function></para>
@@ -6149,24 +6149,24 @@ the nullspace; the dimension of the kernel of <varname>M</varname>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OrthogonalComplement">
-         <term>OrthogonalComplement</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OrthogonalComplement"/>OrthogonalComplement</term>
          <listitem>
           <synopsis>OrthogonalComplement (M)</synopsis>
           <para>Get the orthogonal complement of the columnspace.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PivotColumns">
-         <term>PivotColumns</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PivotColumns"/>PivotColumns</term>
          <listitem>
           <synopsis>PivotColumns (M)</synopsis>
           <para>Return pivot columns of a matrix, that is columns which have a leading 1 in row reduced 
form.  Also returns the row where they occur.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Projection">
-         <term>Projection</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Projection"/>Projection</term>
          <listitem>
           <synopsis>Projection (v,W,B...)</synopsis>
          <para>Projection of vector <varname>v</varname> onto subspace
@@ -6178,8 +6178,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-QRDecomposition">
-         <term>QRDecomposition</term>
+        <varlistentry>
+         <term><anchor id="gel-function-QRDecomposition"/>QRDecomposition</term>
          <listitem>
           <synopsis>QRDecomposition (A, Q)</synopsis>
           <para>
@@ -6204,8 +6204,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RayleighQuotient">
-         <term>RayleighQuotient</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RayleighQuotient"/>RayleighQuotient</term>
          <listitem>
           <synopsis>RayleighQuotient (A,x)</synopsis>
           <para>Return the Rayleigh quotient (also called the Rayleigh-Ritz quotient or ratio) of a matrix 
and a vector.</para>
@@ -6216,8 +6216,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RayleighQuotientIteration">
-         <term>RayleighQuotientIteration</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RayleighQuotientIteration"/>RayleighQuotientIteration</term>
          <listitem>
           <synopsis>RayleighQuotientIteration (A,x,epsilon,maxiter,vecref)</synopsis>
           <para>Find eigenvalues of <varname>A</varname> using the Rayleigh
@@ -6237,8 +6237,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Rank">
-         <term>Rank</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Rank"/>Rank</term>
          <listitem>
           <synopsis>Rank (M)</synopsis>
           <para>Aliases: <function>rank</function></para>
@@ -6250,16 +6250,16 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RosserMatrix">
-         <term>RosserMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RosserMatrix"/>RosserMatrix</term>
          <listitem>
           <synopsis>RosserMatrix ()</synopsis>
           <para>Returns the Rosser matrix, which is a classic symmetric eigenvalue test problem.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Rotation2D">
-         <term>Rotation2D</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Rotation2D"/>Rotation2D</term>
          <listitem>
           <synopsis>Rotation2D (angle)</synopsis>
           <para>Aliases: <function>RotationMatrix</function></para>
@@ -6267,80 +6267,80 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Rotation3DX">
-         <term>Rotation3DX</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Rotation3DX"/>Rotation3DX</term>
          <listitem>
           <synopsis>Rotation3DX (angle)</synopsis>
           <para>Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> 
about the x-axis.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Rotation3DY">
-         <term>Rotation3DY</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Rotation3DY"/>Rotation3DY</term>
          <listitem>
           <synopsis>Rotation3DY (angle)</synopsis>
           <para>Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> 
about the y-axis.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Rotation3DZ">
-         <term>Rotation3DZ</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Rotation3DZ"/>Rotation3DZ</term>
          <listitem>
           <synopsis>Rotation3DZ (angle)</synopsis>
           <para>Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> 
about the z-axis.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowSpace">
-         <term>RowSpace</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowSpace"/>RowSpace</term>
          <listitem>
           <synopsis>RowSpace (M)</synopsis>
           <para>Get a basis matrix for the rowspace of a matrix.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SesquilinearForm">
-         <term>SesquilinearForm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SesquilinearForm"/>SesquilinearForm</term>
          <listitem>
           <synopsis>SesquilinearForm (v,A,w)</synopsis>
           <para>Evaluate (v,w) with respect to the sesquilinear form given by the matrix A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SesquilinearFormFunction">
-         <term>SesquilinearFormFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SesquilinearFormFunction"/>SesquilinearFormFunction</term>
          <listitem>
           <synopsis>SesquilinearFormFunction (A)</synopsis>
           <para>Return a function that evaluates two vectors with respect to the sesquilinear form given by 
A.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SmithNormalFormField">
-         <term>SmithNormalFormField</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SmithNormalFormField"/>SmithNormalFormField</term>
          <listitem>
           <synopsis>SmithNormalFormField (A)</synopsis>
           <para>Smith Normal Form for fields (will end up with 1's on the diagonal).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SmithNormalFormInteger">
-         <term>SmithNormalFormInteger</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SmithNormalFormInteger"/>SmithNormalFormInteger</term>
          <listitem>
           <synopsis>SmithNormalFormInteger (M)</synopsis>
           <para>Smith Normal Form for square integer matrices (not its characteristic).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SolveLinearSystem">
-         <term>SolveLinearSystem</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SolveLinearSystem"/>SolveLinearSystem</term>
          <listitem>
           <synopsis>SolveLinearSystem (M,V,args...)</synopsis>
          <para>Solve linear system Mx=V, return solution V if there is a unique solution, 
<constant>null</constant> otherwise.  Extra two reference parameters can optionally be used to get the 
reduced M and V.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ToeplitzMatrix">
-         <term>ToeplitzMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ToeplitzMatrix"/>ToeplitzMatrix</term>
          <listitem>
           <synopsis>ToeplitzMatrix (c, r...)</synopsis>
          <para>Return the Toeplitz matrix constructed given the first column c
@@ -6354,8 +6354,8 @@ Hermitian matrix (if the first element is real of course).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Trace">
-         <term>Trace</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Trace"/>Trace</term>
          <listitem>
           <synopsis>Trace (M)</synopsis>
           <para>Aliases: <function>trace</function></para>
@@ -6367,8 +6367,8 @@ Hermitian matrix (if the first element is real of course).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Transpose">
-         <term>Transpose</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Transpose"/>Transpose</term>
          <listitem>
           <synopsis>Transpose (M)</synopsis>
           <para>Transpose of a matrix.  This is the same as the
@@ -6380,8 +6380,8 @@ Hermitian matrix (if the first element is real of course).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VandermondeMatrix">
-         <term>VandermondeMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VandermondeMatrix"/>VandermondeMatrix</term>
          <listitem>
           <synopsis>VandermondeMatrix (v)</synopsis>
           <para>Aliases: <function>vander</function></para>
@@ -6389,8 +6389,8 @@ Hermitian matrix (if the first element is real of course).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorAngle">
-         <term>VectorAngle</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorAngle"/>VectorAngle</term>
          <listitem>
           <synopsis>VectorAngle (v,w,B...)</synopsis>
           <para>The angle of two vectors with respect to inner product given by
@@ -6401,32 +6401,32 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorSpaceDirectSum">
-         <term>VectorSpaceDirectSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorSpaceDirectSum"/>VectorSpaceDirectSum</term>
          <listitem>
           <synopsis>VectorSpaceDirectSum (M,N)</synopsis>
           <para>The direct sum of the vector spaces M and N.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorSubspaceIntersection">
-         <term>VectorSubspaceIntersection</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorSubspaceIntersection"/>VectorSubspaceIntersection</term>
          <listitem>
           <synopsis>VectorSubspaceIntersection (M,N)</synopsis>
           <para>Intersection of the subspaces given by M and N.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorSubspaceSum">
-         <term>VectorSubspaceSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorSubspaceSum"/>VectorSubspaceSum</term>
          <listitem>
           <synopsis>VectorSubspaceSum (M,N)</synopsis>
           <para>The sum of the vector spaces M and N, that is {w | w=m+n, m in M, n in N}.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-adj">
-         <term>adj</term>
+        <varlistentry>
+         <term><anchor id="gel-function-adj"/>adj</term>
          <listitem>
           <synopsis>adj (m)</synopsis>
           <para>Aliases: <function>Adjugate</function></para>
@@ -6434,8 +6434,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-cref">
-         <term>cref</term>
+        <varlistentry>
+         <term><anchor id="gel-function-cref"/>cref</term>
          <listitem>
           <synopsis>cref (M)</synopsis>
           <para>Aliases: <function>CREF</function> <function>ColumnReducedEchelonForm</function></para>
@@ -6443,8 +6443,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-det">
-         <term>det</term>
+        <varlistentry>
+         <term><anchor id="gel-function-det"/>det</term>
          <listitem>
           <synopsis>det (M)</synopsis>
           <para>Aliases: <function>Determinant</function></para>
@@ -6457,8 +6457,8 @@ function of two arguments or it can be a matrix giving a sesquilinear form.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ref">
-         <term>ref</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ref"/>ref</term>
          <listitem>
           <synopsis>ref (M)</synopsis>
           <para>Aliases: <function>REF</function> <function>RowEchelonForm</function></para>
@@ -6473,8 +6473,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-rref">
-         <term>rref</term>
+        <varlistentry>
+         <term><anchor id="gel-function-rref"/>rref</term>
          <listitem>
           <synopsis>rref (M)</synopsis>
           <para>Aliases: <function>RREF</function> <function>ReducedRowEchelonForm</function></para>
@@ -6493,8 +6493,8 @@ divided to make all pivots 1.</para>
     <sect1 id="genius-gel-function-list-combinatorics">
       <title>Combinatorics</title>
       <variablelist>
-        <varlistentry id="gel-function-Catalan">
-         <term>Catalan</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Catalan"/>Catalan</term>
          <listitem>
           <synopsis>Catalan (n)</synopsis>
           <para>Get <varname>n</varname>th Catalan number.</para>
@@ -6505,8 +6505,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Combinations">
-         <term>Combinations</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Combinations"/>Combinations</term>
          <listitem>
           <synopsis>Combinations (k,n)</synopsis>
           <para>Get all combinations of k numbers from 1 to n as a vector of vectors.
@@ -6515,8 +6515,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DoubleFactorial">
-         <term>DoubleFactorial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DoubleFactorial"/>DoubleFactorial</term>
          <listitem>
           <synopsis>DoubleFactorial (n)</synopsis>
           <para>Double factorial: <userinput>n(n-2)(n-4)...</userinput></para>
@@ -6527,8 +6527,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Factorial">
-         <term>Factorial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Factorial"/>Factorial</term>
          <listitem>
           <synopsis>Factorial (n)</synopsis>
           <para>Factorial: <userinput>n(n-1)(n-2)...</userinput></para>
@@ -6539,8 +6539,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FallingFactorial">
-         <term>FallingFactorial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FallingFactorial"/>FallingFactorial</term>
          <listitem>
           <synopsis>FallingFactorial (n,k)</synopsis>
           <para>Falling factorial: <userinput>(n)_k = n(n-1)...(n-(k-1))</userinput></para>
@@ -6551,8 +6551,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Fibonacci">
-         <term>Fibonacci</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Fibonacci"/>Fibonacci</term>
          <listitem>
           <synopsis>Fibonacci (x)</synopsis>
           <para>Aliases: <function>fib</function></para>
@@ -6572,8 +6572,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FrobeniusNumber">
-         <term>FrobeniusNumber</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FrobeniusNumber"/>FrobeniusNumber</term>
          <listitem>
           <synopsis>FrobeniusNumber (v,arg...)</synopsis>
           <para>
@@ -6590,16 +6590,16 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GaloisMatrix">
-         <term>GaloisMatrix</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GaloisMatrix"/>GaloisMatrix</term>
          <listitem>
           <synopsis>GaloisMatrix (combining_rule)</synopsis>
           <para>Galois matrix given a linear combining rule (a_1*x_+...+a_n*x_n=x_(n+1)).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GreedyAlgorithm">
-         <term>GreedyAlgorithm</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GreedyAlgorithm"/>GreedyAlgorithm</term>
          <listitem>
           <synopsis>FrobeniusNumber (n,v)</synopsis>
           <para>
@@ -6616,8 +6616,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-HarmonicNumber">
-         <term>HarmonicNumber</term>
+        <varlistentry>
+         <term><anchor id="gel-function-HarmonicNumber"/>HarmonicNumber</term>
          <listitem>
           <synopsis>HarmonicNumber (n,r)</synopsis>
           <para>Aliases: <function>HarmonicH</function></para>
@@ -6625,24 +6625,24 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Hofstadter">
-         <term>Hofstadter</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Hofstadter"/>Hofstadter</term>
          <listitem>
           <synopsis>Hofstadter (n)</synopsis>
           <para>Hofstadter's function q(n) defined by q(1)=1, q(2)=1, q(n)=q(n-q(n-1))+q(n-q(n-2)).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinearRecursiveSequence">
-         <term>LinearRecursiveSequence</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinearRecursiveSequence"/>LinearRecursiveSequence</term>
          <listitem>
           <synopsis>LinearRecursiveSequence (seed_values,combining_rule,n)</synopsis>
           <para>Compute linear recursive sequence using Galois stepping.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Multinomial">
-         <term>Multinomial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Multinomial"/>Multinomial</term>
          <listitem>
           <synopsis>Multinomial (v,arg...)</synopsis>
           <para>Calculate multinomial coefficients.  Takes a vector of
@@ -6670,8 +6670,8 @@ divided to make all pivots 1.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NextCombination">
-         <term>NextCombination</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NextCombination"/>NextCombination</term>
          <listitem>
           <synopsis>NextCombination (v,n)</synopsis>
          <para>Get combination that would come after v in call to
@@ -6696,8 +6696,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Pascal">
-         <term>Pascal</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Pascal"/>Pascal</term>
          <listitem>
           <synopsis>Pascal (i)</synopsis>
           <para>Get the Pascal's triangle as a matrix.  This will return
@@ -6711,8 +6711,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Permutations">
-         <term>Permutations</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Permutations"/>Permutations</term>
          <listitem>
           <synopsis>Permutations (k,n)</synopsis>
           <para>Get all permutations of <varname>k</varname> numbers from 1 to <varname>n</varname> as a 
vector of vectors.</para>
@@ -6724,8 +6724,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RisingFactorial">
-         <term>RisingFactorial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RisingFactorial"/>RisingFactorial</term>
          <listitem>
           <synopsis>RisingFactorial (n,k)</synopsis>
           <para>Aliases: <function>Pochhammer</function></para>
@@ -6737,8 +6737,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StirlingNumberFirst">
-         <term>StirlingNumberFirst</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StirlingNumberFirst"/>StirlingNumberFirst</term>
          <listitem>
           <synopsis>StirlingNumberFirst (n,m)</synopsis>
           <para>Aliases: <function>StirlingS1</function></para>
@@ -6751,8 +6751,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StirlingNumberSecond">
-         <term>StirlingNumberSecond</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StirlingNumberSecond"/>StirlingNumberSecond</term>
          <listitem>
           <synopsis>StirlingNumberSecond (n,m)</synopsis>
           <para>Aliases: <function>StirlingS2</function></para>
@@ -6765,16 +6765,16 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Subfactorial">
-         <term>Subfactorial</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Subfactorial"/>Subfactorial</term>
          <listitem>
           <synopsis>Subfactorial (n)</synopsis>
           <para>Subfactorial: n! times sum_{k=1}^n (-1)^k/k!.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Triangular">
-         <term>Triangular</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Triangular"/>Triangular</term>
          <listitem>
           <synopsis>Triangular (nth)</synopsis>
           <para>Calculate the <varname>n</varname>th triangular number.</para>
@@ -6785,8 +6785,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-nCr">
-         <term>nCr</term>
+        <varlistentry>
+         <term><anchor id="gel-function-nCr"/>nCr</term>
          <listitem>
           <synopsis>nCr (n,r)</synopsis>
           <para>Aliases: <function>Binomial</function></para>
@@ -6799,8 +6799,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-nPr">
-         <term>nPr</term>
+        <varlistentry>
+         <term><anchor id="gel-function-nPr"/>nPr</term>
          <listitem>
           <synopsis>nPr (n,r)</synopsis>
           <para>Calculate the number of permutations of size
@@ -6819,8 +6819,8 @@ do (
     <sect1 id="genius-gel-function-list-calculus">
       <title>Calculus</title>
       <variablelist>
-        <varlistentry id="gel-function-CompositeSimpsonsRule">
-         <term>CompositeSimpsonsRule</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CompositeSimpsonsRule"/>CompositeSimpsonsRule</term>
          <listitem>
           <synopsis>CompositeSimpsonsRule (f,a,b,n)</synopsis>
           <para>Integration of f by Composite Simpson's Rule on the interval [a,b] with n subintervals with 
error of max(f'''')*h^4*(b-a)/180, note that n should be even.</para>
@@ -6831,8 +6831,8 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-CompositeSimpsonsRuleTolerance">
-         <term>CompositeSimpsonsRuleTolerance</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-CompositeSimpsonsRuleTolerance"/>CompositeSimpsonsRuleTolerance</term>
          <listitem>
           <synopsis>CompositeSimpsonsRuleTolerance (f,a,b,FourthDerivativeBound,Tolerance)</synopsis>
           <para>Integration of f by Composite Simpson's Rule on the interval [a,b] with the number of steps 
calculated by the fourth derivative bound and the desired tolerance.</para>
@@ -6843,16 +6843,16 @@ do (
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Derivative">
-         <term>Derivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Derivative"/>Derivative</term>
          <listitem>
           <synopsis>Derivative (f,x0)</synopsis>
           <para>Attempt to calculate derivative by trying first symbolically and then numerically.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-EvenPeriodicExtension">
-         <term>EvenPeriodicExtension</term>
+        <varlistentry>
+         <term><anchor id="gel-function-EvenPeriodicExtension"/>EvenPeriodicExtension</term>
          <listitem>
           <synopsis>EvenPeriodicExtension (f,L)</synopsis>
          <para>Return a function which is even periodic extension of
@@ -6869,8 +6869,8 @@ extended to be periodic with period <userinput>2*L</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FourierSeriesFunction">
-         <term>FourierSeriesFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FourierSeriesFunction"/>FourierSeriesFunction</term>
          <listitem>
           <synopsis>FourierSeriesFunction (a,b,L)</synopsis>
          <para>Return a function which is a Fourier series with the
@@ -6889,80 +6889,80 @@ or <varname>b</varname> can be <constant>null</constant>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InfiniteProduct">
-         <term>InfiniteProduct</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InfiniteProduct"/>InfiniteProduct</term>
          <listitem>
           <synopsis>InfiniteProduct (func,start,inc)</synopsis>
           <para>Try to calculate an infinite product for a single parameter function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InfiniteProduct2">
-         <term>InfiniteProduct2</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InfiniteProduct2"/>InfiniteProduct2</term>
          <listitem>
           <synopsis>InfiniteProduct2 (func,arg,start,inc)</synopsis>
           <para>Try to calculate an infinite product for a double parameter function with func(arg,n).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InfiniteSum">
-         <term>InfiniteSum</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InfiniteSum"/>InfiniteSum</term>
          <listitem>
           <synopsis>InfiniteSum (func,start,inc)</synopsis>
           <para>Try to calculate an infinite sum for a single parameter function.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-InfiniteSum2">
-         <term>InfiniteSum2</term>
+        <varlistentry>
+         <term><anchor id="gel-function-InfiniteSum2"/>InfiniteSum2</term>
          <listitem>
           <synopsis>InfiniteSum2 (func,arg,start,inc)</synopsis>
           <para>Try to calculate an infinite sum for a double parameter function with func(arg,n).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsContinuous">
-         <term>IsContinuous</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsContinuous"/>IsContinuous</term>
          <listitem>
           <synopsis>IsContinuous (f,x0)</synopsis>
           <para>Try and see if a real-valued function is continuous at x0 by calculating the limit 
there.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsDifferentiable">
-         <term>IsDifferentiable</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsDifferentiable"/>IsDifferentiable</term>
          <listitem>
           <synopsis>IsDifferentiable (f,x0)</synopsis>
           <para>Test for differentiability by approximating the left and right limits and comparing.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LeftLimit">
-         <term>LeftLimit</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LeftLimit"/>LeftLimit</term>
          <listitem>
           <synopsis>LeftLimit (f,x0)</synopsis>
           <para>Calculate the left limit of a real-valued function at x0.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Limit">
-         <term>Limit</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Limit"/>Limit</term>
          <listitem>
           <synopsis>Limit (f,x0)</synopsis>
           <para>Calculate the limit of a real-valued function at x0.  Tries to calculate both left and right 
limits.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MidpointRule">
-         <term>MidpointRule</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MidpointRule"/>MidpointRule</term>
          <listitem>
           <synopsis>MidpointRule (f,a,b,n)</synopsis>
           <para>Integration by midpoint rule.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalDerivative">
-         <term>NumericalDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalDerivative"/>NumericalDerivative</term>
          <listitem>
           <synopsis>NumericalDerivative (f,x0)</synopsis>
           <para>Aliases: <function>NDerivative</function></para>
@@ -6970,8 +6970,8 @@ or <varname>b</varname> can be <constant>null</constant>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierSeriesCoefficients">
-         <term>NumericalFourierSeriesCoefficients</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierSeriesCoefficients"/>NumericalFourierSeriesCoefficients</term>
          <listitem>
           <synopsis>NumericalFourierSeriesCoefficients (f,L,N)</synopsis>
          <para>Return a vector of vectors <userinput>[a,b]</userinput>
@@ -6991,8 +6991,8 @@ computed by numerical integration using
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierSeriesFunction">
-         <term>NumericalFourierSeriesFunction</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierSeriesFunction"/>NumericalFourierSeriesFunction</term>
          <listitem>
           <synopsis>NumericalFourierSeriesFunction (f,L,N)</synopsis>
          <para>Return a function which is the Fourier series of
@@ -7010,8 +7010,8 @@ computed by numerical integration using
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierCosineSeriesCoefficients">
-         <term>NumericalFourierCosineSeriesCoefficients</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierCosineSeriesCoefficients"/>NumericalFourierCosineSeriesCoefficients</term>
          <listitem>
           <synopsis>NumericalFourierCosineSeriesCoefficients (f,L,N)</synopsis>
          <para>Return a vector of coefficients of 
@@ -7034,8 +7034,8 @@ the term <userinput>cos(x*(n-1)*pi/L)</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierCosineSeriesFunction">
-         <term>NumericalFourierCosineSeriesFunction</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierCosineSeriesFunction"/>NumericalFourierCosineSeriesFunction</term>
          <listitem>
           <synopsis>NumericalFourierCosineSeriesFunction (f,L,N)</synopsis>
          <para>Return a function which is the cosine Fourier series of
@@ -7054,8 +7054,8 @@ computed by numerical integration using
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierSineSeriesCoefficients">
-         <term>NumericalFourierSineSeriesCoefficients</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierSineSeriesCoefficients"/>NumericalFourierSineSeriesCoefficients</term>
          <listitem>
           <synopsis>NumericalFourierSineSeriesCoefficients (f,L,N)</synopsis>
          <para>Return a vector of coefficients of 
@@ -7075,8 +7075,8 @@ computed by numerical integration using
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalFourierSineSeriesFunction">
-         <term>NumericalFourierSineSeriesFunction</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-NumericalFourierSineSeriesFunction"/>NumericalFourierSineSeriesFunction</term>
          <listitem>
           <synopsis>NumericalFourierSineSeriesFunction (f,L,N)</synopsis>
          <para>Return a function which is the sine Fourier series of
@@ -7095,40 +7095,40 @@ computed by numerical integration using
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalIntegral">
-         <term>NumericalIntegral</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalIntegral"/>NumericalIntegral</term>
          <listitem>
           <synopsis>NumericalIntegral (f,a,b)</synopsis>
           <para>Integration by rule set in NumericalIntegralFunction of f from a to b using 
NumericalIntegralSteps steps.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalLeftDerivative">
-         <term>NumericalLeftDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalLeftDerivative"/>NumericalLeftDerivative</term>
          <listitem>
           <synopsis>NumericalLeftDerivative (f,x0)</synopsis>
           <para>Attempt to calculate numerical left derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalLimitAtInfinity">
-         <term>NumericalLimitAtInfinity</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalLimitAtInfinity"/>NumericalLimitAtInfinity</term>
          <listitem>
           <synopsis>NumericalLimitAtInfinity (_f,step_fun,tolerance,successive_for_success,N)</synopsis>
           <para>Attempt to calculate the limit of f(step_fun(i)) as i goes from 1 to N.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NumericalRightDerivative">
-         <term>NumericalRightDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NumericalRightDerivative"/>NumericalRightDerivative</term>
          <listitem>
           <synopsis>NumericalRightDerivative (f,x0)</synopsis>
           <para>Attempt to calculate numerical right derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OddPeriodicExtension">
-         <term>OddPeriodicExtension</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OddPeriodicExtension"/>OddPeriodicExtension</term>
          <listitem>
           <synopsis>OddPeriodicExtension (f,L)</synopsis>
          <para>Return a function which is odd periodic extension of
@@ -7145,24 +7145,24 @@ extended to be periodic with period <userinput>2*L</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OneSidedFivePointFormula">
-         <term>OneSidedFivePointFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OneSidedFivePointFormula"/>OneSidedFivePointFormula</term>
          <listitem>
           <synopsis>OneSidedFivePointFormula (f,x0,h)</synopsis>
           <para>Compute one-sided derivative using five point formula.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-OneSidedThreePointFormula">
-         <term>OneSidedThreePointFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-OneSidedThreePointFormula"/>OneSidedThreePointFormula</term>
          <listitem>
           <synopsis>OneSidedThreePointFormula (f,x0,h)</synopsis>
           <para>Compute one-sided derivative using three-point formula.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PeriodicExtension">
-         <term>PeriodicExtension</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PeriodicExtension"/>PeriodicExtension</term>
          <listitem>
           <synopsis>PeriodicExtension (f,a,b)</synopsis>
          <para>Return a function which is the periodic extension of
@@ -7177,24 +7177,24 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RightLimit">
-         <term>RightLimit</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RightLimit"/>RightLimit</term>
          <listitem>
           <synopsis>RightLimit (f,x0)</synopsis>
           <para>Calculate the right limit of a real-valued function at x0.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-TwoSidedFivePointFormula">
-         <term>TwoSidedFivePointFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-TwoSidedFivePointFormula"/>TwoSidedFivePointFormula</term>
          <listitem>
           <synopsis>TwoSidedFivePointFormula (f,x0,h)</synopsis>
           <para>Compute two-sided derivative using five-point formula.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-TwoSidedThreePointFormula">
-         <term>TwoSidedThreePointFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-TwoSidedThreePointFormula"/>TwoSidedThreePointFormula</term>
          <listitem>
           <synopsis>TwoSidedThreePointFormula (f,x0,h)</synopsis>
           <para>Compute two-sided derivative using three-point formula.</para>
@@ -7207,8 +7207,8 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-functions">
       <title>Functions</title>
       <variablelist>
-        <varlistentry id="gel-function-Argument">
-         <term>Argument</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Argument"/>Argument</term>
          <listitem>
           <synopsis>Argument (z)</synopsis>
           <para>Aliases: <function>Arg</function> <function>arg</function></para>
@@ -7216,8 +7216,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselJ0">
-         <term>BesselJ0</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselJ0"/>BesselJ0</term>
          <listitem>
           <synopsis>BesselJ0 (x)</synopsis>
           <para>Bessel function of the first kind of order 0.  Only implemented for real numbers.</para>
@@ -7228,8 +7228,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselJ1">
-         <term>BesselJ1</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselJ1"/>BesselJ1</term>
          <listitem>
           <synopsis>BesselJ1 (x)</synopsis>
           <para>Bessel function of the first kind of order 1.  Only implemented for real numbers.</para>
@@ -7240,8 +7240,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselJn">
-         <term>BesselJn</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselJn"/>BesselJn</term>
          <listitem>
           <synopsis>BesselJn (n,x)</synopsis>
          <para>Bessel function of the first kind of order <varname>n</varname>.  Only implemented for real 
numbers.</para>
@@ -7252,8 +7252,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselY0">
-         <term>BesselY0</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselY0"/>BesselY0</term>
          <listitem>
           <synopsis>BesselY0 (x)</synopsis>
           <para>Bessel function of the second kind of order 0.  Only implemented for real numbers.</para>
@@ -7264,8 +7264,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselY1">
-         <term>BesselY1</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselY1"/>BesselY1</term>
          <listitem>
           <synopsis>BesselY1 (x)</synopsis>
           <para>Bessel function of the second kind of order 1.  Only implemented for real numbers.</para>
@@ -7276,8 +7276,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-BesselYn">
-         <term>BesselYn</term>
+        <varlistentry>
+         <term><anchor id="gel-function-BesselYn"/>BesselYn</term>
          <listitem>
           <synopsis>BesselYn (n,x)</synopsis>
          <para>Bessel function of the second kind of order <varname>n</varname>.  Only implemented for real 
numbers.</para>
@@ -7288,24 +7288,24 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DirichletKernel">
-         <term>DirichletKernel</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DirichletKernel"/>DirichletKernel</term>
          <listitem>
           <synopsis>DirichletKernel (n,t)</synopsis>
           <para>Dirichlet kernel of order n.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DiscreteDelta">
-         <term>DiscreteDelta</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DiscreteDelta"/>DiscreteDelta</term>
          <listitem>
           <synopsis>DiscreteDelta (v)</synopsis>
           <para>Returns 1 if and only if all elements are zero.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-ErrorFunction">
-         <term>ErrorFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ErrorFunction"/>ErrorFunction</term>
          <listitem>
           <synopsis>ErrorFunction (x)</synopsis>
           <para>Aliases: <function>erf</function></para>
@@ -7317,8 +7317,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FejerKernel">
-         <term>FejerKernel</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FejerKernel"/>FejerKernel</term>
          <listitem>
           <synopsis>FejerKernel (n,t)</synopsis>
           <para>Fejer kernel of order <varname>n</varname> evaluated at
@@ -7330,8 +7330,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GammaFunction">
-         <term>GammaFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GammaFunction"/>GammaFunction</term>
          <listitem>
           <synopsis>GammaFunction (x)</synopsis>
           <para>Aliases: <function>Gamma</function></para>
@@ -7343,24 +7343,24 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-KroneckerDelta">
-         <term>KroneckerDelta</term>
+        <varlistentry>
+         <term><anchor id="gel-function-KroneckerDelta"/>KroneckerDelta</term>
          <listitem>
           <synopsis>KroneckerDelta (v)</synopsis>
           <para>Returns 1 if and only if all elements are equal.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MinimizeFunction">
-         <term>MinimizeFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MinimizeFunction"/>MinimizeFunction</term>
          <listitem>
           <synopsis>MinimizeFunction (func,x,incr)</synopsis>
           <para>Find the first value where f(x)=0.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusDiskMapping">
-         <term>MoebiusDiskMapping</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusDiskMapping"/>MoebiusDiskMapping</term>
          <listitem>
           <synopsis>MoebiusDiskMapping (a,z)</synopsis>
           <para>Moebius mapping of the disk to itself mapping a to 0.</para>
@@ -7371,8 +7371,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusMapping">
-         <term>MoebiusMapping</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusMapping"/>MoebiusMapping</term>
          <listitem>
           <synopsis>MoebiusMapping (z,z2,z3,z4)</synopsis>
           <para>Moebius mapping using the cross ratio taking z2,z3,z4 to 1,0, and infinity 
respectively.</para>
@@ -7383,8 +7383,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusMappingInftyToInfty">
-         <term>MoebiusMappingInftyToInfty</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusMappingInftyToInfty"/>MoebiusMappingInftyToInfty</term>
          <listitem>
           <synopsis>MoebiusMappingInftyToInfty (z,z2,z3)</synopsis>
           <para>Moebius mapping using the cross ratio taking infinity to infinity and z2,z3 to 1 and 0 
respectively.</para>
@@ -7395,8 +7395,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusMappingInftyToOne">
-         <term>MoebiusMappingInftyToOne</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusMappingInftyToOne"/>MoebiusMappingInftyToOne</term>
          <listitem>
           <synopsis>MoebiusMappingInftyToOne (z,z3,z4)</synopsis>
           <para>Moebius mapping using the cross ratio taking infinity to 1 and z3,z4 to 0 and infinity 
respectively.</para>
@@ -7407,8 +7407,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MoebiusMappingInftyToZero">
-         <term>MoebiusMappingInftyToZero</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MoebiusMappingInftyToZero"/>MoebiusMappingInftyToZero</term>
          <listitem>
           <synopsis>MoebiusMappingInftyToZero (z,z2,z4)</synopsis>
           <para>Moebius mapping using the cross ratio taking infinity to 0 and z2,z4 to 1 and infinity 
respectively.</para>
@@ -7419,24 +7419,24 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PoissonKernel">
-         <term>PoissonKernel</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PoissonKernel"/>PoissonKernel</term>
          <listitem>
           <synopsis>PoissonKernel (r,sigma)</synopsis>
           <para>Poisson kernel on D(0,1) (not normalized to 1, that is integral of this is 2pi).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PoissonKernelRadius">
-         <term>PoissonKernelRadius</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PoissonKernelRadius"/>PoissonKernelRadius</term>
          <listitem>
           <synopsis>PoissonKernelRadius (r,sigma)</synopsis>
           <para>Poisson kernel on D(0,R) (not normalized to 1).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RiemannZeta">
-         <term>RiemannZeta</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RiemannZeta"/>RiemannZeta</term>
          <listitem>
           <synopsis>RiemannZeta (x)</synopsis>
           <para>Aliases: <function>zeta</function></para>
@@ -7448,8 +7448,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-UnitStep">
-         <term>UnitStep</term>
+        <varlistentry>
+         <term><anchor id="gel-function-UnitStep"/>UnitStep</term>
          <listitem>
           <synopsis>UnitStep (x)</synopsis>
           <para>The unit step function is 0 for x&lt;0, 1 otherwise.  This is the integral of the Dirac 
Delta function.  Also called the Heaviside function.</para>
@@ -7460,8 +7460,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-cis">
-         <term>cis</term>
+        <varlistentry>
+         <term><anchor id="gel-function-cis"/>cis</term>
          <listitem>
           <synopsis>cis (x)</synopsis>
           <para>
@@ -7471,24 +7471,24 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-deg2rad">
-         <term>deg2rad</term>
+        <varlistentry>
+         <term><anchor id="gel-function-deg2rad"/>deg2rad</term>
          <listitem>
           <synopsis>deg2rad (x)</synopsis>
           <para>Convert degrees to radians.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-rad2deg">
-         <term>rad2deg</term>
+        <varlistentry>
+         <term><anchor id="gel-function-rad2deg"/>rad2deg</term>
          <listitem>
           <synopsis>rad2deg (x)</synopsis>
           <para>Convert radians to degrees.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-sinc">
-         <term>sinc</term>
+        <varlistentry>
+         <term><anchor id="gel-function-sinc"/>sinc</term>
          <listitem>
           <synopsis>sinc (x)</synopsis>
          <para>Calculates the unnormalized sinc function, that is
@@ -7508,8 +7508,8 @@ and has period <userinput>b-a</userinput>.</para>
       <title>Equation Solving</title>
       <variablelist>
 
-        <varlistentry id="gel-function-CubicFormula">
-         <term>CubicFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-CubicFormula"/>CubicFormula</term>
          <listitem>
           <synopsis>CubicFormula (p)</synopsis>
           <para>
@@ -7530,8 +7530,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-EulersMethod">
-         <term>EulersMethod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-EulersMethod"/>EulersMethod</term>
          <listitem>
           <synopsis>EulersMethod (f,x0,y0,x1,n)</synopsis>
           <para>
@@ -7555,8 +7555,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-EulersMethodFull">
-         <term>EulersMethodFull</term>
+        <varlistentry>
+         <term><anchor id="gel-function-EulersMethodFull"/>EulersMethodFull</term>
          <listitem>
           <synopsis>EulersMethodFull (f,x0,y0,x1,n)</synopsis>
           <para>
@@ -7583,8 +7583,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindRootBisection">
-         <term>FindRootBisection</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindRootBisection"/>FindRootBisection</term>
          <listitem>
           <synopsis>FindRootBisection (f,a,b,TOL,N)</synopsis>
           <para>Find root of a function using the bisection method.
@@ -7595,8 +7595,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindRootFalsePosition">
-         <term>FindRootFalsePosition</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindRootFalsePosition"/>FindRootFalsePosition</term>
          <listitem>
           <synopsis>FindRootFalsePosition (f,a,b,TOL,N)</synopsis>
           <para>Find root of a function using the method of false position.
@@ -7607,8 +7607,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindRootMullersMethod">
-         <term>FindRootMullersMethod</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindRootMullersMethod"/>FindRootMullersMethod</term>
          <listitem>
           <synopsis>FindRootMullersMethod (f,x0,x1,x2,TOL,N)</synopsis>
           <para>Find root of a function using the Muller's method.
@@ -7617,8 +7617,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-FindRootSecant">
-         <term>FindRootSecant</term>
+        <varlistentry>
+         <term><anchor id="gel-function-FindRootSecant"/>FindRootSecant</term>
          <listitem>
           <synopsis>FindRootSecant (f,a,b,TOL,N)</synopsis>
           <para>Find root of a function using the secant method.
@@ -7629,8 +7629,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PolynomialRoots">
-         <term>PolynomialRoots</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PolynomialRoots"/>PolynomialRoots</term>
          <listitem>
           <synopsis>PolynomialRoots (p)</synopsis>
           <para>
@@ -7651,8 +7651,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-QuadraticFormula">
-         <term>QuadraticFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-QuadraticFormula"/>QuadraticFormula</term>
          <listitem>
           <synopsis>QuadraticFormula (p)</synopsis>
           <para>
@@ -7671,8 +7671,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-QuarticFormula">
-         <term>QuarticFormula</term>
+        <varlistentry>
+         <term><anchor id="gel-function-QuarticFormula"/>QuarticFormula</term>
          <listitem>
           <synopsis>QuarticFormula (p)</synopsis>
           <para>
@@ -7692,8 +7692,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RungeKutta">
-         <term>RungeKutta</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RungeKutta"/>RungeKutta</term>
          <listitem>
           <synopsis>RungeKutta (f,x0,y0,x1,n)</synopsis>
           <para>
@@ -7718,8 +7718,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RungeKuttaFull">
-         <term>RungeKuttaFull</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RungeKuttaFull"/>RungeKuttaFull</term>
          <listitem>
           <synopsis>RungeKuttaFull (f,x0,y0,x1,n)</synopsis>
           <para>
@@ -7755,8 +7755,8 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-statistics">
       <title>Statistics</title>
       <variablelist>
-        <varlistentry id="gel-function-Average">
-         <term>Average</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Average"/>Average</term>
          <listitem>
           <synopsis>Average (m)</synopsis>
           <para>Aliases: <function>average</function> <function>Mean</function> 
<function>mean</function></para>
@@ -7768,8 +7768,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GaussDistribution">
-         <term>GaussDistribution</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GaussDistribution"/>GaussDistribution</term>
          <listitem>
           <synopsis>GaussDistribution (x,sigma)</synopsis>
          <para>Integral of the GaussFunction from 0 to <varname>x</varname> (area under the normal 
curve).</para>
@@ -7780,8 +7780,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-GaussFunction">
-         <term>GaussFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-GaussFunction"/>GaussFunction</term>
          <listitem>
           <synopsis>GaussFunction (x,sigma)</synopsis>
           <para>The normalized Gauss distribution function (the normal curve).</para>
@@ -7793,8 +7793,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Median">
-         <term>Median</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Median"/>Median</term>
          <listitem>
           <synopsis>Median (m)</synopsis>
           <para>Aliases: <function>median</function></para>
@@ -7806,8 +7806,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PopulationStandardDeviation">
-         <term>PopulationStandardDeviation</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PopulationStandardDeviation"/>PopulationStandardDeviation</term>
          <listitem>
           <synopsis>PopulationStandardDeviation (m)</synopsis>
           <para>Aliases: <function>stdevp</function></para>
@@ -7815,8 +7815,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowAverage">
-         <term>RowAverage</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowAverage"/>RowAverage</term>
          <listitem>
           <synopsis>RowAverage (m)</synopsis>
           <para>Aliases: <function>RowMean</function></para>
@@ -7828,8 +7828,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowMedian">
-         <term>RowMedian</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowMedian"/>RowMedian</term>
          <listitem>
           <synopsis>RowMedian (m)</synopsis>
           <para>Calculate median of each row in a matrix and return a column
@@ -7841,8 +7841,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowPopulationStandardDeviation">
-         <term>RowPopulationStandardDeviation</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-RowPopulationStandardDeviation"/>RowPopulationStandardDeviation</term>
          <listitem>
           <synopsis>RowPopulationStandardDeviation (m)</synopsis>
           <para>Aliases: <function>rowstdevp</function></para>
@@ -7850,8 +7850,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-RowStandardDeviation">
-         <term>RowStandardDeviation</term>
+        <varlistentry>
+         <term><anchor id="gel-function-RowStandardDeviation"/>RowStandardDeviation</term>
          <listitem>
           <synopsis>RowStandardDeviation (m)</synopsis>
           <para>Aliases: <function>rowstdev</function></para>
@@ -7859,8 +7859,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StandardDeviation">
-         <term>StandardDeviation</term>
+        <varlistentry>
+        <term><anchor id="gel-function-StandardDeviation"/>StandardDeviation</term>
          <listitem>
           <synopsis>StandardDeviation (m)</synopsis>
           <para>Aliases: <function>stdev</function></para>
@@ -7874,16 +7874,16 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-polynomials">
       <title>Polynomials</title>
       <variablelist>
-        <varlistentry id="gel-function-AddPoly">
-         <term>AddPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AddPoly"/>AddPoly</term>
          <listitem>
           <synopsis>AddPoly (p1,p2)</synopsis>
           <para>Add two polynomials (vectors).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-DividePoly">
-         <term>DividePoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-DividePoly"/>DividePoly</term>
          <listitem>
           <synopsis>DividePoly (p,q,&amp;r)</synopsis>
           <para>Divide two polynomials (as vectors) using long division.
@@ -7898,72 +7898,72 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsPoly">
-         <term>IsPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsPoly"/>IsPoly</term>
          <listitem>
           <synopsis>IsPoly (p)</synopsis>
           <para>Check if a vector is usable as a polynomial.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MultiplyPoly">
-         <term>MultiplyPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MultiplyPoly"/>MultiplyPoly</term>
          <listitem>
           <synopsis>MultiplyPoly (p1,p2)</synopsis>
           <para>Multiply two polynomials (as vectors).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-NewtonsMethodPoly">
-         <term>NewtonsMethodPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-NewtonsMethodPoly"/>NewtonsMethodPoly</term>
          <listitem>
           <synopsis>NewtonsMethodPoly (poly,guess,epsilon,maxn)</synopsis>
          <para>Run newton's method on a polynomial to attempt to find a root, returns after two successive 
values are within epsilon or after maxn tries (then returns <constant>null</constant>).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Poly2ndDerivative">
-         <term>Poly2ndDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Poly2ndDerivative"/>Poly2ndDerivative</term>
          <listitem>
           <synopsis>Poly2ndDerivative (p)</synopsis>
           <para>Take second polynomial (as vector) derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PolyDerivative">
-         <term>PolyDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PolyDerivative"/>PolyDerivative</term>
          <listitem>
           <synopsis>PolyDerivative (p)</synopsis>
           <para>Take polynomial (as vector) derivative.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PolyToFunction">
-         <term>PolyToFunction</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PolyToFunction"/>PolyToFunction</term>
          <listitem>
           <synopsis>PolyToFunction (p)</synopsis>
           <para>Make function out of a polynomial (as vector).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-PolyToString">
-         <term>PolyToString</term>
+        <varlistentry>
+         <term><anchor id="gel-function-PolyToString"/>PolyToString</term>
          <listitem>
           <synopsis>PolyToString (p,var...)</synopsis>
           <para>Make string out of a polynomial (as vector).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SubtractPoly">
-         <term>SubtractPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SubtractPoly"/>SubtractPoly</term>
          <listitem>
           <synopsis>SubtractPoly (p1,p2)</synopsis>
           <para>Subtract two polynomials (as vectors).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-TrimPoly">
-         <term>TrimPoly</term>
+        <varlistentry>
+         <term><anchor id="gel-function-TrimPoly"/>TrimPoly</term>
          <listitem>
           <synopsis>TrimPoly (p)</synopsis>
           <para>Trim zeros from a polynomial (as vector).</para>
@@ -7976,48 +7976,48 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-set-theory">
       <title>Set Theory</title>
       <variablelist>
-        <varlistentry id="gel-function-Intersection">
-         <term>Intersection</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Intersection"/>Intersection</term>
          <listitem>
           <synopsis>Intersection (X,Y)</synopsis>
           <para>Returns a set theoretic intersection of X and Y (X and Y are vectors pretending to be 
sets).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsIn">
-         <term>IsIn</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsIn"/>IsIn</term>
          <listitem>
           <synopsis>IsIn (x,X)</synopsis>
          <para>Returns <constant>true</constant> if the element x is in the set X (where X is a vector 
pretending to be a set).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-IsSubset">
-         <term>IsSubset</term>
+        <varlistentry>
+         <term><anchor id="gel-function-IsSubset"/>IsSubset</term>
          <listitem>
           <synopsis>IsSubset (X, Y)</synopsis>
          <para>Returns <constant>true</constant> if X is a subset of Y (X and Y are vectors pretending to be 
sets).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MakeSet">
-         <term>MakeSet</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MakeSet"/>MakeSet</term>
          <listitem>
           <synopsis>MakeSet (X)</synopsis>
           <para>Returns a vector where every element of X appears only once.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SetMinus">
-         <term>SetMinus</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SetMinus"/>SetMinus</term>
          <listitem>
           <synopsis>SetMinus (X,Y)</synopsis>
           <para>Returns a set theoretic difference X-Y (X and Y are vectors pretending to be sets).</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-Union">
-         <term>Union</term>
+        <varlistentry>
+         <term><anchor id="gel-function-Union"/>Union</term>
          <listitem>
           <synopsis>Union (X,Y)</synopsis>
           <para>Returns a set theoretic union of X and Y (X and Y are vectors pretending to be sets).</para>
@@ -8030,24 +8030,24 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-commutative-algebra">
       <title>Commutative Algebra</title>
       <variablelist>
-        <varlistentry id="gel-function-MacaulayBound">
-         <term>MacaulayBound</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MacaulayBound"/>MacaulayBound</term>
          <listitem>
           <synopsis>MacaulayBound (c,d)</synopsis>
           <para>For a Hilbert function that is c for degree d, given the Macaulay bound for the Hilbert 
function of degree d+1 (The c^&lt;d&gt; operator from Green's proof).</para>
          </listitem>
         </varlistentry>
        
-        <varlistentry id="gel-function-MacaulayLowerOperator">
-         <term>MacaulayLowerOperator</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MacaulayLowerOperator"/>MacaulayLowerOperator</term>
          <listitem>
           <synopsis>MacaulayLowerOperator (c,d)</synopsis>
           <para>The c_&lt;d&gt; operator from Green's proof of Macaulay's Theorem.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-MacaulayRep">
-         <term>MacaulayRep</term>
+        <varlistentry>
+         <term><anchor id="gel-function-MacaulayRep"/>MacaulayRep</term>
          <listitem>
           <synopsis>MacaulayRep (c,d)</synopsis>
           <para>Return the dth Macaulay representation of a positive integer c.</para>
@@ -8059,32 +8059,32 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-miscellaneous">
       <title>Miscellaneous</title>
       <variablelist>
-        <varlistentry id="gel-function-ASCIIToString">
-         <term>ASCIIToString</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ASCIIToString"/>ASCIIToString</term>
          <listitem>
           <synopsis>ASCIIToString (vec)</synopsis>
           <para>Convert a vector of ASCII values to a string.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-AlphabetToString">
-         <term>AlphabetToString</term>
+        <varlistentry>
+         <term><anchor id="gel-function-AlphabetToString"/>AlphabetToString</term>
          <listitem>
           <synopsis>AlphabetToString (vec,alphabet)</synopsis>
           <para>Convert a vector of 0-based alphabet values (positions in the alphabet string) to a 
string.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StringToASCII">
-         <term>StringToASCII</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StringToASCII"/>StringToASCII</term>
          <listitem>
           <synopsis>StringToASCII (str)</synopsis>
           <para>Convert a string to a vector of ASCII values.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-StringToAlphabet">
-         <term>StringToAlphabet</term>
+        <varlistentry>
+         <term><anchor id="gel-function-StringToAlphabet"/>StringToAlphabet</term>
          <listitem>
           <synopsis>StringToAlphabet (str,alphabet)</synopsis>
           <para>Convert a string to a vector of 0-based alphabet values (positions in the alphabet string), 
-1's for unknown letters.</para>
@@ -8097,8 +8097,8 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-symbolic">
       <title>Symbolic Operations</title>
       <variablelist>
-        <varlistentry id="gel-function-SymbolicDerivative">
-         <term>SymbolicDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SymbolicDerivative"/>SymbolicDerivative</term>
          <listitem>
           <synopsis>SymbolicDerivative (f)</synopsis>
           <para>Attempt to symbolically differentiate the function f, where f is a function of one 
variable.</para>
@@ -8113,8 +8113,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SymbolicDerivativeTry">
-         <term>SymbolicDerivativeTry</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SymbolicDerivativeTry"/>SymbolicDerivativeTry</term>
          <listitem>
           <synopsis>SymbolicDerivativeTry (f)</synopsis>
          <para>Attempt to symbolically differentiate the function f, where f is a function of one variable, 
returns <constant>null</constant> if unsuccessful but is silent.
@@ -8123,8 +8123,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SymbolicNthDerivative">
-         <term>SymbolicNthDerivative</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SymbolicNthDerivative"/>SymbolicNthDerivative</term>
          <listitem>
           <synopsis>SymbolicNthDerivative (f,n)</synopsis>
           <para>Attempt to symbolically differentiate a function n times.
@@ -8133,8 +8133,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SymbolicNthDerivativeTry">
-         <term>SymbolicNthDerivativeTry</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SymbolicNthDerivativeTry"/>SymbolicNthDerivativeTry</term>
          <listitem>
           <synopsis>SymbolicNthDerivativeTry (f,n)</synopsis>
          <para>Attempt to symbolically differentiate a function n times quietly and return 
<constant>null</constant> on failure
@@ -8143,8 +8143,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SymbolicTaylorApproximationFunction">
-         <term>SymbolicTaylorApproximationFunction</term>
+        <varlistentry>
+         <term><anchor 
id="gel-function-SymbolicTaylorApproximationFunction"/>SymbolicTaylorApproximationFunction</term>
          <listitem>
           <synopsis>SymbolicTaylorApproximationFunction (f,x0,n)</synopsis>
          <para>Attempt to construct the Taylor approximation function around x0 to the nth degree.
@@ -8158,8 +8158,8 @@ and has period <userinput>b-a</userinput>.</para>
     <sect1 id="genius-gel-function-list-plotting">
       <title>Plotting</title>
       <variablelist>
-        <varlistentry id="gel-function-ExportPlot">
-         <term>ExportPlot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-ExportPlot"/>ExportPlot</term>
          <listitem>
           <synopsis>ExportPlot (file,type)</synopsis>
           <synopsis>ExportPlot (file)</synopsis>
@@ -8186,8 +8186,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlot">
-         <term>LinePlot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlot"/>LinePlot</term>
          <listitem>
           <synopsis>LinePlot (func1,func2,func3,...)</synopsis>
           <synopsis>LinePlot (func1,func2,func3,x1,x2,y1,y2)</synopsis>
@@ -8214,8 +8214,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotClear">
-         <term>LinePlotClear</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotClear"/>LinePlotClear</term>
          <listitem>
           <synopsis>LinePlotClear ()</synopsis>
           <para>
@@ -8225,8 +8225,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotDrawLine">
-         <term>LinePlotDrawLine</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotDrawLine"/>LinePlotDrawLine</term>
          <listitem>
           <synopsis>LinePlotDrawLine (x1,y1,x2,y2,...)</synopsis>
           <synopsis>LinePlotDrawLine (v,...)</synopsis>
@@ -8268,8 +8268,8 @@ and has period <userinput>b-a</userinput>.</para>
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotParametric">
-         <term>LinePlotParametric</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotParametric"/>LinePlotParametric</term>
          <listitem>
           <synopsis>LinePlotParametric (xfunc,yfunc,...)</synopsis>
           <synopsis>LinePlotParametric (xfunc,yfunc,t1,t2,tinc)</synopsis>
@@ -8292,8 +8292,8 @@ limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-LinePlotCParametric">
-         <term>LinePlotCParametric</term>
+        <varlistentry>
+         <term><anchor id="gel-function-LinePlotCParametric"/>LinePlotCParametric</term>
          <listitem>
           <synopsis>LinePlotCParametric (func,...)</synopsis>
           <synopsis>LinePlotCParametric (func,t1,t2,tinc)</synopsis>
@@ -8317,8 +8317,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SlopefieldClearSolutions">
-         <term>SlopefieldClearSolutions</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SlopefieldClearSolutions"/>SlopefieldClearSolutions</term>
          <listitem>
           <synopsis>SlopefieldClearSolutions ()</synopsis>
           <para>
@@ -8329,8 +8329,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SlopefieldDrawSolution">
-         <term>SlopefieldDrawSolution</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SlopefieldDrawSolution"/>SlopefieldDrawSolution</term>
          <listitem>
           <synopsis>SlopefieldDrawSolution (x, y, dx)</synopsis>
           <para>
@@ -8346,8 +8346,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SlopefieldPlot">
-         <term>SlopefieldPlot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SlopefieldPlot"/>SlopefieldPlot</term>
          <listitem>
           <synopsis>SlopefieldPlot (func)</synopsis>
           <synopsis>SlopefieldPlot (func,x1,x2,y1,y2)</synopsis>
@@ -8375,8 +8375,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-       <varlistentry id="gel-function-SurfacePlot">
-        <term>SurfacePlot</term>
+       <varlistentry>
+        <term><anchor id="gel-function-SurfacePlot"/>SurfacePlot</term>
          <listitem>
           <synopsis>SurfacePlot (func)</synopsis>
           <synopsis>SurfacePlot (func,x1,x2,y1,y2,z1,z2)</synopsis>
@@ -8399,8 +8399,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SurfacePlotData">
-         <term>SurfacePlotData</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SurfacePlotData"/>SurfacePlotData</term>
          <listitem>
           <synopsis>SurfacePlotData (data)</synopsis>
           <synopsis>SurfacePlotData (data,label)</synopsis>
@@ -8441,8 +8441,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-SurfacePlotDataGrid">
-         <term>SurfacePlotDataGrid</term>
+        <varlistentry>
+         <term><anchor id="gel-function-SurfacePlotDataGrid"/>SurfacePlotDataGrid</term>
          <listitem>
           <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2])</synopsis>
           <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2])</synopsis>
@@ -8477,8 +8477,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorfieldClearSolutions">
-         <term>VectorfieldClearSolutions</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorfieldClearSolutions"/>VectorfieldClearSolutions</term>
          <listitem>
           <synopsis>VectorfieldClearSolutions ()</synopsis>
           <para>
@@ -8489,8 +8489,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorfieldDrawSolution">
-         <term>VectorfieldDrawSolution</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorfieldDrawSolution"/>VectorfieldDrawSolution</term>
          <listitem>
           <synopsis>VectorfieldDrawSolution (x, y, dt, tlen)</synopsis>
           <para>
@@ -8507,8 +8507,8 @@ optionally the limits as <userinput>x1,x2,y1,y2</userinput>.
          </listitem>
         </varlistentry>
 
-        <varlistentry id="gel-function-VectorfieldPlot">
-         <term>VectorfieldPlot</term>
+        <varlistentry>
+         <term><anchor id="gel-function-VectorfieldPlot"/>VectorfieldPlot</term>
          <listitem>
           <synopsis>VectorfieldPlot (funcx, funcy)</synopsis>
           <synopsis>VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)</synopsis>
diff --git a/src/gnome-genius.c b/src/gnome-genius.c
index 318cec0..d747dd8 100644
--- a/src/gnome-genius.c
+++ b/src/gnome-genius.c
@@ -928,7 +928,13 @@ help_on_function (GtkWidget *menuitem, gpointer data)
        GtkWidget *d;
        GtkWidget *e;
        GtkWidget *box;
+       GtkEntryCompletion *completion;
+       GtkListStore *model;
        int ret;
+       int i;
+       GSList *funcs;
+       GSList *li;
+       
 
        d = gtk_dialog_new_with_buttons
                (_("Help on Function"),
@@ -959,6 +965,31 @@ help_on_function (GtkWidget *menuitem, gpointer data)
                            e,
                            FALSE, FALSE, 0);
 
+       completion = gtk_entry_completion_new ();
+       gtk_entry_completion_set_text_column(completion, 0);
+       gtk_entry_set_completion (GTK_ENTRY (e), completion);
+        model = gtk_list_store_new(1, G_TYPE_STRING);
+
+       for (i = 0; genius_toplevels[i] != NULL; i++) {
+               GtkTreeIter iter;
+               gtk_list_store_append (model, &iter);
+               gtk_list_store_set (model, &iter, 0, genius_toplevels[i], -1);
+       }
+
+       funcs = d_getcontext();
+       
+       for (li = funcs; li != NULL; li = li->next) {
+               GelEFunc *f = li->data;
+               GtkTreeIter iter;
+               if (f->id == NULL ||
+                   f->id->token == NULL)
+                       continue;
+               gtk_list_store_append (model, &iter);
+               gtk_list_store_set (model, &iter, 0, f->id->token, -1);
+       }
+       gtk_entry_completion_set_model (completion, GTK_TREE_MODEL (model));
+ 
+
 run_help_dlg_again:
        gtk_widget_show_all (d);
        ret = gtk_dialog_run (GTK_DIALOG (d));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]