diff --git a/Doc/lib/libal.tex b/Doc/lib/libal.tex
index 39ad273..7159d6f 100644
--- a/Doc/lib/libal.tex
+++ b/Doc/lib/libal.tex
@@ -20,13 +20,13 @@
 defined in the standard module
 \refmodule[al-constants]{AL}\refstmodindex{AL}, see below.
 
-\strong{Warning:} the current version of the audio library may dump core
+\warning{The current version of the audio library may dump core
 when bad argument values are passed rather than returning an error
 status.  Unfortunately, since the precise circumstances under which
 this may happen are undocumented and hard to check, the Python
 interface can provide no protection against this kind of problems.
 (One example is specifying an excessive queue size --- there is no
-documented upper limit.)
+documented upper limit.)}
 
 The module defines the following functions:
 
diff --git a/Doc/lib/libarray.tex b/Doc/lib/libarray.tex
index 868770e..ac02b87 100644
--- a/Doc/lib/libarray.tex
+++ b/Doc/lib/libarray.tex
@@ -77,12 +77,12 @@
 returned numbers are valid as long as the array exists and no
 length-changing operations are applied to it.
 
-\strong{Note:}  When using array objects from code written in C or
+\note{When using array objects from code written in C or
 \Cpp{} (the only way to effectively make use of this information), it
 makes more sense to use the buffer interface supported by array
 objects.  This method is maintained for backward compatibility and
 should be avoided in new code.  The buffer interface is documented in
-the \citetitle[../api/newTypes.html]{Python/C API Reference Manual}.
+the \citetitle[../api/newTypes.html]{Python/C API Reference Manual}.}
 \end{methoddesc}
 
 \begin{methoddesc}[array]{byteswap}{}
diff --git a/Doc/lib/libcgihttp.tex b/Doc/lib/libcgihttp.tex
index 61cd08c..bab1c37 100644
--- a/Doc/lib/libcgihttp.tex
+++ b/Doc/lib/libcgihttp.tex
@@ -15,8 +15,8 @@
 from \class{SimpleHTTPServer.SimpleHTTPRequestHandler} but can also
 run CGI scripts.
 
-\strong{Note:}  This module is \UNIX{} dependent since it creates the
-CGI process using \function{os.fork()} and \function{os.exec()}.
+\note{This module is \UNIX{} dependent since it creates the
+CGI process using \function{os.fork()} and \function{os.exec()}.}
 
 The \module{CGIHTTPServer} module defines the following class:
 
diff --git a/Doc/lib/libcmpcache.tex b/Doc/lib/libcmpcache.tex
index 58b03e2..8991477 100644
--- a/Doc/lib/libcmpcache.tex
+++ b/Doc/lib/libcmpcache.tex
@@ -13,9 +13,9 @@
 (see the \refmodule{statcache} module for information on the
 difference).
 
-\strong{Note:}  Using the \refmodule{statcache} module to provide
+\note{Using the \refmodule{statcache} module to provide
 \function{stat()} information results in trashing the cache
 invalidation mechanism: results are not as reliable.  To ensure
 ``current'' results, use \function{cmp.cmp()} instead of the version
 defined in this module, or use \function{statcache.forget()} to
-invalidate the appropriate entries.
+invalidate the appropriate entries.}
diff --git a/Doc/lib/libcodecs.tex b/Doc/lib/libcodecs.tex
index 844f6ec..396b4b3 100644
--- a/Doc/lib/libcodecs.tex
+++ b/Doc/lib/libcodecs.tex
@@ -103,10 +103,10 @@
 Open an encoded file using the given \var{mode} and return
 a wrapped version providing transparent encoding/decoding.
 
-\strong{Note:} The wrapped version will only accept the object format
+\note{The wrapped version will only accept the object format
 defined by the codecs, i.e.\ Unicode objects for most built-in
 codecs.  Output is also codec-dependent and will usually be Unicode as
-well.
+well.}
 
 \var{encoding} specifies the encoding which is to be used for the
 the file.
@@ -335,7 +335,7 @@
   Read one line from the input stream and return the
   decoded data.
 
-  Note: Unlike the \method{readlines()} method, this method inherits
+  Unlike the \method{readlines()} method, this method inherits
   the line breaking knowledge from the underlying stream's
   \method{readline()} method -- there is currently no support for line
   breaking using the codec decoder due to lack of line buffering.
diff --git a/Doc/lib/libcurses.tex b/Doc/lib/libcurses.tex
index 605cc26..18984e2 100644
--- a/Doc/lib/libcurses.tex
+++ b/Doc/lib/libcurses.tex
@@ -49,9 +49,9 @@
 Exception raised when a curses library function returns an error.
 \end{excdesc}
 
-\strong{Note:} Whenever \var{x} or \var{y} arguments to a function
+\note{Whenever \var{x} or \var{y} arguments to a function
 or a method are optional, they default to the current cursor location.
-Whenever \var{attr} is optional, it defaults to \constant{A_NORMAL}.
+Whenever \var{attr} is optional, it defaults to \constant{A_NORMAL}.}
 
 The module \module{curses} defines the following functions:
 
@@ -516,8 +516,8 @@
 
 \begin{funcdesc}{ungetch}{ch}
 Push \var{ch} so the next \method{getch()} will return it.
-\strong{Note:} only one \var{ch} can be pushed before \method{getch()}
-is called.
+\note{Only one \var{ch} can be pushed before \method{getch()}
+is called.}
 \end{funcdesc}
 
 \begin{funcdesc}{ungetmouse}{id, x, y, z, bstate}
@@ -542,10 +542,10 @@
 following methods:
 
 \begin{methoddesc}{addch}{\optional{y, x,} ch\optional{, attr}}
