$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68534 - in sandbox/tools/auto_index/doc/html: . autoindex
From: pbristow_at_[hidden]
Date: 2011-01-28 10:07:55
Author: pbristow
Date: 2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
New Revision: 68534
URL: http://svn.boost.org/trac/boost/changeset/68534
Log:
Some tips added and some editorial corrections.
Merged with John Maddock's additions 27 Jan, hopefully without causing trouble.  See also pdf version.
Text files modified: 
   sandbox/tools/auto_index/doc/html/autoindex/comm_ref.html   |     4                                         
   sandbox/tools/auto_index/doc/html/autoindex/overview.html   |    24 ++                                      
   sandbox/tools/auto_index/doc/html/autoindex/script_ref.html |    36 ++-                                     
   sandbox/tools/auto_index/doc/html/autoindex/tut.html        |   375 ++++++++++++++++++++++++++++++--------- 
   sandbox/tools/auto_index/doc/html/autoindex/xml.html        |     4                                         
   sandbox/tools/auto_index/doc/html/index.html                |     6                                         
   6 files changed, 328 insertions(+), 121 deletions(-)
Modified: sandbox/tools/auto_index/doc/html/autoindex/comm_ref.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/autoindex/comm_ref.html	(original)
+++ sandbox/tools/auto_index/doc/html/autoindex/comm_ref.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -49,7 +49,7 @@
 <dt><span class="term">--internal-index</span></dt>
 <dd><p>
             Specifies that auto_index should generate the actual indexes rather than
-            inserting <code class="computeroutput"><span class="special"><</span><span class="identifier">indexterm</span><span class="special">></span></code>'s and leaving index generation to
+            inserting <code class="computeroutput"><span class="special"><</span><span class="identifier">indexterm</span><span class="special">></span></code>s and leaving index generation to
             the XSL stylesheets.
           </p></dd>
 <dt><span class="term">--no-section-names</span></dt>
@@ -73,7 +73,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright © 2008 , 2011 John Maddock<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
Modified: sandbox/tools/auto_index/doc/html/autoindex/overview.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/autoindex/overview.html	(original)
+++ sandbox/tools/auto_index/doc/html/autoindex/overview.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -29,10 +29,24 @@
       for each occurrence of each term to be indexed.
     </p>
 <p>
-      Instead AutoIndex will scan one or more C/C++ header files and extract all
-      the <span class="emphasis"><em>function</em></span>, <span class="emphasis"><em>class</em></span>, <span class="emphasis"><em>macro</em></span>
-      and <span class="emphasis"><em>typedef</em></span> names that are defined by those headers, and
-      then insert the <code class="computeroutput"><span class="special"><</span><span class="identifier">indexterm</span><span class="special">></span></code>'s into the XML document for you.
+      Instead AutoIndex will automatically scan one or more C/C++ header files and
+      extract all the <span class="emphasis"><em>function</em></span>, <span class="emphasis"><em>class</em></span>,
+      <span class="emphasis"><em>macro</em></span> and <span class="emphasis"><em>typedef</em></span> names that are
+      defined by those headers, and then insert the <code class="computeroutput"><span class="special"><</span><span class="identifier">indexterm</span><span class="special">></span></code>s
+      into the XML document for you.
+    </p>
+<p>
+      AutoIndex can also scan <span class="emphasis"><em>text files</em></span>, usually Quickbook
+      files, but in this case you need to manually provide a simple list of index
+      terms (in a script file, optionally using regular expressions). This may allow
+      the user to find references to more descriptive items that may not occur in
+      the C++ classes and functions header files.
+    </p>
+<p>
+      Providing a manual list of terms in the text to index is a tedious task (especially
+      handling plurals and variants), and requires enough knowledge of the library
+      to guess what users may be seeking to know, but at least the real 'grunt work'
+      of finding the term and listing the page number is automated.
     </p>
 <p>
       AutoIndex creates index entries as follows - for each occurrence of each search
@@ -116,7 +130,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright © 2008 , 2011 John Maddock<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
Modified: sandbox/tools/auto_index/doc/html/autoindex/script_ref.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/autoindex/script_ref.html	(original)
+++ sandbox/tools/auto_index/doc/html/autoindex/script_ref.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -23,16 +23,16 @@
       The following elements can occur in a script:
     </p>
 <a name="autoindex.script_ref.comments_and_blank_lines"></a><h5>
-<a name="id1016394"></a>
+<a name="id869246"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.comments_and_blank_lines">Comments and
       blank lines</a>
     </h5>
 <p>
