diff --git a/Doc/ext.tex b/Doc/ext.tex
index 911b824..71343a5 100644
--- a/Doc/ext.tex
+++ b/Doc/ext.tex
@@ -1303,9 +1303,10 @@
 
 \subsection{Shared Libraries}
 
-You must link the \samp{.o} file to produce a shared library.  This is
-done using a special invocation of the \UNIX{} loader/linker, {\em
-ld}(1).  Unfortunately the invocation differs slightly per system.
+You must link the \file{.o} file to produce a shared library.  This is 
+done using a special invocation of the \UNIX{} loader/linker,
+\emph{ld}(1).  Unfortunately the invocation differs slightly per
+system.
 
 On SunOS 4, use
 \bcode\begin{verbatim}
@@ -1336,7 +1337,7 @@
 
 \subsection{SGI IRIX 4 Dynamic Loading}
 
-{\bf IMPORTANT:} You must compile your extension module with the
+\strong{IMPORTANT:} You must compile your extension module with the
 additional \C{} flag \samp{-G0} (or \samp{-G 0}).  This instruct the
 assembler to generate position-independent code.
 
diff --git a/Doc/ext/ext.tex b/Doc/ext/ext.tex
index 911b824..71343a5 100644
--- a/Doc/ext/ext.tex
+++ b/Doc/ext/ext.tex
@@ -1303,9 +1303,10 @@
 
 \subsection{Shared Libraries}
 
-You must link the \samp{.o} file to produce a shared library.  This is
-done using a special invocation of the \UNIX{} loader/linker, {\em
-ld}(1).  Unfortunately the invocation differs slightly per system.
+You must link the \file{.o} file to produce a shared library.  This is 
+done using a special invocation of the \UNIX{} loader/linker,
+\emph{ld}(1).  Unfortunately the invocation differs slightly per
+system.
 
 On SunOS 4, use
 \bcode\begin{verbatim}
@@ -1336,7 +1337,7 @@
 
 \subsection{SGI IRIX 4 Dynamic Loading}
 
-{\bf IMPORTANT:} You must compile your extension module with the
+\strong{IMPORTANT:} You must compile your extension module with the
 additional \C{} flag \samp{-G0} (or \samp{-G 0}).  This instruct the
 assembler to generate position-independent code.
 
diff --git a/Doc/lib/libaudioop.tex b/Doc/lib/libaudioop.tex
index fb6c944..b700155 100644
--- a/Doc/lib/libaudioop.tex
+++ b/Doc/lib/libaudioop.tex
@@ -133,7 +133,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{max}{fragment\, width}
-Return the maximum of the {\em absolute value} of all samples in a
+Return the maximum of the \emph{absolute value} of all samples in a
 fragment.
 \end{funcdesc}
 
diff --git a/Doc/lib/libcopy.tex b/Doc/lib/libcopy.tex
index d07121e..60a5b42 100644
--- a/Doc/lib/libcopy.tex
+++ b/Doc/lib/libcopy.tex
@@ -25,13 +25,13 @@
 \begin{itemize}
 
 \item
-A {\em shallow copy} constructs a new compound object and then (to the
-extent possible) inserts {\em references} into it to the objects found
+A \emph{shallow copy} constructs a new compound object and then (to the
+extent possible) inserts \emph{references} into it to the objects found
 in the original.
 
 \item
-A {\em deep copy} constructs a new compound object and then,
-recursively, inserts {\em copies} into it of the objects found in the
+A \emph{deep copy} constructs a new compound object and then,
+recursively, inserts \emph{copies} into it of the objects found in the
 original.
 
 \end{itemize}
@@ -46,7 +46,7 @@
 contain a reference to themselves) may cause a recursive loop.
 
 \item
-Because deep copy copies {\em everything} it may copy too much, e.g.\
+Because deep copy copies \emph{everything} it may copy too much, e.g.\
 administrative data structures that should be shared even between
 copies.
 
