diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index f271d73..4ce6835 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -695,7 +695,7 @@
 
 * ``'store_true'`` and ``'store_false'`` - These are special cases of
   ``'store_const'`` using for storing the values ``True`` and ``False``
-  respectively.  In addition, they create default values of *False* and *True*
+  respectively.  In addition, they create default values of ``False`` and ``True``
   respectively.  For example::
 
     >>> parser = argparse.ArgumentParser()
diff --git a/Doc/library/cmath.rst b/Doc/library/cmath.rst
index 0a05686..fffdc9f 100644
--- a/Doc/library/cmath.rst
+++ b/Doc/library/cmath.rst
@@ -207,7 +207,7 @@
 
 .. function:: isinf(x)
 
-   Return *True* if the real or the imaginary part of x is positive
+   Return ``True`` if the real or the imaginary part of x is positive
    or negative infinity.
 
    .. versionadded:: 2.6
@@ -215,7 +215,7 @@
 
 .. function:: isnan(x)
 
-   Return *True* if the real or imaginary part of x is not a number (NaN).
+   Return ``True`` if the real or imaginary part of x is not a number (NaN).
 
    .. versionadded:: 2.6
 
diff --git a/Doc/library/shelve.rst b/Doc/library/shelve.rst
index 4058c34..657411f 100644
--- a/Doc/library/shelve.rst
+++ b/Doc/library/shelve.rst
@@ -35,7 +35,7 @@
    Because of Python semantics, a shelf cannot know when a mutable
    persistent-dictionary entry is modified.  By default modified objects are
    written *only* when assigned to the shelf (see :ref:`shelve-example`).  If the
-   optional *writeback* parameter is set to *True*, all entries accessed are also
+   optional *writeback* parameter is set to ``True``, all entries accessed are also
    cached in memory, and written back on :meth:`~Shelf.sync` and
    :meth:`~Shelf.close`; this can make it handier to mutate mutable entries in
    the persistent dictionary, but, if many entries are accessed, it can consume
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index 1bb3ac1..284cf44 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -320,8 +320,8 @@
    manner described in :ref:`converting-argument-sequence`.  This is because
    the underlying ``CreateProcess()`` operates on strings.
 
-   The *shell* argument (which defaults to *False*) specifies whether to use
-   the shell as the program to execute.  If *shell* is *True*, it is
+   The *shell* argument (which defaults to ``False``) specifies whether to use
+   the shell as the program to execute.  If *shell* is ``True``, it is
    recommended to pass *args* as a string rather than as a sequence.
 
    On Unix with ``shell=True``, the shell defaults to :file:`/bin/sh`.  If
diff --git a/Doc/library/urllib.rst b/Doc/library/urllib.rst
index bddcba9..69ef8f7 100644
--- a/Doc/library/urllib.rst
+++ b/Doc/library/urllib.rst
@@ -263,7 +263,7 @@
    two-element tuples is used as the *query* argument, the first element of
    each tuple is a key and the second is a value. The value element in itself
    can be a sequence and in that case, if the optional parameter *doseq* is
-   evaluates to *True*, individual ``key=value`` pairs separated by ``'&'`` are
+   evaluates to ``True``, individual ``key=value`` pairs separated by ``'&'`` are
    generated for each element of the value sequence for the key.  The order of
    parameters in the encoded string will match the order of parameter tuples in
    the sequence. The :mod:`urlparse` module provides the functions