-      Blank lines consisting of only whitespace are ignored, so are lines that start
-      with a '#'.
+      Blank lines consisting of only whitespace are ignored, so are lines that <span class="bold"><strong>start with</strong></span> a '#'. (But, of course, you can't append
+      # comments onto the end of a line!).
     </p>
 <a name="autoindex.script_ref.simple_inclusions"></a><h5>
-<a name="id1016410"></a>
+<a name="id869267"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.simple_inclusions">Simple Inclusions</a>
     </h5>
 <pre class="programlisting"><span class="identifier">term</span> <span class="special">[</span><span class="identifier">regular</span><span class="special">-</span><span class="identifier">expression1</span> <span class="special">[</span><span class="identifier">regular</span><span class="special">-</span><span class="identifier">expression2</span> <span class="special">[</span><span class="identifier">category</span><span class="special">]]]</span>
@@ -99,15 +99,15 @@
 </dl>
 </div>
 <a name="autoindex.script_ref.source_file_scanning"></a><h5>
-<a name="id1016619"></a>
+<a name="id870626"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.source_file_scanning">Source File Scanning</a>
     </h5>
 <pre class="programlisting"><span class="special">!</span><span class="identifier">scan</span> <span class="identifier">source</span><span class="special">-</span><span class="identifier">file</span><span class="special">-</span><span class="identifier">name</span>
 </pre>
 <p>
       Scans the C/C++ source file <span class="emphasis"><em>source-file-name</em></span> for definitions
-      of <span class="emphasis"><em>function</em></span>'s, <span class="emphasis"><em>class</em></span>'s, <span class="emphasis"><em>macro</em></span>'s
-      or <span class="emphasis"><em>typedef</em></span>'s and makes each of these a term to be indexed.
+      of <span class="emphasis"><em>function</em></span>s, <span class="emphasis"><em>class</em></span>s, <span class="emphasis"><em>macro</em></span>s
+      or <span class="emphasis"><em>typedef</em></span>s and makes each of these a term to be indexed.
       Terms found are assigned to the index category "function_name", "class_name",
       "macro_name" or "typedef_name" depending on how they were
       seen in the source file. These may then be included in a specialised index
@@ -128,7 +128,7 @@
       </p></td></tr>
 </table></div>
 <a name="autoindex.script_ref.directory_and_source_file_scanning"></a><h5>
-<a name="id1016697"></a>
+<a name="id870704"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.directory_and_source_file_scanning">Directory
       and Source File Scanning</a>
     </h5>
@@ -141,7 +141,7 @@
 <dd><p>
             The directory to scan: this should be a path relative to the script file
             (or to the path specified with the prefix=path option on the command
-            line) and should use all forward slashes in it's file name.
+            line) and should use all forward slashes in its file name.
           </p></dd>
 <dt><span class="term">file-name-regex</span></dt>
 <dd><p>
@@ -157,7 +157,7 @@
 </dl>
 </div>
 <a name="autoindex.script_ref.excluding_terms"></a><h5>
-<a name="id1016822"></a>
+<a name="id870828"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.excluding_terms">Excluding Terms</a>
     </h5>
 <pre class="programlisting"><span class="special">!</span><span class="identifier">exclude</span> <span class="identifier">term</span><span class="special">-</span><span class="identifier">list</span>
@@ -170,7 +170,7 @@
       of things to index.
     </p>
 <a name="autoindex.script_ref.rewriting_section_names"></a><h5>
-<a name="id1016877"></a>
+<a name="id870884"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.rewriting_section_names">Rewriting Section
       Names</a>
     </h5>
@@ -217,7 +217,7 @@
       all index entries - thus preventing lots of entries under "The" etc!
     </p>
 <a name="autoindex.script_ref.defining_or_changing_the_file_scanners"></a><h5>
-<a name="id1017030"></a>
+<a name="id871036"></a>
       <a class="link" href="script_ref.html#autoindex.script_ref.defining_or_changing_the_file_scanners">Defining
       or Changing the File Scanners</a>
     </h5>
@@ -319,9 +319,9 @@
       Will look for <span class="emphasis"><em>any</em></span> occurrence of whatever class names the
       scanner may find in the documentation.
     </p>
-<a name="autoindex.script_ref.debugging"></a><h5>
-<a name="id1017532"></a>
-      <a class="link" href="script_ref.html#autoindex.script_ref.debugging">Debugging</a>
+<a name="autoindex.script_ref.debugging_scanning"></a><h5>
+<a name="id871539"></a>
+      <a class="link" href="script_ref.html#autoindex.script_ref.debugging_scanning">Debugging scanning</a>
     </h5>
 <p>
       If you see a term in the index, and you don't understand why it's there, add
@@ -343,10 +343,14 @@
 The section constraint is: .<span class="bold"><strong>qi.reference.parser_concepts.</strong></span>
 The index type for this entry is: qi_index
 </pre>
+<p>
+      This can produce a lot of output in your log file, but until you are satisfied
+      with your file selection and scanning process, it is worth switching it on.
+    </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright © 2008 , 2011 John Maddock<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
Modified: sandbox/tools/auto_index/doc/html/autoindex/tut.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/autoindex/tut.html	(original)
+++ sandbox/tools/auto_index/doc/html/autoindex/tut.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -19,9 +19,10 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="autoindex.tut"></a><a class="link" href="tut.html" title="Getting Started and Tutorial">Getting Started and Tutorial</a>
 </h2></div></div></div>