-\strong{Note:} A \emph{character} means a C character (an
+\note{A \emph{character} means a C character (an
 \ASCII{} code), rather then a Python character (a string of length 1).
 (This note is true whenever the documentation mentions a character.)
-The builtin \function{ord()} is handy for conveying strings to codes.
+The builtin \function{ord()} is handy for conveying strings to codes.}
 
 Paint character \var{ch} at \code{(\var{y}, \var{x})} with attributes
 \var{attr}, overwriting any character previously painter at that
@@ -614,9 +614,9 @@
 using one-character strings will cause \exception{TypeError} to be
 raised.
 
-\strong{Note:} A \code{0} value for any parameter will cause the
+\note{A \code{0} value for any parameter will cause the
 default character to be used for that parameter.  Keyword parameters
-can \emph{not} be used.  The defaults are listed in this table:
+can \emph{not} be used.  The defaults are listed in this table:}
 
 \begin{tableiii}{l|l|l}{var}{Parameter}{Description}{Default value}
   \lineiii{ls}{Left side}{\constant{ACS_VLINE}}
@@ -1182,8 +1182,8 @@
 available on software emulations such as X terminals.  When there
 is no graphic available, curses falls back on a crude printable ASCII
 approximation.
-\strong{Note:} These are available only after \function{initscr()} has 
-been called.
+\note{These are available only after \function{initscr()} has 
+been called.}
 
 \begin{longtableii}{l|l}{code}{ACS code}{Meaning}
   \lineii{ACS_BBSS}{alternate name for upper right corner}
diff --git a/Doc/lib/libdl.tex b/Doc/lib/libdl.tex
index b9a3241..8d1220f 100644
--- a/Doc/lib/libdl.tex
+++ b/Doc/lib/libdl.tex
@@ -10,12 +10,10 @@
 \UNIX{} platforms for handling dynamically linked libraries. It allows
 the program to call arbitrary functions in such a library.
 
-\strong{Note:} This module will not work unless
-\begin{verbatim}
-sizeof(int) == sizeof(long) == sizeof(char *)
-\end{verbatim}
+\note{This module will not work unless
+\code{sizeof(int) == sizeof(long) == sizeof(char *)}
 If this is not the case, \exception{SystemError} will be raised on
-import.
+import.}
 
 The \module{dl} module defines the following function:
 
diff --git a/Doc/lib/libfpformat.tex b/Doc/lib/libfpformat.tex
index 577b50b..a3a6282 100644
--- a/Doc/lib/libfpformat.tex
+++ b/Doc/lib/libfpformat.tex
@@ -8,8 +8,8 @@
 
 The \module{fpformat} module defines functions for dealing with
 floating point numbers representations in 100\% pure
-Python. \strong{Note:}  This module is unneeded: everything here could
-be done via the \code{\%} string interpolation operator.
+Python. \note{This module is unneeded: everything here could
+be done via the \code{\%} string interpolation operator.}
 
 The \module{fpformat} module defines the following functions and an
 exception:
diff --git a/Doc/lib/libgetopt.tex b/Doc/lib/libgetopt.tex
index fff3043..1348921 100644
--- a/Doc/lib/libgetopt.tex
+++ b/Doc/lib/libgetopt.tex
@@ -25,9 +25,9 @@
 (\character{:}; i.e., the same format that \UNIX{}
 \cfunction{getopt()} uses).
 
-\strong{Note:} Unlike GNU \cfunction{getopt()}, after a non-option
+\note{Unlike GNU \cfunction{getopt()}, after a non-option
 argument, all further arguments are considered also non-options.
-This is similar to the way non-GNU \UNIX{} systems work.
+This is similar to the way non-GNU \UNIX{} systems work.}
 
 \var{long_options}, if specified, must be a list of strings with the
 names of the long options which should be supported.  The leading
diff --git a/Doc/lib/libgl.tex b/Doc/lib/libgl.tex
index cf51651..ecf4c36 100644
--- a/Doc/lib/libgl.tex
+++ b/Doc/lib/libgl.tex
@@ -10,11 +10,10 @@
 \emph{Graphics Library}.
 It is available only on Silicon Graphics machines.
 
-\strong{Warning:}
-Some illegal calls to the GL library cause the Python interpreter to dump
-core.
+\warning{Some illegal calls to the GL library cause the Python
+interpreter to dump core.
 In particular, the use of most GL calls is unsafe before the first
-window is opened.
+window is opened.}
 
 The module is too large to document here in its entirety, but the
 following should help you to get started.
diff --git a/Doc/lib/libhttplib.tex b/Doc/lib/libhttplib.tex
index 6808ef4..245f650 100644
--- a/Doc/lib/libhttplib.tex
+++ b/Doc/lib/libhttplib.tex
@@ -9,9 +9,9 @@
 This module defines classes which implement the client side of the
 HTTP and HTTPS protocols.  It is normally not used directly --- the
 module \refmodule{urllib}\refstmodindex{urllib} uses it to handle URLs
-that use HTTP and HTTPS.  \strong{Note:}  HTTPS support is only
+that use HTTP and HTTPS.  \note{HTTPS support is only
 available if the \refmodule{socket} module was compiled with SSL
-support.
+support.}
 
 The module defines one class, \class{HTTP}:
 
diff --git a/Doc/lib/libinspect.tex b/Doc/lib/libinspect.tex
index d554843..1283cdd 100644
--- a/Doc/lib/libinspect.tex
+++ b/Doc/lib/libinspect.tex
@@ -272,7 +272,7 @@
 The optional \var{context} argument specifies the number of lines of
 context to return, which are centered around the current line.
 
-\strong{Warning:}  Keeping references to frame objects, as found in
+\warning{Keeping references to frame objects, as found in
 the first element of the frame records these functions return, can
 cause your program to create reference cycles.  Once a reference cycle
 has been created, the lifespan of all objects which can be accessed
@@ -280,7 +280,7 @@
 Python's optional cycle detector is enabled.  If such cycles must be
 created, it is important to ensure they are explicitly broken to avoid
 the delayed destruction of objects and increased memory consumption
-which occurs.
+which occurs.}
 
 \begin{funcdesc}{getframeinfo}{frame\optional{, context}}
   Get information about a frame or traceback object.  A 5-tuple
diff --git a/Doc/lib/liblocale.tex b/Doc/lib/liblocale.tex
index 28e9e3f..72dc69c 100644
--- a/Doc/lib/liblocale.tex
+++ b/Doc/lib/liblocale.tex
@@ -298,10 +298,10 @@
 \end{datadesc}
 
 \begin{datadesc}{DAY_1 ... DAY_7}
-Return name of the n-th day of the week. \strong{Warning:} this
+Return name of the n-th day of the week. \warning{This
 follows the US convention of \constant{DAY_1} being Sunday, not the
 international convention (ISO 8601) that Monday is the first day of
-the week.
+the week.}
 \end{datadesc}
 
 \begin{datadesc}{ABDAY_1 ... ABDAY_7}
@@ -327,9 +327,9 @@
 \begin{datadesc}{YESEXPR}
 Return a regular expression that can be used with the regex
 function to recognize a positive response to a yes/no question.
-\strong{Warning:} the expression is in the syntax suitable for the
+\warning{The expression is in the syntax suitable for the
 \cfunction{regex()} function from the C library, which might differ
-from the syntax used in \refmodule{re}.
+from the syntax used in \refmodule{re}.}
 \end{datadesc}
 
 \begin{datadesc}{NOEXPR}
diff --git a/Doc/lib/libmarshal.tex b/Doc/lib/libmarshal.tex
index cd38a8c..013e7f8 100644
--- a/Doc/lib/libmarshal.tex
+++ b/Doc/lib/libmarshal.tex
@@ -72,9 +72,9 @@
   \exception{TypeError}.  The file must be an open file object opened
   in binary mode (\code{'rb'} or \code{'r+b'}).
 
-  \strong{Warning:} If an object containing an unsupported type was
+  \warning{If an object containing an unsupported type was
   marshalled with \function{dump()}, \function{load()} will substitute
-  \code{None} for the unmarshallable type.
+  \code{None} for the unmarshallable type.}
 \end{funcdesc}
 
 \begin{funcdesc}{dumps}{value}
diff --git a/Doc/lib/liboperator.tex b/Doc/lib/liboperator.tex
index e8348ed..7d34a0f 100644
--- a/Doc/lib/liboperator.tex
+++ b/Doc/lib/liboperator.tex
@@ -220,9 +220,9 @@
 
 
 The \module{operator} module also defines a few predicates to test the
-type of objects.  \strong{Note:} Be careful not to misinterpret the
+type of objects.  \note{Be careful not to misinterpret the
 results of these functions; only \function{isCallable()} has any
-measure of reliability with instance objects.  For example:
+measure of reliability with instance objects.  For example:}
 
 \begin{verbatim}
 >>> class C:
@@ -245,28 +245,28 @@
 \begin{funcdesc}{isMappingType}{o}
 Returns true if the object \var{o} supports the mapping interface.
 This is true for dictionaries and all instance objects.
-\strong{Warning:} There is no reliable way to test if an instance
+\warning{There is no reliable way to test if an instance
 supports the complete mapping protocol since the interface itself is
 ill-defined.  This makes this test less useful than it otherwise might
-be.
+be.}
 \end{funcdesc}
 
 \begin{funcdesc}{isNumberType}{o}
 Returns true if the object \var{o} represents a number.  This is true
 for all numeric types implemented in C, and for all instance objects.
-\strong{Warning:}  There is no reliable way to test if an instance
+\warning{There is no reliable way to test if an instance
 supports the complete numeric interface since the interface itself is
 ill-defined.  This makes this test less useful than it otherwise might
-be.
+be.}
 \end{funcdesc}
 
 \begin{funcdesc}{isSequenceType}{o}
 Returns true if the object \var{o} supports the sequence protocol.
 This returns true for all objects which define sequence methods in C,
-and for all instance objects.  \strong{Warning:} There is no reliable
+and for all instance objects.  \warning{There is no reliable
 way to test if an instance supports the complete sequence interface
 since the interface itself is ill-defined.  This makes this test less
-useful than it otherwise might be.
+useful than it otherwise might be.}
 \end{funcdesc}
 
 
diff --git a/Doc/lib/libpanel.tex b/Doc/lib/libpanel.tex
index d91ec8f..f2db0b0 100644
--- a/Doc/lib/libpanel.tex
+++ b/Doc/lib/libpanel.tex
@@ -25,12 +25,11 @@
 It returns a list of panel objects.
 \end{funcdesc}
 
-\strong{Warning:}
-the Python interpreter will dump core if you don't create a GL window
-before calling
+\warning{The Python interpreter will dump core if you don't create a
+GL window before calling
 \code{panel.mkpanel()}
 or
-\code{panel.defpanellist()}.
+\code{panel.defpanellist()}.}
 
 \section{\module{panelparser} ---
          None}
@@ -69,9 +68,7 @@
 but redefines
 \code{pnl.dopanel()}.
 
-\strong{Warning:}
-the Python interpreter will dump core if you don't create a GL window
-before calling
-\code{pnl.mkpanel()}.
+\warning{The Python interpreter will dump core if you don't create a
+GL window before calling \code{pnl.mkpanel()}.}
 
 The module is too large to document here in its entirety.
diff --git a/Doc/lib/libpickle.tex b/Doc/lib/libpickle.tex
index 3107114..8885ade 100644
--- a/Doc/lib/libpickle.tex
+++ b/Doc/lib/libpickle.tex
@@ -30,13 +30,13 @@
 to pickle and unpickle objects on DBM-style database files.
 
 
-\strong{Note:} The \module{pickle} module is rather slow.  A
+\note{The \module{pickle} module is rather slow.  A
 reimplementation of the same algorithm in C, which is up to 1000 times
 faster, is available as the
 \refmodule{cPickle}\refbimodindex{cPickle} module.  This has the same
 interface except that \class{Pickler} and \class{Unpickler} are
 factory functions, not classes (so they cannot be used as base classes
-for inheritance).
+for inheritance).}
 
 Although the \module{pickle} module can use the built-in module
 \refmodule{marshal}\refbimodindex{marshal} internally, it differs from 
