diff --git a/Doc/lib/libformatter.tex b/Doc/lib/libformatter.tex
index c0ebab4..42783fb 100644
--- a/Doc/lib/libformatter.tex
+++ b/Doc/lib/libformatter.tex
@@ -46,11 +46,15 @@
 
 The following attributes are defined for formatter instance objects:
 
+\renewcommand{\indexsubitem}{(formatter object data)}
+
 \begin{datadesc}{writer}
 The writer instance with which the formatter interacts.
 \end{datadesc}
 
 
+\renewcommand{\indexsubitem}{(formatter object method)}
+
 \begin{funcdesc}{end_paragraph}{blanklines}
 Close any open paragraphs and insert at least \code{blanklines}
 before the next paragraph.
@@ -178,16 +182,25 @@
 
 \subsection{Formatter Implementations}
 
+Two implementations of formatter objects are provided by this module.
+Most applications may use one of these classes without modification or
+subclassing.
+
+\renewcommand{\indexsubitem}{(in module formatter)}
+
 \begin{funcdesc}{NullFormatter}{\optional{writer\code{ = None}}}
 A formatter which does nothing.  If \code{writer} is omitted, a
 \code{NullWriter} instance is created.  No methods of the writer are
-called by \code{NullWriter} instances.
+called by \code{NullWriter} instances.  Implementations should inherit
+from this class if implementing a writer interface but don't need to
+inherit any implementation.
 \end{funcdesc}
 
 \begin{funcdesc}{AbstractFormatter}{writer}
 The standard formatter.  This implementation has demonstrated wide
 applicability to many writers, and may be used directly in most
-circumstances.
+circumstances.  It has been used to implement a full-featured
+world-wide web browser.
 \end{funcdesc}
 
 
@@ -201,6 +214,8 @@
 class as a formatter, the writer must typically be provided by the
 application.
 
+\renewcommand{\indexsubitem}{(writer object method)}
+
 \begin{funcdesc}{new_alignment}{align}
 Set the alignment style.  The \code{align} value can be any object,
 but by convention is a string or \code{None}, where \code{None}
@@ -283,6 +298,12 @@
 
 \subsection{Writer Implementations}
 
+Three implementations of the writer object interface are provided as
+examples by this module.  Most applications will need to derive new
+writer classes from the \code{NullWriter} class.
+
+\renewcommand{\indexsubitem}{(in module formatter)}
+
 \begin{funcdesc}{NullWriter}{}
 A writer which only provides the interface definition; no actions are
 taken on any methods.  This should be the base class for all writers
diff --git a/Doc/lib/libhtmllib.tex b/Doc/lib/libhtmllib.tex
index cc9599d..bf57ea9 100644
--- a/Doc/lib/libhtmllib.tex
+++ b/Doc/lib/libhtmllib.tex
@@ -69,6 +69,8 @@
 In addition to tag methods, the \code{HTMLParser} class provides some
 additional methods and instance variables for use within tag methods.
 
+\renewcommand{\indexsubitem}{({\tt HTMLParser} method)}
+
 \begin{datadesc}{formatter}
 This is the formatter instance associated with the parser.
 \end{datadesc}
diff --git a/Doc/lib/libsgmllib.tex b/Doc/lib/libsgmllib.tex
index 23d8504..dc3582b 100644
--- a/Doc/lib/libsgmllib.tex
+++ b/Doc/lib/libsgmllib.tex
@@ -2,13 +2,11 @@
 \stmodindex{sgmllib}
 \index{SGML}
 
-\renewcommand{\indexsubitem}{(in module sgmllib)}
-
 This module defines a class \code{SGMLParser} which serves as the
 basis for parsing text files formatted in SGML (Standard Generalized
 Mark-up Language).  In fact, it does not provide a full SGML parser
---- it only parses SGML insofar as it is used by HTML, and the module only
-exists as a basis for the \code{htmllib} module.
+--- it only parses SGML insofar as it is used by HTML, and the module
+only exists as a base for the \code{htmllib} module.
 \stmodindex{htmllib}
 
 In particular, the parser is hardcoded to recognize the following
@@ -37,6 +35,8 @@
 The \code{SGMLParser} class must be instantiated without arguments.
 It has the following interface methods:
 
+\renewcommand{\indexsubitem}{({\tt SGMLParser} method)}
+
 \begin{funcdesc}{reset}{}
 Reset the instance.  Loses all unprocessed data.  This is called
 implicitly at instantiation time.