-<a name="autoindex.tut.step_1__build_the_tool"></a><h5>
-<a name="id1010871"></a>
-      <a class="link" href="tut.html#autoindex.tut.step_1__build_the_tool">Step 1: Build the tool</a>
+<a name="autoindex.tut.step_1__build_the_autoindex_tool"></a><h5>
+<a name="id867220"></a>
+      <a class="link" href="tut.html#autoindex.tut.step_1__build_the_autoindex_tool">Step 1: Build
+      the AutoIndex tool</a>
     </h5>
 <p>
       cd into <code class="computeroutput"><span class="identifier">tools</span><span class="special">/</span><span class="identifier">auto_index</span><span class="special">/</span><span class="identifier">build</span></code> and invoke bjam as:
@@ -35,9 +36,10 @@
 <pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">release</span> <span class="identifier">gcc</span>
 </pre>
 <p>
-      Now open up your user-config.jam file and at the end add the line:
+      Now open up your <code class="computeroutput"><span class="identifier">user</span><span class="special">-</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">jam</span></code>
+      file and at the end of the file add the line:
     </p>
-<pre class="programlisting">using auto-index : <span class="emphasis"><em>full-path-of-executable</em></span> ; 
+<pre class="programlisting">using auto-index : <span class="emphasis"><em>full-path-of-executable-auto-index.exe</em></span> ; 
 </pre>
 <div class="note"><table border="0" summary="Note">
 <tr>
@@ -46,11 +48,11 @@
 </tr>
 <tr><td align="left" valign="top">
 <p>
-        This declaration must go towards the end of user-config.jam, or in any case
-        after the Boostbook initialisation.
+        This declaration must go towards the end of <code class="computeroutput"><span class="identifier">user</span><span class="special">-</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">jam</span></code>, or
+        in any case after the Boostbook initialisation.
       </p>
 <p>
-        Also note that Windows users must use forward slashes in the paths in user-config.jam
+        Also note that Windows users must use forward slashes in the paths in <code class="computeroutput"><span class="identifier">user</span><span class="special">-</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">jam</span></code>
       </p>
 </td></tr>
 </table></div>
@@ -61,10 +63,20 @@
       your main Boost tree): this is a temporary fix that will go away if the tool
       is accepted into Boost.
     </p>
-<a name="autoindex.tut.step_2__configure_boost_build"></a><h5>
-<a name="id1011036"></a>
-      <a class="link" href="tut.html#autoindex.tut.step_2__configure_boost_build">Step 2: Configure
-      Boost.Build</a>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        If you move to a new machine you will need to do this! An error message will
+        warn about missing <code class="computeroutput"><span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span><span class="special">.</span><span class="identifier">jam</span></code>.
+      </p></td></tr>
+</table></div>
+<a name="autoindex.tut.step_2__configure_boost_build_to_use_autoindex"></a><h5>
+<a name="id867482"></a>
+      <a class="link" href="tut.html#autoindex.tut.step_2__configure_boost_build_to_use_autoindex">Step
+      2: Configure Boost.Build to use AutoIndex</a>
     </h5>
 <p>
       Assuming you have a Jamfile for building your documentation that looks something
@@ -72,7 +84,7 @@
     </p>
 <pre class="programlisting">boostbook standalone
     :
-        type_traits
+        mylibrary
     :
         # build requirements go here:
     ;
@@ -83,22 +95,42 @@
 <pre class="programlisting">using auto-index ; </pre>
 <p>
       to the start of the Jamfile, and then add whatever auto-index options you want
-      to the build requirements section, for example:
+      to the <span class="emphasis"><em>build requirements section</em></span>, for example:
     </p>
 <pre class="programlisting">boostbook standalone
     :
-        type_traits
+        mylibrary
     :
-        # build requirements go here:
+        # Build requirements go here:
         
-        # this one turns on indexing:
+        # <auto-index>on (or off) one turns on (or off) indexing:
         <auto-index>on
-        # choose indexing method for pdf's:
+        
+        # Turns on (or off) auto-index-verbose for diagnostic info.
+        # This is highly recommended until you have got all the many details correct!
+        # (uses /bin auto-index-verbose folders).
+        <auto-index-verbose>on 
+        
+        # Choose the indexing method (separately for html and PDF) - see manual.
+        # Choose indexing method for PDFs:
         <format>pdf:<auto-index-internal>off
-        # choose indexing method for html:
+        
+        # Choose indexing method for html:
         <format>html:<auto-index-internal>on
-        # set the name of the script file to use:
+        
+        # Set the name of the script file to use (index.idx is popular):
         <auto-index-script>index.idx