@@ -110,11 +110,11 @@
 \setindexsubitem{(pickle protocol)}
 
 When a pickled class instance is unpickled, its \method{__init__()} method
-is normally \emph{not} invoked.  \strong{Note:} This is a deviation
+is normally \emph{not} invoked.  \note{This is a deviation
 from previous versions of this module; the change was introduced in
-Python 1.5b2.  The reason for the change is that in many cases it is
+Python 1.5.  The reason for the change is that in many cases it is
 desirable to have a constructor that requires arguments; it is a
-(minor) nuisance to have to provide a \method{__getinitargs__()} method.
+(minor) nuisance to have to provide a \method{__getinitargs__()} method.}
 
 If it is desirable that the \method{__init__()} method be called on
 unpickling, a class can define a method \method{__getinitargs__()},
diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex
index 9bbc336..5da3783 100644
--- a/Doc/lib/libposix.tex
+++ b/Doc/lib/libposix.tex
@@ -85,11 +85,11 @@
 export statements to the command string for \function{system()} or
 \function{popen()}.
 
-\strong{Note:} The \refmodule{os} module provides an alternate
+\note{The \refmodule{os} module provides an alternate
 implementation of \code{environ} which updates the environment on
 modification.  Note also that updating \code{os.environ} will render
 this dictionary obsolete.  Use of the \refmodule{os} for this is
-recommended over direct access to the \module{posix} module.
+recommended over direct access to the \module{posix} module.}
 \end{datadesc}
 
 Additional contents of this module should only be accessed via the