diff --git a/Doc/libformatter.tex b/Doc/libformatter.tex
index c0ebab4..42783fb 100644
--- a/Doc/libformatter.tex
+++ b/Doc/libformatter.tex
@@ -46,11 +46,15 @@
 
 The following attributes are defined for formatter instance objects:
 
+\renewcommand{\indexsubitem}{(formatter object data)}
+
 \begin{datadesc}{writer}
 The writer instance with which the formatter interacts.
 \end{datadesc}
 
 
+\renewcommand{\indexsubitem}{(formatter object method)}
+
 \begin{funcdesc}{end_paragraph}{blanklines}
 Close any open paragraphs and insert at least \code{blanklines}
 before the next paragraph.
@@ -178,16 +182,25 @@
 
 \subsection{Formatter Implementations}
 
+Two implementations of formatter objects are provided by this module.
+Most applications may use one of these classes without modification or
+subclassing.
+
+\renewcommand{\indexsubitem}{(in module formatter)}
+
 \begin{funcdesc}{NullFormatter}{\optional{writer\code{ = None}}}
 A formatter which does nothing.  If \code{writer} is omitted, a
 \code{NullWriter} instance is created.  No methods of the writer are
-called by \code{NullWriter} instances.
+called by \code{NullWriter} instances.  Implementations should inherit
+from this class if implementing a writer interface but don't need to
+inherit any implementation.
 \end{funcdesc}
 
 \begin{funcdesc}{AbstractFormatter}{writer}
 The standard formatter.  This implementation has demonstrated wide
 applicability to many writers, and may be used directly in most
-circumstances.
+circumstances.  It has been used to implement a full-featured
+world-wide web browser.
 \end{funcdesc}
 
 
@@ -201,6 +214,8 @@
 class as a formatter, the writer must typically be provided by the
 application.
 
+\renewcommand{\indexsubitem}{(writer object method)}
+
 \begin{funcdesc}{new_alignment}{align}
 Set the alignment style.  The \code{align} value can be any object,
 but by convention is a string or \code{None}, where \code{None}
@@ -283,6 +298,12 @@
 
 \subsection{Writer Implementations}
 
+Three implementations of the writer object interface are provided as
+examples by this module.  Most applications will need to derive new
+writer classes from the \code{NullWriter} class.
+
+\renewcommand{\indexsubitem}{(in module formatter)}
+
 \begin{funcdesc}{NullWriter}{}
 A writer which only provides the interface definition; no actions are
 taken on any methods.  This should be the base class for all writers
diff --git a/Doc/libhtmllib.tex b/Doc/libhtmllib.tex
index cc9599d..bf57ea9 100644
--- a/Doc/libhtmllib.tex
+++ b/Doc/libhtmllib.tex
@@ -69,6 +69,8 @@
 In addition to tag methods, the \code{HTMLParser} class provides some
 additional methods and instance variables for use within tag methods.
 
+\renewcommand{\indexsubitem}{({\tt HTMLParser} method)}
+
 \begin{datadesc}{formatter}
 This is the formatter instance associated with the parser.
 \end{datadesc}
diff --git a/Doc/libsgmllib.tex b/Doc/libsgmllib.tex
index 23d8504..dc3582b 100644
--- a/Doc/libsgmllib.tex
+++ b/Doc/libsgmllib.tex
@@ -2,13 +2,11 @@
 \stmodindex{sgmllib}
 \index{SGML}
 
-\renewcommand{\indexsubitem}{(in module sgmllib)}
-
 This module defines a class \code{SGMLParser} which serves as the
 basis for parsing text files formatted in SGML (Standard Generalized
 Mark-up Language).  In fact, it does not provide a full SGML parser
---- it only parses SGML insofar as it is used by HTML, and the module only
-exists as a basis for the \code{htmllib} module.
+--- it only parses SGML insofar as it is used by HTML, and the module
+only exists as a base for the \code{htmllib} module.
 \stmodindex{htmllib}
 
 In particular, the parser is hardcoded to recognize the following
@@ -37,6 +35,8 @@
 The \code{SGMLParser} class must be instantiated without arguments.
 It has the following interface methods:
 
+\renewcommand{\indexsubitem}{({\tt SGMLParser} method)}
+
 \begin{funcdesc}{reset}{}
 Reset the instance.  Loses all unprocessed data.  This is called
 implicitly at instantiation time.