+        # But see <auto-index-prefix> to use for the scan path to scan for script files.
+        
+        # <auto-index-prefix>../../.. will get you back up to /mylibrary,
+        # so !scan-path "boost/mylibrary/" is where headers *.hpp will be.
+        # and /libs/mylibrary for other files.
+        # Without this you would need !scan-path "../../../boost/mylibrary"
+        <auto-index-prefix>../../..
+
+        # Tell Quickbook that is should enable indexing.
+        <quickbook-define>enable_index ;
+      
     ;
 </pre>
 <p>
@@ -138,12 +170,15 @@
 <dt><span class="term"><auto-index-verbose>off/on</span></dt>
 <dd><p>
             Defaults to "off". When turned on AutoIndex prints progress
-            information - generally useful only for debugging purposes.
+            information - useful for debugging purposes during setup.
           </p></dd>
 <dt><span class="term"><auto-index-prefix>filename</span></dt>
 <dd><p>
             Specifies a directory to apply as a prefix to all relative file paths
-            in the script file.
+            in the script file. For Boost standard layout, <auto-index-prefix>../../..
+            will get you back up to /mylibrary, so !scan-path "boost<span class="emphasis"><em>mylibrary</em></span>"
+            is where headers *.hpp will be and /libs/mylibrary for other files. Without
+            this you would need !scan-path "../../../boost/mylibrary"
           </p></dd>
 <dt><span class="term"><auto-index-type>element-name</span></dt>
 <dd><p>
@@ -312,33 +347,103 @@
 </tbody>
 </table></div>
 <p>
-      It is possible to make the use of auto-index optional in Boost.Build, to allow
-      users who do not have auto-index installed to build your documentation. One
-      method of setting up optional auto-index support is to place all auto-index
+      It is considerate to make the <span class="bold"><strong>use of auto-index optional</strong></span>
+      in Boost.Build, to allow users who do not have auto-index installed to still
+      be able to build your documentation.
+    </p>
+<p>
+      One method of setting up optional auto-index support is to place all auto-index
+      configuration in a the body of a <span class="emphasis"><em>bjam if statement</em></span>.
+    </p>
+<p>
+      This also very convenient while you are refining your documentation, to allow
+      you to decide to build indexes, or not: building indexes can take long time,
+      if you are just correcting typos, you won't want wait while you keep rebuilding
+      the index!
+    </p>
+<p>
+      One method of setting up optional auto-index support is to place all auto-index
       configuration in a the body of a bjam if statement:
     </p>
-<pre class="programlisting"><span class="keyword">if</span> <span class="special">--</span><span class="identifier">enable</span><span class="special">-</span><span class="identifier">index</span> <span class="identifier">in</span>  <span class="special">[</span> <span class="identifier">modules</span><span class="special">.</span><span class="identifier">peek</span> <span class="special">:</span> <span class="identifier">ARGV</span> <span class="special">]</span>
-<span class="special">{</span>
-   <span class="keyword">using</span> <span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span> <span class="special">;</span>
-   <span class="identifier">project</span> <span class="special">:</span> <span class="identifier">requirements</span>
-        <span class="special"><</span><span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span><span class="special">></span><span class="identifier">on</span>
-        <span class="special"><</span><span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span><span class="special">-</span><span class="identifier">script</span><span class="special">></span><span class="identifier">index</span><span class="special">.</span><span class="identifier">idx</span>
-        <span class="error">#</span><span class="special">...</span> <span class="identifier">other</span> <span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span> <span class="identifier">options</span> <span class="identifier">here</span><span class="special">...</span>
-        <span class="special">;</span>
-<span class="special">}</span>
+<pre class="programlisting">if --enable-index in  [ modules.peek : ARGV ]
+  {
+     ECHO "Building the  docs with automatic index generation enabled." ;
+
+     using auto-index ;
+     project : requirements
+          <auto-index>on
+          <auto-index-script>index.idx
+          
+           ... other auto-index options here...
+          ;
+  }
+  else
+	{
+	   ECHO "Building the my_library docs with automatic index generation disabled. To get an auto-index, try building with --enable-index." ;
+	}
+</pre>
+<p>
+      To use this, you need to cd to your docs folder, for example:
+    </p>
+<pre class="programlisting"><span class="identifier">cd</span> <span class="special">\</span><span class="identifier">boost</span><span class="special">-</span><span class="identifier">sandbox</span><span class="special">\</span><span class="identifier">guild</span><span class="special">\</span><span class="identifier">mylibrary</span><span class="special">\</span><span class="identifier">libs</span><span class="special">\</span><span class="identifier">mylibrary</span><span class="special">\</span><span class="identifier">doc</span>
+</pre>
+<p>
+      and then run <code class="computeroutput"><span class="identifier">bjam</span></code> to build
+      the docs without index, for example:
+    </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="special">-</span><span class="identifier">a</span> <span class="identifier">html</span> <span class="special">></span> <span class="identifier">mylibrary_html</span><span class="special">.</span><span class="identifier">log</span>
+</pre>
+<p>
+      or with index(es)
+    </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="special">-</span><span class="identifier">a</span> <span class="identifier">html</span> <span class="special">--</span><span class="identifier">enable</span><span class="special">-</span><span class="identifier">index</span> <span class="special">></span> <span class="identifier">mylibrary_html_index</span><span class="special">.</span><span class="identifier">log</span>
 </pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        Always send the output to a log file. It will contain of lot of stuff, but