diff --git a/Doc/lib/libposixfile.tex b/Doc/lib/libposixfile.tex
index d3445f7..cbfcf73 100644
--- a/Doc/lib/libposixfile.tex
+++ b/Doc/lib/libposixfile.tex
@@ -11,10 +11,10 @@
 
 \indexii{\POSIX{}}{file object}
 
-\strong{Note:} This module will become obsolete in a future release.
+\note{This module will become obsolete in a future release.
 The locking operation that it provides is done better and more
 portably by the \function{fcntl.lockf()} call.%
-\withsubitem{(in module fcntl)}{\ttindex{lockf()}}
+\withsubitem{(in module fcntl)}{\ttindex{lockf()}}}
 
 This module implements some additional functionality over the built-in
 file objects.  In particular, it implements file locking, control over
diff --git a/Doc/lib/libposixpath.tex b/Doc/lib/libposixpath.tex
index bc26ddd..1a5fd88 100644
--- a/Doc/lib/libposixpath.tex
+++ b/Doc/lib/libposixpath.tex
@@ -7,9 +7,9 @@
 This module implements some useful functions on pathnames.
 \index{path!operations}
 
-\strong{Warning:}  On Windows, many of these functions do not properly
+\warning{On Windows, many of these functions do not properly
 support UNC pathnames.  \function{splitunc()} and \function{ismount()}
-do handle them correctly.
+do handle them correctly.}
 
 
 \begin{funcdesc}{abspath}{path}
diff --git a/Doc/lib/libpwd.tex b/Doc/lib/libpwd.tex
index 784f478..ae2551b 100644
--- a/Doc/lib/libpwd.tex
+++ b/Doc/lib/libpwd.tex
@@ -24,13 +24,13 @@
 The uid and gid items are integers, all others are strings.
 \exception{KeyError} is raised if the entry asked for cannot be found.
 
-\strong{Note:} In traditional \UNIX{} the field \code{pw_passwd} usually
+\note{In traditional \UNIX{} the field \code{pw_passwd} usually
 contains a password encrypted with a DES derived algorithm (see module
 \refmodule{crypt}\refbimodindex{crypt}).  However most modern unices 
 use a so-called \emph{shadow password} system.  On those unices the
 field \code{pw_passwd} only contains a asterisk (\code{'*'}) or the 
 letter \character{x} where the encrypted password is stored in a file
-\file{/etc/shadow} which is not world readable.
+\file{/etc/shadow} which is not world readable.}
 
 It defines the following items:
 
diff --git a/Doc/lib/libre.tex b/Doc/lib/libre.tex
index 7ee1efd..1fba741 100644
--- a/Doc/lib/libre.tex
+++ b/Doc/lib/libre.tex
@@ -482,8 +482,8 @@
   match the pattern; note that this is different from a zero-length
   match.
 
-  \strong{Note:}  If you want to locate a match anywhere in
-  \var{string}, use \method{search()} instead.
+  \note{If you want to locate a match anywhere in
+  \var{string}, use \method{search()} instead.}
 \end{funcdesc}
 
 \begin{funcdesc}{split}{pattern, string\optional{, maxsplit\code{ = 0}}}
