diff --git a/Doc/documenting/building.rst b/Doc/documenting/building.rst
index 9ab2519..19cf26b 100644
--- a/Doc/documenting/building.rst
+++ b/Doc/documenting/building.rst
@@ -16,9 +16,9 @@
 
    make html
 
-to check out the necessary toolset in the `tools/` subdirectory and build the
-HTML output files.  To view the generated HTML, point your favorite browser at
-the top-level index `build/html/index.html` after running "make".
+to check out the necessary toolset in the :file:`tools/` subdirectory and build
+the HTML output files.  To view the generated HTML, point your favorite browser
+at the top-level index :file:`build/html/index.html` after running "make".
 
 Available make targets are:
 
@@ -49,10 +49,10 @@
 
  * "pydoc-topics", which builds a Python module containing a dictionary with
    plain text documentation for the labels defined in
-   `tools/sphinxext/pyspecific.py` -- pydoc needs these to show topic and
+   :file:`tools/sphinxext/pyspecific.py` -- pydoc needs these to show topic and
    keyword help.
 
-A "make update" updates the Subversion checkouts in `tools/`.
+A "make update" updates the Subversion checkouts in :file:`tools/`.
 
 
 Without make
diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst
index e17e589..a7a2c39 100644
--- a/Doc/library/concurrent.futures.rst
+++ b/Doc/library/concurrent.futures.rst
@@ -283,12 +283,12 @@
        before executing the work associated with the :class:`Future` and by unit
        tests.
 
-       If the method returns `False` then the :class:`Future` was cancelled,
+       If the method returns ``False`` then the :class:`Future` was cancelled,
        i.e. :meth:`Future.cancel` was called and returned `True`.  Any threads
        waiting on the :class:`Future` completing (i.e. through
        :func:`as_completed` or :func:`wait`) will be woken up.
 
-       If the method returns `True` then the :class:`Future` was not cancelled
+       If the method returns ``True`` then the :class:`Future` was not cancelled
        and has been put in the running state, i.e. calls to
        :meth:`Future.running` will return `True`.
 
diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst
index 954f175..002f36f 100644
--- a/Doc/library/email.generator.rst
+++ b/Doc/library/email.generator.rst
@@ -99,7 +99,7 @@
 
    This class has the same API as the :class:`Generator` class, except that
    *outfp* must be a file like object that will accept :class`bytes` input to
-   its `write` method.  If the message object structure contains non-ASCII
+   its ``write`` method.  If the message object structure contains non-ASCII
    bytes, this generator's :meth:`~BytesGenerator.flatten` method will produce
    them as-is, including preserving parts with a
    :mailheader:`Content-Transfer-Encoding` of ``8bit``.
diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index ddf4d4b..4530b95 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -111,8 +111,8 @@
 
 * Given bytes input to the model, :meth:`~email.message.Message.get_payload`
   will by default decode a message body that has a
-  :mailheader:`Content-Transfer-Encoding` of `8bit` using the charset specified
-  in the MIME headers and return the resulting string.
+  :mailheader:`Content-Transfer-Encoding` of ``8bit`` using the charset
+  specified in the MIME headers and return the resulting string.
 
 * Given bytes input to the model, :class:`~email.generator.Generator` will
   convert message bodies that have a :mailheader:`Content-Transfer-Encoding` of
diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst
index 9e6ea85..aa9921e 100644
--- a/Doc/library/struct.rst
+++ b/Doc/library/struct.rst
@@ -21,8 +21,8 @@
    alignment is taken into account when unpacking.  This behavior is chosen so
    that the bytes of a packed struct correspond exactly to the layout in memory
    of the corresponding C struct.  To handle platform-independent data formats
-   or omit implicit pad bytes, use `standard` size and alignment instead of
-   `native` size and alignment: see :ref:`struct-alignment` for details.
+   or omit implicit pad bytes, use ``standard`` size and alignment instead of
+   ``native`` size and alignment: see :ref:`struct-alignment` for details.
 
 Functions and Exceptions
 ------------------------
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index 29b02e9..b3739d6 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -382,7 +382,7 @@
    .. note::
 
       On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and
-      CTRL_BREAK_EVENT can be sent to processes started with a `creationflags`
+      CTRL_BREAK_EVENT can be sent to processes started with a *creationflags*
       parameter which includes `CREATE_NEW_PROCESS_GROUP`.
 
 
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index d67de92..4bcc806 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -284,9 +284,9 @@
 
 .. caution::
 
-    Test discovery loads tests by importing them. Once test discovery has
-    found all the test files from the start directory you specify it turns the
-    paths into package names to import. For example `foo/bar/baz.py` will be
+    Test discovery loads tests by importing them. Once test discovery has found
+    all the test files from the start directory you specify it turns the paths
+    into package names to import. For example :file:`foo/bar/baz.py` will be
     imported as ``foo.bar.baz``.
 
     If you have a package installed globally and attempt test discovery on
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index 5581f25..cc68237 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -28,7 +28,7 @@
    :mimetype:`application/x-www-form-urlencoded` format.  The
    :func:`urllib.parse.urlencode` function takes a mapping or sequence
    of 2-tuples and returns a string in this format. urllib.request module uses
-   HTTP/1.1 and includes `Connection:close` header in its HTTP requests.
+   HTTP/1.1 and includes ``Connection:close`` header in its HTTP requests.
 
    The optional *timeout* parameter specifies a timeout in seconds for
    blocking operations like the connection attempt (if not specified,
