diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst
index 72f2d96..f955c96 100644
--- a/Doc/c-api/arg.rst
+++ b/Doc/c-api/arg.rst
@@ -305,13 +305,14 @@
    the conversion has failed.  When the conversion fails, the *converter* function
    should raise an exception and leave the content of *address* unmodified.
 
-   If the *converter* returns Py_CLEANUP_SUPPORTED, it may get called a second time
-   if the argument parsing eventually fails, giving the converter a chance to release
-   any memory that it had already allocated. In this second call, the *object* parameter
-   will be NULL; *address* will have the same value as in the original call.
+   If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a
+   second time if the argument parsing eventually fails, giving the converter a
+   chance to release any memory that it had already allocated. In this second
+   call, the *object* parameter will be NULL; *address* will have the same value
+   as in the original call.
 
    .. versionchanged:: 3.1
-      Py_CLEANUP_SUPPORTED was added.
+      ``Py_CLEANUP_SUPPORTED`` was added.
 
 ``(items)`` (:class:`tuple`) [*matching-items*]
    The object must be a Python sequence whose length is the number of format units
diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst
index a48a702..9a7811e 100644
--- a/Doc/c-api/long.rst
+++ b/Doc/c-api/long.rst
@@ -181,6 +181,7 @@
    cannot be represented as a :ctype:`long long`, an
    :exc:`OverflowError` is raised and ``-1`` is returned.
 
+
 .. cfunction:: unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)
 
    .. index::
@@ -192,8 +193,8 @@
    returned.
 
    .. versionchanged:: 3.1
-      A negative *pylong* now raises :exc:`OverflowError`, not
-      :exc:`TypeError`.
+      A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`.
+
 
 .. cfunction:: unsigned long PyLong_AsUnsignedLongMask(PyObject *io)
 
diff --git a/Doc/c-api/sys.rst b/Doc/c-api/sys.rst
index 27ee94c..00ddf00 100644
--- a/Doc/c-api/sys.rst
+++ b/Doc/c-api/sys.rst
@@ -127,6 +127,7 @@
 
    .. versionadded:: 3.2
 
+
 .. _processcontrol:
 
 Process Control
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 913fd69..b997629 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -320,8 +320,7 @@
       when :const:`HAVE_LONG_LONG` is defined.
 
    .. versionchanged:: 3.2
-      Support for `"%lld"` and `"%llu"` added.
-
+      Support for ``"%lld"`` and ``"%llu"`` added.
 
 
 .. cfunction:: PyObject* PyUnicode_FromFormatV(const char *format, va_list vargs)
@@ -387,6 +386,7 @@
 
    .. versionadded:: 3.1
 
+
 To decode file names during argument parsing, the ``"O&"`` converter should be
 used, passsing :func:`PyUnicode_FSDecoder` as the conversion function:
 
@@ -399,6 +399,7 @@
 
    .. versionadded:: 3.2
 
+
 .. cfunction:: PyObject* PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size)
 
    Decode a null-terminated string using :cdata:`Py_FileSystemDefaultEncoding`