@@ -618,8 +618,8 @@
   match the pattern; note that this is different from a zero-length
   match.
 
-  \strong{Note:}  If you want to locate a match anywhere in
-  \var{string}, use \method{search()} instead.
+  \note{If you want to locate a match anywhere in
+  \var{string}, use \method{search()} instead.}
 
   The optional second parameter \var{pos} gives an index in the string
   where the search is to start; it defaults to \code{0}.  This is not
diff --git a/Doc/lib/librexec.tex b/Doc/lib/librexec.tex
index d5e2d02..6184a48 100644
--- a/Doc/lib/librexec.tex
+++ b/Doc/lib/librexec.tex
@@ -15,10 +15,10 @@
 only have access to modules and functions that are deemed safe; you
 can subclass \class{RExec} to add or remove capabilities as desired.
 
-\emph{Note:} The \class{RExec} class can prevent code from performing
+\note{The \class{RExec} class can prevent code from performing
 unsafe operations like reading or writing disk files, or using TCP/IP
 sockets.  However, it does not protect against code using extremely
-large amounts of memory or processor time.  
+large amounts of memory or processor time.}
 
 \begin{classdesc}{RExec}{\optional{hooks\optional{, verbose}}}
 Returns an instance of the \class{RExec} class.  
diff --git a/Doc/lib/libselect.tex b/Doc/lib/libselect.tex
index 9113460..937de76 100644
--- a/Doc/lib/libselect.tex
+++ b/Doc/lib/libselect.tex
@@ -58,10 +58,10 @@
 You may also define a \dfn{wrapper} class yourself, as long as it has
 an appropriate \method{fileno()} method (that really returns a file
 descriptor, not just a random integer).
-\strong{Note:}\index{WinSock}  File objects on Windows are not
-acceptable, but sockets are.  On Windows, the underlying
-\cfunction{select()} function is provided by the WinSock library, and
-does not handle file desciptors that don't originate from WinSock.
+\note{File objects on Windows are not acceptable, but sockets
+are.\index{WinSock}  On Windows, the underlying \cfunction{select()}
+function is provided by the WinSock library, and does not handle file
+desciptors that don't originate from WinSock.}
 \end{funcdesc}
 
 \subsection{Polling Objects
diff --git a/Doc/lib/libsmtplib.tex b/Doc/lib/libsmtplib.tex
index 484ef1f..526b4a1 100644
--- a/Doc/lib/libsmtplib.tex
+++ b/Doc/lib/libsmtplib.tex
@@ -99,12 +99,10 @@
 \begin{methoddesc}{connect}{\optional{host\optional{, port}}}
 Connect to a host on a given port.  The defaults are to connect to the 
 local host at the standard SMTP port (25).
-
 If the hostname ends with a colon (\character{:}) followed by a
 number, that suffix will be stripped off and the number interpreted as 
 the port number to use.
-
-Note:  This method is automatically invoked by the constructor if a
+This method is automatically invoked by the constructor if a
 host is specified during instantiation.
 \end{methoddesc}
 
@@ -157,7 +155,7 @@
 (including human name) if the user address is valid. Otherwise returns
 an SMTP error code of 400 or greater and an error string.
 
-Note: many sites disable SMTP \samp{VRFY} in order to foil spammers.
+\note{Many sites disable SMTP \samp{VRFY} in order to foil spammers.}
 \end{methoddesc}
 
 \begin{methoddesc}{login}{user, password}
@@ -199,9 +197,9 @@
 to use the low-level methods such as \method{mail}, \method{rcpt} and
 \method{data} to send the message.)
 
-\strong{Note:}  The \var{from_addr} and \var{to_addrs} parameters are
+\note{The \var{from_addr} and \var{to_addrs} parameters are
 used to construct the message envelope used by the transport agents.
-The \class{SMTP} does not modify the message headers in any way.
+The \class{SMTP} does not modify the message headers in any way.}
 
 If there has been no previous \samp{EHLO} or \samp{HELO} command this
 session, this method tries ESMTP \samp{EHLO} first. If the server does
diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex
index e8109eb..8fd624c 100644
--- a/Doc/lib/libsocket.tex
+++ b/Doc/lib/libsocket.tex
@@ -271,7 +271,7 @@
 key. \var{certfile} is a PEM formatted certificate chain file. On
 success, a new \class{SSLObject} is returned.
 
-\strong{Warning:} This does not do any certificate verification!
+\warning{This does not do any certificate verification!}
 \end{funcdesc}
 
 \begin{funcdesc}{fromfd}{fd, family, type\optional{, proto}}
@@ -373,10 +373,10 @@
 \begin{methoddesc}[socket]{bind}{address}
 Bind the socket to \var{address}.  The socket must not already be bound.
 (The format of \var{address} depends on the address family --- see
-above.)  \strong{Note:}  This method has historically accepted a pair
+above.)  \note{This method has historically accepted a pair
 of parameters for \constant{AF_INET} addresses instead of only a
 tuple.  This was never intentional and is no longer be available in
-Python 2.0.
+Python 2.0.}
 \end{methoddesc}
 
 \begin{methoddesc}[socket]{close}{}
@@ -388,10 +388,10 @@
 \begin{methoddesc}[socket]{connect}{address}
 Connect to a remote socket at \var{address}.
 (The format of \var{address} depends on the address family --- see
-above.)  \strong{Note:}  This method has historically accepted a pair
+above.)  \note{This method has historically accepted a pair
 of parameters for \constant{AF_INET} addresses instead of only a
 tuple.  This was never intentional and is no longer available in
-Python 2.0 and later.
+Python 2.0 and later.}
 \end{methoddesc}
 
 \begin{methoddesc}[socket]{connect_ex}{address}
