diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst
index 9b66650..c0b5933 100644
--- a/Doc/howto/cporting.rst
+++ b/Doc/howto/cporting.rst
@@ -118,7 +118,7 @@
 Module initialization and state
 ===============================
 
-Python 3.0 has a revamped extension module initialization system.  (See PEP
+Python 3.0 has a revamped extension module initialization system.  (See
 :pep:`3121`.)  Instead of storing module state in globals, they should be stored
 in an interpreter specific structure.  Creating modules that act correctly in
 both 2.x and 3.0 is tricky.  The following simple example demonstrates how. ::
diff --git a/Doc/library/pkgutil.rst b/Doc/library/pkgutil.rst
index f169263..5189377 100644
--- a/Doc/library/pkgutil.rst
+++ b/Doc/library/pkgutil.rst
@@ -45,7 +45,7 @@
 
    Get a resource from a package.
 
-   This is a wrapper for the PEP 302 loader :func:`get_data` API. The package
+   This is a wrapper for the :pep:`302` loader :func:`get_data` API. The package
    argument should be the name of a package, in standard module format
    (foo.bar). The resource argument should be in the form of a relative
    filename, using ``/`` as the path separator. The parent directory name
@@ -60,5 +60,5 @@
        d = os.path.dirname(sys.modules[package].__file__)
        data = open(os.path.join(d, resource), 'rb').read()
 
-   If the package cannot be located or loaded, or it uses a PEP 302 loader
+   If the package cannot be located or loaded, or it uses a :pep:`302` loader
    which does not support :func:`get_data`, then None is returned.
diff --git a/Doc/library/runpy.rst b/Doc/library/runpy.rst
index ffc7d13..23d0730 100644
--- a/Doc/library/runpy.rst
+++ b/Doc/library/runpy.rst
@@ -20,7 +20,7 @@
 
    Execute the code of the specified module and return the resulting module
    globals dictionary. The module's code is first located using the standard
-   import mechanism (refer to PEP 302 for details) and then executed in a
+   import mechanism (refer to :pep:`302` for details) and then executed in a
    fresh module namespace.
 
    If the supplied module name refers to a package rather than a normal
@@ -47,7 +47,7 @@
    loader does not make filename information available, this variable is set
    to :const:`None`.
 
-   ``__loader__`` is set to the PEP 302 module loader used to retrieve the
+   ``__loader__`` is set to the :pep:`302` module loader used to retrieve the
    code for the module (This loader may be a wrapper around the standard
    import mechanism).
 
@@ -105,7 +105,7 @@
    loader does not make filename information available, this variable is set
    to :const:`None`. For a simple script, this will be set to ``file_path``.
 
-   ``__loader__`` is set to the PEP 302 module loader used to retrieve the
+   ``__loader__`` is set to the :pep:`302` module loader used to retrieve the
    code for the module (This loader may be a wrapper around the standard
    import mechanism). For a simple script, this will be set to :const:`None`.
 
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 4627ca6..a0a1fdd 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -14,7 +14,7 @@
 
 .. note::
 
-   Starting with Python 2.6, this module provides PEP 8 compliant aliases and
+   Starting with Python 2.6, this module provides :pep:`8` compliant aliases and
    properties to replace the ``camelCase`` names that were inspired by Java's
    threading API. This updated API is compatible with that of the
    :mod:`multiprocessing` module. However, no schedule has been set for the
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index a97eaec..517fc38 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -712,7 +712,7 @@
    # use a function (note that you're not limited to a function, you can
    # use a class for example). The first argument passed to the function
    # is a dictionary containing CGI-style envrironment variables and the
-   # second variable is the callable object (see PEP333)
+   # second variable is the callable object (see :pep:`333`)
    def hello_world_app(environ, start_response):
        status = '200 OK' # HTTP Status
        headers = [('Content-type', 'text/plain')] # HTTP Headers
diff --git a/Doc/library/zipimport.rst b/Doc/library/zipimport.rst
index 0d3164a..43e12b1 100644
--- a/Doc/library/zipimport.rst
+++ b/Doc/library/zipimport.rst
@@ -41,12 +41,12 @@
       Documentation on the ZIP file format by Phil Katz, the creator of the format and
       algorithms used.
 
-   :pep:`0273` - Import Modules from Zip Archives
+   :pep:`273` - Import Modules from Zip Archives
       Written by James C. Ahlstrom, who also provided an implementation. Python 2.3
       follows the specification in PEP 273, but uses an implementation written by Just
       van Rossum that uses the import hooks described in PEP 302.
 
-   :pep:`0302` - New Import Hooks
+   :pep:`302` - New Import Hooks
       The PEP to add the import hooks that help this module work.
 
 