diff --git a/Doc/lib/libcrypt.tex b/Doc/lib/libcrypt.tex
index d09a2a4..0ec6e80 100644
--- a/Doc/lib/libcrypt.tex
+++ b/Doc/lib/libcrypt.tex
@@ -2,7 +2,7 @@
 \label{module-crypt}
 \bimodindex{crypt}
 
-This module implements an interface to the crypt({\bf 3}) routine,
+This module implements an interface to the crypt(\strong{3}) routine,
 which is a one-way hash function based upon a modified DES algorithm;
 see the \UNIX{} man page for further details.  Possible uses include
 allowing Python scripts to accept typed passwords from the user, or
diff --git a/Doc/lib/libfm.tex b/Doc/lib/libfm.tex
index 6f1e685..3004235 100644
--- a/Doc/lib/libfm.tex
+++ b/Doc/lib/libfm.tex
@@ -2,7 +2,7 @@
 \label{module-fm}
 \bimodindex{fm}
 
-This module provides access to the IRIS {\em Font Manager} library.
+This module provides access to the IRIS \emph{Font Manager} library.
 It is available only on Silicon Graphics machines.
 See also: 4Sight User's Guide, Section 1, Chapter 5: Using the IRIS
 Font Manager.
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 36582da..6d1cbce 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -393,8 +393,8 @@
   \code{fopen()}: \var{filename} is the file name to be opened,
   \var{mode} indicates how the file is to be opened: \code{'r'} for
   reading, \code{'w'} for writing (truncating an existing file), and
-  \code{'a'} opens it for appending (which on {\em some} \UNIX{}
-  systems means that {\em all} writes append to the end of the file,
+  \code{'a'} opens it for appending (which on \emph{some} \UNIX{}
+  systems means that \emph{all} writes append to the end of the file,
   regardless of the current seek position).
   Modes \code{'r+'}, \code{'w+'} and
   \code{'a+'} open the file for updating, provided the underlying
diff --git a/Doc/lib/libgl.tex b/Doc/lib/libgl.tex
index 3445465..8aa57a0 100644
--- a/Doc/lib/libgl.tex
+++ b/Doc/lib/libgl.tex
@@ -3,7 +3,7 @@
 \bimodindex{gl}
 
 This module provides access to the Silicon Graphics
-{\em Graphics Library}.
+\emph{Graphics Library}.
 It is available only on Silicon Graphics machines.
 
 \strong{Warning:}
@@ -191,7 +191,7 @@
 \stmodindex{DEVICE}
 
 These modules define the constants used by the Silicon Graphics
-{\em Graphics Library}
+\emph{Graphics Library}
 that C programmers find in the header files
 \file{<gl/gl.h>}
 and
diff --git a/Doc/lib/libmarshal.tex b/Doc/lib/libmarshal.tex
index fa86c03..dc4ed98 100644
--- a/Doc/lib/libmarshal.tex
+++ b/Doc/lib/libmarshal.tex
@@ -34,7 +34,7 @@
 supported; and recursive lists and dictionaries should not be written
 (they will cause infinite loops).
 
-{\bf Caveat:} On machines where C's \code{long int} type has more than
+\strong{Caveat:} On machines where C's \code{long int} type has more than
 32 bits (such as the DEC Alpha), it
 is possible to create plain Python integers that are longer than 32
 bits.  Since the current \code{marshal} module uses 32 bits to
diff --git a/Doc/lib/libmpz.tex b/Doc/lib/libmpz.tex
index 9fb165b..2771d92 100644
--- a/Doc/lib/libmpz.tex
+++ b/Doc/lib/libmpz.tex
@@ -33,7 +33,7 @@
   method, described below.
 \end{funcdesc}
 
-A number of {\em extra} functions are defined in this module. Non
+A number of \emph{extra} functions are defined in this module. Non
 mpz-arguments are converted to mpz-values first, and the functions
 return mpz-numbers.
 
diff --git a/Doc/lib/libpanel.tex b/Doc/lib/libpanel.tex
index a696f30..f23fb7b 100644
--- a/Doc/lib/libpanel.tex
+++ b/Doc/lib/libpanel.tex
@@ -10,7 +10,7 @@
 This module should be used instead of the built-in module
 \code{pnl}
 to interface with the
-{\em Panel Library}.
+\emph{Panel Library}.
 
 The module is too large to document here in its entirety.
 One interesting function:
@@ -18,7 +18,7 @@
 \renewcommand{\indexsubitem}{(in module panel)}
 \begin{funcdesc}{defpanellist}{filename}
 Parses a panel description file containing S-expressions written by the
-{\em Panel Editor}
+\emph{Panel Editor}
 that accompanies the Panel Library and creates the described panels.
 It returns a list of panel objects.
 \end{funcdesc}
@@ -49,7 +49,7 @@
 \bimodindex{pnl}
 
 This module provides access to the
-{\em Panel Library}
+\emph{Panel Library}
 built by NASA Ames (to get it, send e-mail to
 {\tt panel-request@nas.nasa.gov}).
 All access to it should be done through the standard module
diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex
index fbd7832..16742c5 100644
--- a/Doc/lib/libposix.tex
+++ b/Doc/lib/libposix.tex
@@ -355,9 +355,9 @@
 \end{funcdesc}
 
 \begin{funcdesc}{stat}{path}
-Perform a {\em stat} system call on the given path.  The return value
+Perform a \emph{stat} system call on the given path.  The return value
 is a tuple of at least 10 integers giving the most important (and
-portable) members of the {\em stat} structure, in the order
+portable) members of the \emph{stat} structure, in the order
 \code{st_mode},
 \code{st_ino},
 \code{st_dev},
diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex
index 8dc7acf..a24263a 100644
--- a/Doc/lib/libsocket.tex
+++ b/Doc/lib/libsocket.tex
@@ -2,7 +2,7 @@
 \label{module-socket}
 
 \bimodindex{socket}
-This module provides access to the BSD {\em socket} interface.
+This module provides access to the BSD \emph{socket} interface.
 It is available on \UNIX{} systems that support this interface.
 
 For an introduction to socket programming (in C), see the following
diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex
index 91dc1af..39d6d6d 100644
--- a/Doc/lib/libstdwin.tex
+++ b/Doc/lib/libstdwin.tex
@@ -360,7 +360,7 @@
 Create a menu object referring to a local menu (a menu that appears
 only in this window).
 Methods of menu objects are described below.
-{\bf Warning:} the menu only appears as long as the object
+\strong{Warning:} the menu only appears as long as the object
 returned by this call exists.
 \end{funcdesc}
 
@@ -841,7 +841,7 @@
 \code{\var{left} >= \var{right}} or \code{\var{top} => \var{bottom}}.
 \else
 $\var{left} \geq \var{right}$ or $\var{top} \geq \var{bottom}$.
-%%JHXXX{\em left~$\geq$~right} or {\em top~$\leq$~bottom}.
+%%JHXXX\emph{left~$\geq$~right} or \emph{top~$\leq$~bottom}.
 \fi
 \end{funcdesc}
 
diff --git a/Doc/lib/libstrio.tex b/Doc/lib/libstrio.tex
index 1241e18..26fdda1 100644
--- a/Doc/lib/libstrio.tex
+++ b/Doc/lib/libstrio.tex
@@ -4,7 +4,7 @@
 \stmodindex{StringIO}
 
 This module implements a file-like class, \code{StringIO},