@@ -401,10 +401,10 @@
 can still raise exceptions).  The error indicator is \code{0} if the
 operation succeeded, otherwise the value of the \cdata{errno}
 variable.  This is useful, e.g., for asynchronous connects.
-\strong{Note:}  This method has historically accepted a pair of
+\note{This method has historically accepted a pair of
 parameters for \constant{AF_INET} addresses instead of only a tuple.
 This was never intentional and is no longer be available in Python
-2.0 and later.
+2.0 and later.}
 \end{methoddesc}
 
 \begin{methoddesc}[socket]{fileno}{}
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index b06cd5e..ef1cf8c 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -1215,8 +1215,8 @@
 
 \begin{methoddesc}[file]{isatty}{}
   Return true if the file is connected to a tty(-like) device, else
-  false.  \strong{Note:} If a file-like object is not associated
-  with a real file, this method should \emph{not} be implemented.
+  false.  \note{If a file-like object is not associated
+  with a real file, this method should \emph{not} be implemented.}
 \end{methoddesc}
 
 \begin{methoddesc}[file]{fileno}{}
@@ -1227,9 +1227,9 @@
   operating system.  This can be useful for other, lower level
   interfaces that use file descriptors, such as the
   \refmodule{fcntl}\refbimodindex{fcntl} module or
-  \function{os.read()} and friends.  \strong{Note:} File-like objects
+  \function{os.read()} and friends.  \note{File-like objects
   which do not have a real file descriptor should \emph{not} provide
-  this method!
+  this method!}
 \end{methoddesc}
 
 \begin{methoddesc}[file]{read}{\optional{size}}
@@ -1258,9 +1258,9 @@
   non-negative, it is a maximum byte count (including the trailing
   newline) and an incomplete line may be returned.
   An empty string is returned when \EOF{} is hit
-  immediately.  Note: Unlike \code{stdio}'s \cfunction{fgets()}, the
+  immediately.  \note{Unlike \code{stdio}'s \cfunction{fgets()}, the
   returned string contains null characters (\code{'\e 0'}) if they
-  occurred in the input.
+  occurred in the input.}
 \end{methoddesc}
 
 \begin{methoddesc}[file]{readlines}{\optional{sizehint}}
@@ -1307,7 +1307,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}[file]{write}{str}
-  Write a string to the file.  There is no return value.  Note: Due to
+  Write a string to the file.  There is no return value.  Due to
   buffering, the string may not actually show up in the file until
   the \method{flush()} or \method{close()} method is called.
 \end{methoddesc}
@@ -1359,9 +1359,9 @@
 (care may be needed for objects that override attribute access); types
 implemented in C will have to provide a writable
 \member{softspace} attribute.
-\strong{Note:}  This attribute is not used to control the
+\note{This attribute is not used to control the
 \keyword{print} statement, but to allow the implementation of
-\keyword{print} to keep track of its internal state.
+\keyword{print} to keep track of its internal state.}
 \end{memberdesc}
 
 
diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex
index a77fb26..a75edf6 100644
--- a/Doc/lib/libstdwin.tex
+++ b/Doc/lib/libstdwin.tex
@@ -4,7 +4,7 @@
 the STDWIN library is available.  STDWIN runs on \UNIX{} under X11 and
 on the Macintosh.  See CWI report CS-R8817.
 