+        is invaluable to check if all has gone right, and else diagnose what has
+        gone wrong.
+      </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        A return code of 0 is not a reliable indication that you have got what you
+        really want - inspecting the log file is the only certain way.
+      </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        If you upgrade compiler version, for example MSVC from 9 to 10, then you
+        will need to rebuild Autoindex to avoid what Microsoft call a 'side-by-side'
+        error. And make sure that the autoindex.exe version you are using is the
+        new one.
+      </p></td></tr>
+</table></div>
 <a name="autoindex.tut.step_3__add_indexes_to_your_documentation"></a><h5>
-<a name="id1011645"></a>
+<a name="id868109"></a>
       <a class="link" href="tut.html#autoindex.tut.step_3__add_indexes_to_your_documentation">Step
       3: Add indexes to your documentation</a>
     </h5>
 <p>
-      To add a single index to a BoostBook/Docbook document, then add <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">/></span></code> at the location where you want the index
+      To add a single "include everything" index to a Quickbook/BoostBook/Docbook
+      document, then add <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">/></span></code> at the location where you want the index
       to appear. The index will be rendered as a separate section when the documentation
       is built.
     </p>
 <p>
-      To add multiple indexes, then give each one a title and set it's <code class="computeroutput"><span class="identifier">type</span></code> attribute to specify which terms will
+      To add multiple indexes, then give each one a title and set its <code class="computeroutput"><span class="identifier">type</span></code> attribute to specify which terms will
       be included, for example to place the <span class="emphasis"><em>function</em></span>, <span class="emphasis"><em>class</em></span>,
       <span class="emphasis"><em>macro</em></span> or <span class="emphasis"><em>typedef</em></span> names indexed by
       <span class="emphasis"><em>auto_index</em></span> in separate indexes along with a main "include
@@ -375,60 +480,82 @@
       </p></td></tr>
 </table></div>
 <p>