-that reads and writes a string buffer (also known as {\em memory
+that reads and writes a string buffer (also known as \emph{memory
 files}). See the description on file objects for operations.
 
 When a \code{StringIO} object is created, it can be initialized
diff --git a/Doc/lib/libthread.tex b/Doc/lib/libthread.tex
index 4f5497a..edf21f3 100644
--- a/Doc/lib/libthread.tex
+++ b/Doc/lib/libthread.tex
@@ -81,7 +81,7 @@
 thread, 0 if not.
 \end{funcdesc}
 
-{\bf Caveats:}
+\strong{Caveats:}
 
 \begin{itemize}
 \item
diff --git a/Doc/libaudioop.tex b/Doc/libaudioop.tex
index fb6c944..b700155 100644
--- a/Doc/libaudioop.tex
+++ b/Doc/libaudioop.tex
@@ -133,7 +133,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{max}{fragment\, width}
-Return the maximum of the {\em absolute value} of all samples in a
+Return the maximum of the \emph{absolute value} of all samples in a
 fragment.
 \end{funcdesc}
 
diff --git a/Doc/libcopy.tex b/Doc/libcopy.tex
index d07121e..60a5b42 100644
--- a/Doc/libcopy.tex
+++ b/Doc/libcopy.tex
@@ -25,13 +25,13 @@
 \begin{itemize}
 
 \item
-A {\em shallow copy} constructs a new compound object and then (to the
-extent possible) inserts {\em references} into it to the objects found
+A \emph{shallow copy} constructs a new compound object and then (to the
+extent possible) inserts \emph{references} into it to the objects found
 in the original.
 
 \item
-A {\em deep copy} constructs a new compound object and then,
-recursively, inserts {\em copies} into it of the objects found in the
+A \emph{deep copy} constructs a new compound object and then,
+recursively, inserts \emph{copies} into it of the objects found in the
 original.
 
 \end{itemize}
@@ -46,7 +46,7 @@
 contain a reference to themselves) may cause a recursive loop.
 
 \item
-Because deep copy copies {\em everything} it may copy too much, e.g.\
+Because deep copy copies \emph{everything} it may copy too much, e.g.\
 administrative data structures that should be shared even between
 copies.
 
diff --git a/Doc/libcrypt.tex b/Doc/libcrypt.tex
index d09a2a4..0ec6e80 100644
--- a/Doc/libcrypt.tex
+++ b/Doc/libcrypt.tex
@@ -2,7 +2,7 @@
 \label{module-crypt}
 \bimodindex{crypt}
 
-This module implements an interface to the crypt({\bf 3}) routine,
+This module implements an interface to the crypt(\strong{3}) routine,
 which is a one-way hash function based upon a modified DES algorithm;
 see the \UNIX{} man page for further details.  Possible uses include
 allowing Python scripts to accept typed passwords from the user, or
diff --git a/Doc/libctb.tex b/Doc/libctb.tex
index 073c649..c9756d1 100644
--- a/Doc/libctb.tex
+++ b/Doc/libctb.tex
@@ -54,7 +54,7 @@
 asynchronously, with the callback routine being called upon
 completion.
 
-{\em Note:} for reasons beyond my understanding the callback routine
+\emph{Note:} for reasons beyond my understanding the callback routine
 is currently never called. You are advised against using asynchronous
 calls for the time being.
 \end{datadesc}
diff --git a/Doc/libfm.tex b/Doc/libfm.tex
index 6f1e685..3004235 100644
--- a/Doc/libfm.tex
+++ b/Doc/libfm.tex
@@ -2,7 +2,7 @@
 \label{module-fm}
 \bimodindex{fm}
 
-This module provides access to the IRIS {\em Font Manager} library.
+This module provides access to the IRIS \emph{Font Manager} library.
 It is available only on Silicon Graphics machines.
 See also: 4Sight User's Guide, Section 1, Chapter 5: Using the IRIS
 Font Manager.
diff --git a/Doc/libfuncs.tex b/Doc/libfuncs.tex
index 36582da..6d1cbce 100644
--- a/Doc/libfuncs.tex
+++ b/Doc/libfuncs.tex
@@ -393,8 +393,8 @@
   \code{fopen()}: \var{filename} is the file name to be opened,
   \var{mode} indicates how the file is to be opened: \code{'r'} for
   reading, \code{'w'} for writing (truncating an existing file), and
-  \code{'a'} opens it for appending (which on {\em some} \UNIX{}
-  systems means that {\em all} writes append to the end of the file,
+  \code{'a'} opens it for appending (which on \emph{some} \UNIX{}
+  systems means that \emph{all} writes append to the end of the file,
   regardless of the current seek position).
   Modes \code{'r+'}, \code{'w+'} and
   \code{'a+'} open the file for updating, provided the underlying
diff --git a/Doc/libgl.tex b/Doc/libgl.tex
index 3445465..8aa57a0 100644
--- a/Doc/libgl.tex
+++ b/Doc/libgl.tex
@@ -3,7 +3,7 @@
 \bimodindex{gl}
 
 This module provides access to the Silicon Graphics
-{\em Graphics Library}.
+\emph{Graphics Library}.
 It is available only on Silicon Graphics machines.
 
 \strong{Warning:}
@@ -191,7 +191,7 @@
 \stmodindex{DEVICE}
 
 These modules define the constants used by the Silicon Graphics
-{\em Graphics Library}
+\emph{Graphics Library}
 that C programmers find in the header files
 \file{<gl/gl.h>}
 and
diff --git a/Doc/libmarshal.tex b/Doc/libmarshal.tex
index fa86c03..dc4ed98 100644
--- a/Doc/libmarshal.tex
+++ b/Doc/libmarshal.tex
@@ -34,7 +34,7 @@
 supported; and recursive lists and dictionaries should not be written
 (they will cause infinite loops).
 
-{\bf Caveat:} On machines where C's \code{long int} type has more than
+\strong{Caveat:} On machines where C's \code{long int} type has more than
 32 bits (such as the DEC Alpha), it
 is possible to create plain Python integers that are longer than 32
 bits.  Since the current \code{marshal} module uses 32 bits to
diff --git a/Doc/libmpz.tex b/Doc/libmpz.tex
index 9fb165b..2771d92 100644
--- a/Doc/libmpz.tex
+++ b/Doc/libmpz.tex
@@ -33,7 +33,7 @@
   method, described below.
 \end{funcdesc}
 
-A number of {\em extra} functions are defined in this module. Non
+A number of \emph{extra} functions are defined in this module. Non
 mpz-arguments are converted to mpz-values first, and the functions
 return mpz-numbers.
 
diff --git a/Doc/libpanel.tex b/Doc/libpanel.tex
index a696f30..f23fb7b 100644
--- a/Doc/libpanel.tex
+++ b/Doc/libpanel.tex
@@ -10,7 +10,7 @@
 This module should be used instead of the built-in module
 \code{pnl}
 to interface with the
-{\em Panel Library}.
+\emph{Panel Library}.
 
 The module is too large to document here in its entirety.
 One interesting function:
@@ -18,7 +18,7 @@
 \renewcommand{\indexsubitem}{(in module panel)}
 \begin{funcdesc}{defpanellist}{filename}
 Parses a panel description file containing S-expressions written by the
-{\em Panel Editor}
+\emph{Panel Editor}
 that accompanies the Panel Library and creates the described panels.
 It returns a list of panel objects.
 \end{funcdesc}
@@ -49,7 +49,7 @@
 \bimodindex{pnl}
 
 This module provides access to the
-{\em Panel Library}
+\emph{Panel Library}
 built by NASA Ames (to get it, send e-mail to
 {\tt panel-request@nas.nasa.gov}).
 All access to it should be done through the standard module
diff --git a/Doc/libposix.tex b/Doc/libposix.tex
index fbd7832..16742c5 100644
--- a/Doc/libposix.tex
+++ b/Doc/libposix.tex
@@ -355,9 +355,9 @@
 \end{funcdesc}
 
 \begin{funcdesc}{stat}{path}
-Perform a {\em stat} system call on the given path.  The return value
+Perform a \emph{stat} system call on the given path.  The return value
 is a tuple of at least 10 integers giving the most important (and
-portable) members of the {\em stat} structure, in the order
+portable) members of the \emph{stat} structure, in the order
 \code{st_mode},
 \code{st_ino},
 \code{st_dev},
diff --git a/Doc/libsocket.tex b/Doc/libsocket.tex
index 8dc7acf..a24263a 100644
--- a/Doc/libsocket.tex
+++ b/Doc/libsocket.tex
@@ -2,7 +2,7 @@
 \label{module-socket}
 
 \bimodindex{socket}
-This module provides access to the BSD {\em socket} interface.
+This module provides access to the BSD \emph{socket} interface.
 It is available on \UNIX{} systems that support this interface.
 
 For an introduction to socket programming (in C), see the following
diff --git a/Doc/libstdwin.tex b/Doc/libstdwin.tex
index 91dc1af..39d6d6d 100644
--- a/Doc/libstdwin.tex
+++ b/Doc/libstdwin.tex
@@ -360,7 +360,7 @@
 Create a menu object referring to a local menu (a menu that appears
 only in this window).
 Methods of menu objects are described below.
-{\bf Warning:} the menu only appears as long as the object
+\strong{Warning:} the menu only appears as long as the object
 returned by this call exists.
 \end{funcdesc}
 
@@ -841,7 +841,7 @@
 \code{\var{left} >= \var{right}} or \code{\var{top} => \var{bottom}}.
 \else
 $\var{left} \geq \var{right}$ or $\var{top} \geq \var{bottom}$.
-%%JHXXX{\em left~$\geq$~right} or {\em top~$\leq$~bottom}.
+%%JHXXX\emph{left~$\geq$~right} or \emph{top~$\leq$~bottom}.
 \fi
 \end{funcdesc}
 
diff --git a/Doc/libstrio.tex b/Doc/libstrio.tex
index 1241e18..26fdda1 100644
--- a/Doc/libstrio.tex
+++ b/Doc/libstrio.tex
@@ -4,7 +4,7 @@
 \stmodindex{StringIO}
 
 This module implements a file-like class, \code{StringIO},
-that reads and writes a string buffer (also known as {\em memory
+that reads and writes a string buffer (also known as \emph{memory
 files}). See the description on file objects for operations.
 
 When a \code{StringIO} object is created, it can be initialized
diff --git a/Doc/libthread.tex b/Doc/libthread.tex
index 4f5497a..edf21f3 100644
--- a/Doc/libthread.tex
+++ b/Doc/libthread.tex
@@ -81,7 +81,7 @@
 thread, 0 if not.
 \end{funcdesc}
 
-{\bf Caveats:}
+\strong{Caveats:}
 
 \begin{itemize}
 \item
diff --git a/Doc/mac/libctb.tex b/Doc/mac/libctb.tex
index 073c649..c9756d1 100644
--- a/Doc/mac/libctb.tex
+++ b/Doc/mac/libctb.tex
@@ -54,7 +54,7 @@
 asynchronously, with the callback routine being called upon
 completion.
 
-{\em Note:} for reasons beyond my understanding the callback routine
+\emph{Note:} for reasons beyond my understanding the callback routine
 is currently never called. You are advised against using asynchronous
 calls for the time being.
 \end{datadesc}
diff --git a/Doc/tut.tex b/Doc/tut.tex
index f59e103..976d2d9 100644
--- a/Doc/tut.tex
+++ b/Doc/tut.tex
@@ -3156,7 +3156,7 @@
         self.__vdict[name] = value
 \end{verbatim}
 
-%{\em Warning: this is an experimental feature.}  To avoid all
+%\emph{Warning: this is an experimental feature.}  To avoid all
 %potential problems, refrain from using identifiers starting with
 %double underscore except for predefined uses like \code{__init__}.  To
 %use private names while maintaining future compatibility: refrain from
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index f59e103..976d2d9 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -3156,7 +3156,7 @@
         self.__vdict[name] = value
 \end{verbatim}
 
-%{\em Warning: this is an experimental feature.}  To avoid all
+%\emph{Warning: this is an experimental feature.}  To avoid all
 %potential problems, refrain from using identifiers starting with
 %double underscore except for predefined uses like \code{__init__}.  To
 %use private names while maintaining future compatibility: refrain from