-\strong{Warning:} Using STDWIN is not recommended for new
+\warning{Using STDWIN is not recommended for new
 applications.  It has never been ported to Microsoft Windows or
 Windows NT, and for X11 or the Macintosh it lacks important
 functionality --- in particular, it has no tools for the construction
@@ -12,7 +12,7 @@
 (though none are currently documented in this manual): Tkinter for
 \UNIX{} under X11, native Xt with Motif or Athena widgets for \UNIX{}
 under X11, Win32 for Windows and Windows NT, and a collection of
-native toolkit interfaces for the Macintosh.
+native toolkit interfaces for the Macintosh.}
 
 
 \section{\module{stdwin} ---
@@ -175,8 +175,8 @@
 Methods of menu objects are described below.
 Note: normally, menus are created locally; see the window method
 \method{menucreate()} below.
-\strong{Warning:} the menu only appears in a window as long as the object
-returned by this call exists.
+\warning{The menu only appears in a window as long as the object
+returned by this call exists.}
 \end{funcdesc}
 
 \begin{funcdesc}{newbitmap}{width, height}
@@ -337,8 +337,8 @@
 Create a menu object referring to a local menu (a menu that appears
 only in this window).
 Methods of menu objects are described below.
-\strong{Warning:} the menu only appears as long as the object
-returned by this call exists.
+\warning{The menu only appears as long as the object
+returned by this call exists.}
 \end{methoddesc}
 
 \begin{methoddesc}[window]{scroll}{rect, point}
diff --git a/Doc/lib/libstring.tex b/Doc/lib/libstring.tex
index 7e74c18..5f71ec8 100644
--- a/Doc/lib/libstring.tex
+++ b/Doc/lib/libstring.tex
@@ -100,11 +100,11 @@
   this behaves identical to the built-in function
   \function{float()}\bifuncindex{float} when passed a string.
 
-  \strong{Note:} When passing in a string, values for NaN\index{NaN}
+  \note{When passing in a string, values for NaN\index{NaN}
   and Infinity\index{Infinity} may be returned, depending on the
   underlying C library.  The specific set of strings accepted which
   cause these values to be returned depends entirely on the C library
-  and is known to vary.
+  and is known to vary.}
 \end{funcdesc}
 
 \begin{funcdesc}{atoi}{s\optional{, base}}
@@ -194,10 +194,10 @@
   each character in \var{from} into the character at the same position
   in \var{to}; \var{from} and \var{to} must have the same length.
 
-  \strong{Warning:} don't use strings derived from \constant{lowercase}
+  \warning{Don't use strings derived from \constant{lowercase}
   and \constant{uppercase} as arguments; in some locales, these don't have
   the same length.  For case conversions, always use
-  \function{lower()} and \function{upper()}.
+  \function{lower()} and \function{upper()}.}
 \end{funcdesc}
 
 \begin{funcdesc}{split}{s\optional{, sep\optional{, maxsplit}}}
diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex
index 09891e0..4059e02 100644
--- a/Doc/lib/libsys.tex
+++ b/Doc/lib/libsys.tex
@@ -99,7 +99,7 @@
   encapsulates the call stack at the point where the exception
   originally occurred.  \obindex{traceback}
 
-  \strong{Warning:} assigning the \var{traceback} return value to a
+  \warning{Assigning the \var{traceback} return value to a
   local variable in a function that is handling an exception will
   cause a circular reference.  This will prevent anything referenced
   by a local variable in the same function or by the traceback from
@@ -109,7 +109,7 @@
   exception type and value.  If you do need the traceback, make sure
   to delete it after use (best done with a \keyword{try}
   ... \keyword{finally} statement) or to call \function{exc_info()} in
-  a function that does not itself handle an exception.
+  a function that does not itself handle an exception.}
 \end{funcdesc}
 
 \begin{datadesc}{exc_type}
@@ -169,9 +169,9 @@
   function will be called when the interpreter exits.  Only one
   function may be installed in this way; to allow multiple functions
   which will be called at termination, use the \refmodule{atexit}
-  module.  Note: the exit function is not called when the program is
+  module.  \note{The exit function is not called when the program is
   killed by a signal, when a Python fatal internal error is detected,
-  or when \code{os._exit()} is called.
+  or when \code{os._exit()} is called.}
 \end{datadesc}
 
 \begin{funcdesc}{getdefaultencoding}{}
diff --git a/Doc/lib/libtabnanny.tex b/Doc/lib/libtabnanny.tex
index 238b3b5..7985d9e 100644
--- a/Doc/lib/libtabnanny.tex
+++ b/Doc/lib/libtabnanny.tex
@@ -14,8 +14,8 @@
 However it is possible to import it into an IDE and use the function
 \function{check()} described below.
 
-\strong{Warning:}  The API provided by this module is likely to change 
-in future releases; such changes may not be backward compatible.
+\warning{The API provided by this module is likely to change 
+in future releases; such changes may not be backward compatible.}
 
 \begin{funcdesc}{check}{file_or_dir}
   If \var{file_or_dir} is a directory and not a symbolic link, then
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index d28e863..81d1352 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -120,8 +120,9 @@
 Convert a tuple representing a time as returned by \function{gmtime()}
 or \function{localtime()} to a 24-character string of the following form:
 \code{'Sun Jun 20 23:21:05 1993'}.  If \var{tuple} is not provided, the
-current time as returned by \function{localtime()} is used.  Note: unlike
-the C function of the same name, there is no trailing newline.
+current time as returned by \function{localtime()} is used.
+\note{Unlike the C function of the same name, there is no trailing
+newline.}
 \versionchanged[Allowed \var{tuple} to be omitted]{2.1}
 \end{funcdesc}
 
@@ -276,10 +277,10 @@
 values; the specific values are platform-dependent as the XPG standard
 does not provide sufficient information to constrain the result.
 
-\strong{Note:} This function relies entirely on the underlying
+\note{This function relies entirely on the underlying
 platform's C library for the date parsing, and some of these libraries
 are buggy.  There's nothing to be done about this short of a new,
-portable implementation of \cfunction{strptime()}.
+portable implementation of \cfunction{strptime()}.}
 
 Availability: Most modern \UNIX{} systems.
 \end{funcdesc}
diff --git a/Doc/lib/libunittest.tex b/Doc/lib/libunittest.tex
index 0bc3b25..06d76af 100644
--- a/Doc/lib/libunittest.tex
+++ b/Doc/lib/libunittest.tex
@@ -345,9 +345,9 @@
                                      tearDown=deleteSomethingDB)
 \end{verbatim}
 