-      In quickbook, you add the same markup but enclose it in an escape:
+      In Quickbook, you add the same markup but enclose it between two triple-tick
+      ''' escapes, thus
     </p>
-<pre class="programlisting"><span class="char">''</span><span class="char">'<index/>'</span><span class="char">''</span>
+<pre class="programlisting">'''<index/>''' </pre>
+<p>
+      If you are writing a Quickbook document with Doxygen reference documentation,
+      the position of a <code class="computeroutput"><span class="special">[</span><span class="identifier">xinclude</span>
+      <span class="identifier">autodoc</span><span class="special">.</span><span class="identifier">xml</span><span class="special">]</span></code> line
+      in the Quickbook file determines the location of the Doxygen references section.
+      You will almost certainly want this as well.
+    </p>
+<pre class="programlisting">[xinclude autodoc.xml] # Using <span class="emphasis"><em>Doxygen reference documentation</em></span>.
+</pre>
+<p>
+      You can control the <span class="emphasis"><em>displayed name</em></span> of the Doxygen reference
+      section thus by adding to the end of the Doxygen autodoc section in your jamfile.
+    </p>
+<pre class="programlisting"><xsl:param>"boost.doxygen.reftitle=Boost.mylibrary C++ Reference"
 </pre>
 <p>
-      If you are using auto-index's internal index generation (usually recommended
-      for HTML output) then you can also decide what kind of XML wrapper the generated
-      index is placed in. By default this is a <code class="computeroutput"><span class="special"><</span><span class="identifier">section</span><span class="special">>...</</span><span class="identifier">section</span><span class="special">></span></code>
-      XML block (this replaces the original <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">>...</</span><span class="identifier">index</span><span class="special">></span></code>
-      block). However, depending upon the structure of the document and whether or
-      not you want the index on a separate page - or else on the front page after
-      the TOC - you may want to place the index inside a different type of XML block.
-      For example if your document uses <code class="computeroutput"><span class="special"><</span><span class="identifier">chapter</span><span class="special">></span></code>
-      top level content rather than <code class="computeroutput"><span class="special"><</span><span class="identifier">section</span><span class="special">></span></code>'s
-      then it may be preferable to place the index in a <code class="computeroutput"><span class="special"><</span><span class="identifier">chapter</span><span class="special">></span></code>
-      or <code class="computeroutput"><span class="special"><</span><span class="identifier">appendix</span><span class="special">></span></code> block. You can also place the index inside
-      an <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">></span></code> block if you prefer, in which case the
-      index does not appear in on a page of it's own, but after the TOC in the HTML
-      output.
+      If you are using auto-index's internal index generation on
+    </p>
+<pre class="programlisting"><auto-index-internal>on
+</pre>
+<p>
+      (usually recommended for HTML output, and not the default) then you can also
+      decide what kind of XML wrapper the generated index is placed in. By default
+      this is a <code class="computeroutput"><span class="special"><</span><span class="identifier">section</span><span class="special">>...</</span><span class="identifier">section</span><span class="special">></span></code> XML block (this replaces the original
+      <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">>...</</span><span class="identifier">index</span><span class="special">></span></code> block). However, depending upon the structure
+      of the document and whether or not you want the index on a separate page -
+      or else on the front page after the TOC - you may want to place the index inside
+      a different type of XML block. For example if your document uses <code class="computeroutput"><span class="special"><</span><span class="identifier">chapter</span><span class="special">></span></code> top level content rather than <code class="computeroutput"><span class="special"><</span><span class="identifier">section</span><span class="special">></span></code>s then it may be preferable to place the
+      index in a <code class="computeroutput"><span class="special"><</span><span class="identifier">chapter</span><span class="special">></span></code> or <code class="computeroutput"><span class="special"><</span><span class="identifier">appendix</span><span class="special">></span></code>
+      block. You can also place the index inside an <code class="computeroutput"><span class="special"><</span><span class="identifier">index</span><span class="special">></span></code>
+      block if you prefer, in which case the index does not appear in on a page of
+      its own, but after the TOC in the HTML output.
     </p>
 <p>
       You control the type of XML block used by setting the <code class="literal"><auto-index-type>element-name</code>
       attribute in the Jamfile, or via the <code class="computeroutput"><span class="identifier">index</span><span class="special">-</span><span class="identifier">type</span><span class="special">=</span><span class="identifier">element</span><span class="special">-</span><span class="identifier">name</span></code> command line option to auto-index itself.
-      For example, to place the index in an appendix your Jamfile might look like:
+      For example, to place the index in an appendix, your Jamfile might look like:
     </p>
 <pre class="programlisting">using quickbook ;
 using auto-index ;
 
-xml type_traits : type_traits.qbk ;
+xml mylibrary : mylibary.qbk ;
 boostbook standalone
     :
-        type_traits
+        mylibrary
     :
-        # indexing is on:
-        <auto-index>on                          
-        # PDF's rely on the XSL stylesheets to generate the index:
-        <format>pdf:<auto-index-internal>off    
+        # auto-indexing is on:
+        <auto-index>on  
+        
+        # PDFs rely on the XSL stylesheets to generate the index:
+        <format>pdf:<auto-index-internal>off  
+        
         # HTML output uses auto-index to generate the index:
         <format>html:<auto-index-internal>on
+        
         # Name of script file to use:
         <auto-index-script>index.idx
+        
         # Set the XML wrapper for HML Indexes to "appendix":
         <format>html:<auto-index-type>appendix
+        
         # Turn on multiple index support:
         <xsl:param>index.on.type=1
 </pre>
-<a name="autoindex.tut.step_4__create_the_script_file"></a><h5>
-<a name="id1011948"></a>
-      <a class="link" href="tut.html#autoindex.tut.step_4__create_the_script_file">Step 4: Create
-      the script file</a>
+<a name="autoindex.tut.step_4__create_the_script_file____to_control_what_to_index"></a><h5>
+<a name="id868460"></a>
+      <a class="link" href="tut.html#autoindex.tut.step_4__create_the_script_file____to_control_what_to_index">Step
+      4: Create the script file - to control what to index</a>
     </h5>
 <p>
-      AutoIndex works by reading a script file that tells it what to index, at it's
-      simplest it will scan one or more headers for terms that should be indexed
+      AutoIndex works by reading a script file that tells it what to index. At its
+      simplest, it will scan one or more headers for terms that should be indexed
       in the documentation. So for example to scan "myheader.hpp" the script
       file would just contain:
     </p>
@@ -438,14 +565,39 @@
       Or we can recursively scan through directories looking for all the files to
       scan whose name matches a particular regular expression:
     </p>
-<pre class="programlisting">!scan-path "../../../../boost/math" ".*.hpp" true </pre>
+<pre class="programlisting">!scan-path "boost/mylibrary" ".*.hpp" true </pre>
 <p>
-      Note how each argument is whitespace separated and can be optionally enclosed
-      in "double quotes". The final <span class="emphasis"><em>true</em></span> argument
-      indicates that subdirectories in <code class="computeroutput"><span class="special">../../../../</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span></code>
-      should be searched in addition to that directory.
+      Each argument is whitespace separated and can be optionally enclosed in "double
+      quotes" (recommended).
     </p>
 <p>
+      The final <span class="emphasis"><em>true</em></span> argument indicates that subdirectories
+      in <code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">mylibrary</span></code> should be searched recursively
+      in addition to that directory.
+    </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        The second <span class="emphasis"><em>file-name-regex</em></span> argument is a regular expression!
+      </p></td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+        The scan-path is modified by any setting of <auto-index-prefix>. The
+        examples here assume that this is <code class="computeroutput"><span class="special"><</span><span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span><span class="special">-</span><span class="identifier">prefix</span><span class="special">>../../..</span></code> so that <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mylibrary</span></code>
+        will be your header files, <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">mylibrary</span><span class="special">/</span><span class="identifier">docs</span></code> will
+        be your docs, like .qbk <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">mylibrary</span><span class="special">/</span><span class="identifier">examples</span></code>
+        will be your examples, usually .cpp.
+      </p></td></tr>
+</table></div>
+<p>
       Often the <span class="emphasis"><em>scan</em></span> or <span class="emphasis"><em>scan-path</em></span> rules
       will bring in too many terms to search for, so we need to be able to exclude
       terms as well:
@@ -478,8 +630,9 @@
 <pre class="programlisting"><span class="identifier">reflex</span> <span class="special">\<</span><span class="identifier">reflex</span><span class="special">\</span><span class="identifier">w</span><span class="special">*\></span>
 </pre>
 <p>
-      will index occurrences of "reflex", reflexing" and "reflexed"
-      all under the same entry <span class="emphasis"><em>reflex</em></span>.
+      will index occurrences of "reflex", "reflexing" and "reflexed"
+      all under the same entry <span class="emphasis"><em>reflex</em></span>. You will very often need
+      to use this to deal with plurals and other variants.
     </p>
 <p>
       This inclusion rule can also restrict the term to certain sections, and add
@@ -494,43 +647,73 @@
     </p>
 <pre class="programlisting"><span class="special">!</span><span class="identifier">rewrite</span><span class="special">-</span><span class="identifier">name</span> <span class="string">"(?i)(?:A|The)\s+(.*)"</span> <span class="string">"\1"</span>
 </pre>
-<a name="autoindex.tut.step_5__add_manual_index_entries___optional"></a><h5>
-<a name="id1012202"></a>
-      <a class="link" href="tut.html#autoindex.tut.step_5__add_manual_index_entries___optional">Step
-      5: Add Manual Index Entries - Optional</a>
+<p>
+      Adding manual terms is most useful if you are using Quickbook to prepare your
+      documentation.
+    </p>
+<p>
+      If many terms that you believe users would seek in the index are used in the
+      textual sections (and that these terms may not used in the C++ code itself,
+      or that you want to direct the user to the text rather than functions or classes),
+      then you need to add terms.
+    </p>
+<p>
+      This may lead to too much indexing (especially if you have provided a Doxygen
+      autodoc C++ reference section that provides a good way of getting the C++ functions
+      etc). So it may be more useful to <span class="bold"><strong>only</strong></span> index
+      the text part?
+    </p>
+<pre class="programlisting">!scan-path "boost/mylibrary" ".*.qbk" true </pre>
+<p>
+      You could also scan the examples (.cpp) files. This will scan and may index
+      any explanatory C++ comments too. If an example's output is appended as a comment
+      then this text will also be scanned.
+    </p>
+<a name="autoindex.tut.step_5__add_manual_index_entries_to_docbook_xml___optional"></a><h5>
+<a name="id868851"></a>
+      <a class="link" href="tut.html#autoindex.tut.step_5__add_manual_index_entries_to_docbook_xml___optional">Step
+      5: Add Manual Index Entries to Docbook XML - Optional</a>
     </h5>
 <p>
-      If you add manual <code class="computeroutput"><span class="special"><</span><span class="identifier">indexentry</span><span class="special">></span></code> markup to your docbook XML then these will
+      If you add manual <code class="computeroutput"><span class="special"><</span><span class="identifier">indexentry</span><span class="special">></span></code> markup to your Docbook XML then these will
       be passed through unchanged. Please note however, that if you are using auto-index's
       internal index generation then it only recognises <code class="computeroutput"><span class="special"><</span><span class="identifier">primary</span><span class="special">></span></code>
       and <code class="computeroutput"><span class="special"><</span><span class="identifier">secondary</span><span class="special">></span></code> elements within the <code class="computeroutput"><span class="special"><</span><span class="identifier">indexterm</span><span class="special">></span></code>.
       <code class="computeroutput"><span class="special"><</span><span class="identifier">tertiary</span><span class="special">></span></code>, <code class="computeroutput"><span class="special"><</span><span class="identifier">see</span><span class="special">></span></code> and
       <code class="computeroutput"><span class="special"><</span><span class="identifier">seealso</span><span class="special">></span></code> elements are not currently recognised and
-      auto-index will emit a warning if these are used. Likewise none of the attributes
-      which can be applied to these elements are used when auto-index generates the
-      index itself, with the exception of the "type" attribute.
+      auto-index will emit a warning if these are used.
+    </p>
+<p>
+      Likewise none of the attributes which can be applied to these elements are
+      used when auto-index generates the index itself, with the exception of the
+      "type" attribute.
     </p>
 <a name="autoindex.tut.step_6__build_the_docs"></a><h5>
-<a name="id1016192"></a>
+<a name="id868972"></a>
       <a class="link" href="tut.html#autoindex.tut.step_6__build_the_docs">Step 6: Build the Docs</a>
     </h5>
 <p>
       Make sure that auto-index.jam is in your BOOST_BUILD_PATH, by either setting
       the environment variable BOOST_BUILD_PATH to point to the directory containing
-      it, or by copying the file into <code class="computeroutput"><span class="identifier">boost</span><span class="special">-</span><span class="identifier">root</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">build</span><span class="special">/</span><span class="identifier">v2</span><span class="special">/</span><span class="identifier">tools</span></code>. Then you build the docs with either:
+      it, or by copying the <code class="computeroutput"><span class="keyword">auto</span><span class="special">-</span><span class="identifier">index</span><span class="special">.</span><span class="identifier">jam</span></code>
+      file into <code class="computeroutput"><span class="identifier">boost</span><span class="special">-</span><span class="identifier">root</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">build</span><span class="special">/</span><span class="identifier">v2</span><span class="special">/</span><span class="identifier">tools</span></code>.
     </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">release</span>
+<p>
+      Then you build the docs with either:
+    </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">release</span> <span class="special">></span> <span class="identifier">mylibrary_html</span><span class="special">.</span><span class="identifier">log</span>
 </pre>
 <p>
       To build the html docs or:
     </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">pdf</span> <span class="identifier">release</span>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">pdf</span> <span class="identifier">release</span> <span class="special">></span> <span class="identifier">mylibrary_pdf</span><span class="special">.</span><span class="identifier">log</span>
 </pre>
 <p>
       To build the pdf.
     </p>
 <p>
-      During the build process you should see AutoIndex emit a message such as:
+      During the build process you should see AutoIndex emit a message in the log
+      file such as:
     </p>
 <pre class="programlisting">Indexing 990 terms... </pre>
 <p>
@@ -543,9 +726,15 @@
 <p>
       Again if you see that 0 entries were created then something is wrong!
     </p>
-<a name="autoindex.tut.step_7__iterate"></a><h5>
-<a name="id1016314"></a>
-      <a class="link" href="tut.html#autoindex.tut.step_7__iterate">Step 7: Iterate</a>
+<p>
+      Examine the log file, and if the cause is not obvious, make sure that you have
+      <code class="literal"><auto-index-verbose>on</code> and that <code class="literal">!debug regular-expression
+      directive</code> is at the head of the script file.
+    </p>
+<a name="autoindex.tut.step_7__iterate___to_refine_your_index"></a><h5>
+<a name="id869166"></a>
+      <a class="link" href="tut.html#autoindex.tut.step_7__iterate___to_refine_your_index">Step 7:
+      Iterate - to refine your index</a>
     </h5>
 <p>
       Creating a good index is an iterative process, often the first step is just
@@ -573,15 +762,15 @@
 <th align="left">Tip</th>
 </tr>
 <tr><td align="left" valign="top"><p>
-        If you don't understand why a particular term is present in the index, try
-        adding a <span class="emphasis"><em>!debug regular-expression</em></span> directive to the
-        <a class="link" href="script_ref.html" title="Script File Reference">script file</a>.
+        If you don't understand why a particular term is (or is not) present in the
+        index, try adding a <span class="emphasis"><em>!debug regular-expression</em></span> directive
+        to the <a class="link" href="script_ref.html" title="Script File Reference">script file</a>.
       </p></td></tr>
 </table></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright © 2008 , 2011 John Maddock<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
Modified: sandbox/tools/auto_index/doc/html/autoindex/xml.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/autoindex/xml.html	(original)
+++ sandbox/tools/auto_index/doc/html/autoindex/xml.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -20,7 +20,7 @@
 <a name="autoindex.xml"></a><a class="link" href="xml.html" title="XML Handling">XML Handling</a>
 </h2></div></div></div>
 <p>
-      Auto-index is rather simplistic in it's handling of XML:
+      Auto-index is rather simplistic in its handling of XML:
     </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
@@ -44,7 +44,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright © 2008 , 2011 John Maddock<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
Modified: sandbox/tools/auto_index/doc/html/index.html
==============================================================================
--- sandbox/tools/auto_index/doc/html/index.html	(original)
+++ sandbox/tools/auto_index/doc/html/index.html	2011-01-28 10:07:52 EST (Fri, 28 Jan 2011)
@@ -19,9 +19,9 @@
 <div><div class="authorgroup"><div class="author"><h3 class="author">
 <span class="firstname">John</span> <span class="surname">Maddock</span>
 </h3></div></div></div>
-<div><p class="copyright">Copyright © 2008 John Maddock</p></div>
+<div><p class="copyright">Copyright © 2008 , 2011 John Maddock</p></div>
 <div><div class="legalnotice">
-<a name="id1010583"></a><p>
+<a name="id857440"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -41,7 +41,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: January 26, 2011 at 18:45:43 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 28, 2011 at 15:01:40 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>