diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 5027a04..9d181b1 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -141,7 +141,7 @@
   If a class method is called for a derived class, the derived class
   object is passed as the implied first argument.
 
-  Class methods are different than C++ or Java static methods.
+  Class methods are different than \Cpp{} or Java static methods.
   If you want those, see \function{staticmethod()} in this section.
   \versionadded{2.2}
 \end{funcdesc}
@@ -446,10 +446,10 @@
   function is assumed, that is, all elements of \var{list} that are false
   (zero or empty) are removed.
 
-  Note that \code{filter(function, list)} equals
-  \code{[item for item in list if function(item)]} if function is not
-  \code{None} and \code{[item for item in list if item]} if function is
-  None.
+  Note that \code{filter(function, \var{list})} is equivalent to
+  \code{[item for item in \var{list} if function(item)]} if function is
+  not \code{None} and \code{[item for item in \var{list} if item]} if
+  function is \code{None}.
 \end{funcdesc}
 
 \begin{funcdesc}{float}{\optional{x}}
@@ -890,7 +890,7 @@
 \begin{funcdesc}{slice}{\optional{start,} stop\optional{, step}}
   Return a slice object representing the set of indices specified by
   \code{range(\var{start}, \var{stop}, \var{step})}.  The \var{start}
-  and \var{step} arguments default to None.  Slice objects have
+  and \var{step} arguments default to \code{None}.  Slice objects have
   read-only data attributes \member{start}, \member{stop} and
   \member{step} which merely return the argument values (or their
   default).  They have no other explicit functionality; however they
@@ -928,7 +928,8 @@
   The \var{sequence}'s items are normally numbers, and are not allowed
   to be strings.  The fast, correct way to concatenate sequence of
   strings is by calling \code{''.join(\var{sequence})}.
-  Note that \code{sum(range(n), m)} equals \code{reduce(operator.add, range(n), m)}
+  Note that \code{sum(range(\var{n}), \var{m})} is equivalent to
+  \code{reduce(operator.add, range(\var{n}), \var{m})}
   \versionadded{2.3}
 \end{funcdesc}
 
diff --git a/Doc/lib/libgettext.tex b/Doc/lib/libgettext.tex
index 3aa31d2..e98d9f6 100644
--- a/Doc/lib/libgettext.tex
+++ b/Doc/lib/libgettext.tex
@@ -446,7 +446,7 @@
 scans all your Python source code looking for the strings you
 previously marked as translatable.  It is similar to the GNU
 \program{gettext} program except that it understands all the
-intricacies of Python source code, but knows nothing about C or C++
+intricacies of Python source code, but knows nothing about C or \Cpp
 source code.  You don't need GNU \code{gettext} unless you're also
 going to be translating C code (such as C extension modules).
 
diff --git a/Doc/lib/libmsvcrt.tex b/Doc/lib/libmsvcrt.tex
index b0fed81..7e0f784 100644
--- a/Doc/lib/libmsvcrt.tex
+++ b/Doc/lib/libmsvcrt.tex
@@ -1,9 +1,9 @@
 \section{\module{msvcrt} --
-         Useful routines from the MS VC++ runtime}
+         Useful routines from the MS V\Cpp{} runtime}
 
 \declaremodule{builtin}{msvcrt}
   \platform{Windows}
-\modulesynopsis{Miscellaneous useful routines from the MS VC++ runtime.}
+\modulesynopsis{Miscellaneous useful routines from the MS V\Cpp{} runtime.}
 \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
 
 