-\strong{Note:}  PyUnit supports the use of \exception{AssertionError}
+\note{PyUnit supports the use of \exception{AssertionError}
 as an indicator of test failure, but does not recommend it.  Future
-versions may treat \exception{AssertionError} differently.
+versions may treat \exception{AssertionError} differently.}
 
 
 \subsection{Classes and functions
@@ -708,12 +708,12 @@
   \class{TestCase} and creates an instance of the class for each test
   method defined for the class.
 
-  \strong{Warning:}  While using a hierarchy of
+  \warning{While using a hierarchy of
   \class{Testcase}-derived classes can be convenient in sharing
   fixtures and helper functions, defining test methods on base classes
   that are not intended to be instantiated directly does not play well
   with this method.  Doing so, however, can be useful when the
-  fixtures are different and defined in subclasses.
+  fixtures are different and defined in subclasses.}
 \end{methoddesc}
 
 \begin{methoddesc}[TestLoader]{loadTestsFromName}{name\optional{, module}}
diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex
index fb9524a..49cd3c6 100644
--- a/Doc/lib/liburllib.tex
+++ b/Doc/lib/liburllib.tex
@@ -213,12 +213,12 @@
 The parameters to the constructor are the same as those for
 \class{URLopener}.
 
-\strong{Note:}  When performing basic authentication, a
+\note{When performing basic authentication, a
 \class{FancyURLopener} instance calls its
 \method{prompt_user_passwd()} method.  The default implementation asks
 the users for the required information on the controlling terminal.  A
 subclass may override this method to support more appropriate behavior
-if needed.
+if needed.}
 \end{classdesc}
 
 Restrictions:
diff --git a/Doc/lib/liburllib2.tex b/Doc/lib/liburllib2.tex
index 0be3bbb..46d4f66 100644
--- a/Doc/lib/liburllib2.tex
+++ b/Doc/lib/liburllib2.tex
@@ -391,8 +391,8 @@
 
 \subsection{HTTPRedirectHandler Objects \label{http-redirect-handler}}
 
-\strong{Note:} 303 redirection is not supported by this version of 
-\module{urllib2}.
+\note{303 redirection is not supported by this version of 
+\module{urllib2}.}
 
 \begin{methoddesc}[HTTPRedirectHandler]{http_error_301}{req,
                                                   fp, code, msg, hdrs}
diff --git a/Doc/lib/libwhrandom.tex b/Doc/lib/libwhrandom.tex
index 41b0c83..c5df0ef 100644
--- a/Doc/lib/libwhrandom.tex
+++ b/Doc/lib/libwhrandom.tex
@@ -6,10 +6,10 @@
 
 \deprecated{2.1}{Use \refmodule{random} instead.}
 
-\strong{Note:}  This module was an implementation detail of the
+\note{This module was an implementation detail of the
 \refmodule{random} module in releases of Python prior to 2.1.  It is
 no longer used.  Please do not use this module directly; use
-\refmodule{random} instead.
+\refmodule{random} instead.}
 
 This module implements a Wichmann-Hill pseudo-random number generator
 class that is also named \class{whrandom}.  Instances of the
diff --git a/Doc/lib/libwinsound.tex b/Doc/lib/libwinsound.tex
index a176221..0418c74 100644
--- a/Doc/lib/libwinsound.tex
+++ b/Doc/lib/libwinsound.tex
@@ -21,10 +21,10 @@
   The \var{duration} parameter specifies the number of milliseconds the
   sound should last.  If the system is not
   able to beep the speaker, \exception{RuntimeError} is raised.
-  \strong{Note:}  Under Windows 95 and 98, the Windows \cfunction{Beep()}
+  \note{Under Windows 95 and 98, the Windows \cfunction{Beep()}
   function exists but is useless (it ignores its arguments).  In that
   case Python simulates it via direct port manipulation (added in version
-  2.1).  It's unknown whether that will work on all systems.
+  2.1).  It's unknown whether that will work on all systems.}
   \versionadded{1.6}
 \end{funcdesc}
 
@@ -85,9 +85,9 @@
   The \var{sound} parameter to \function{PlaySound()} is a memory
   image of a WAV file, as a string.
 
-  \strong{Note:}  This module does not support playing from a memory
+  \note{This module does not support playing from a memory
   image asynchronously, so a combination of this flag and
-  \constant{SND_ASYNC} will raise \exception{RuntimeError}.
+  \constant{SND_ASYNC} will raise \exception{RuntimeError}.}
 \end{datadesc}
 
 \begin{datadesc}{SND_PURGE}
diff --git a/Doc/lib/xmldom.tex b/Doc/lib/xmldom.tex
index 17e21c0..bf71800 100644
--- a/Doc/lib/xmldom.tex
+++ b/Doc/lib/xmldom.tex
@@ -274,11 +274,11 @@
 of proxy architecture (because more than one object can refer to the
 same node).
 
-\strong{Note:}  This is based on a proposed DOM Level 3 API which is
+\note{This is based on a proposed DOM Level 3 API which is
 still in the ``working draft'' stage, but this particular interface
 appears uncontroversial.  Changes from the W3C will not necessarily
 affect this method in the Python DOM interface (though any new W3C
-API for this would also be supported).
+API for this would also be supported).}
 \end{methoddesc}
 
 \begin{methoddesc}[Node]{appendChild}{newChild}
@@ -619,12 +619,12 @@
 The content of the text node as a string.
 \end{memberdesc}
 
-\strong{Note:}  The use of a \class{CDATASection} node does not
+\note{The use of a \class{CDATASection} node does not
 indicate that the node represents a complete CDATA marked section,
 only that the content of the node was part of a CDATA section.  A
 single CDATA section may be represented by more than one node in the
 document tree.  There is no way to determine whether two adjacent
-\class{CDATASection} nodes represent different CDATA marked sections.
+\class{CDATASection} nodes represent different CDATA marked sections.}
 
 
 \subsubsection{ProcessingInstruction Objects \label{dom-pi-objects}}
diff --git a/Doc/lib/xmlsaxhandler.tex b/Doc/lib/xmlsaxhandler.tex
index 8d9c519..5fb2f17 100644
--- a/Doc/lib/xmlsaxhandler.tex
+++ b/Doc/lib/xmlsaxhandler.tex
@@ -263,13 +263,13 @@
   \var{content} may be a Unicode string or a byte string; the
   \code{expat} reader module produces always Unicode strings.
 
-  \strong{Note:}  The earlier SAX 1 interface provided by the Python
+  \note{The earlier SAX 1 interface provided by the Python
   XML Special Interest Group used a more Java-like interface for this
   method.  Since most parsers used from Python did not take advantage
   of the older interface, the simpler signature was chosen to replace
   it.  To convert old code to the new interface, use \var{content}
   instead of slicing content with the old \var{offset} and
-  \var{length} parameters.
+  \var{length} parameters.}
 \end{methoddesc}
 
 \begin{methoddesc}[ContentHandler]{ignorableWhitespace}{}
