diff --git a/data.rst b/data.rst
index b225131..221a994 100644
--- a/data.rst
+++ b/data.rst
@@ -1,4 +1,4 @@
-.. _data:
+.. _Data:
 
 Data Packet
 -----------
diff --git a/index.rst b/index.rst
index e3346ab..3dff38e 100644
--- a/index.rst
+++ b/index.rst
@@ -1,25 +1,16 @@
-
 NDN Packet Format Specification
 ===============================
 
-
 .. toctree::
+   :maxdepth: 3
+
    intro
    tlv
    name
    interest
    data
    signature
-   link
    signed-interest
+   link
    types
    changelog
-   :maxdepth: 3
-
-
-.. Indices and tables
-.. ==================
-
-.. * :ref:`genindex`
-.. * :ref:`modindex`
-.. * :ref:`search`
diff --git a/link.rst b/link.rst
index f031d04..d792c5a 100644
--- a/link.rst
+++ b/link.rst
@@ -1,9 +1,9 @@
-.. _link:
+.. _Link:
 
 Link Object
 -----------
 
-The Link Object is a specialized form of a :ref:`Data packet <data>` packet, defined as follows::
+The Link Object is a specialized form of a :ref:`Data packet <Data>`, defined as follows::
 
     LinkObject = DATA-TYPE TLV-LENGTH
                    Name
diff --git a/name.rst b/name.rst
index 96a1c23..0db53cd 100644
--- a/name.rst
+++ b/name.rst
@@ -129,27 +129,26 @@
   + ``component1`` is less than ``component2`` if numerical value of ``TLV-TYPE(component1)`` is less than numerical value of ``TLV-TYPE(component2)``
 
     .. note::
-        Type number of ``ImplicitSha256DigestComponent`` is guaranteed to be less than type number of any other valid name component.
+       Type number of ``ImplicitSha256DigestComponent`` is guaranteed to be less than type number of any other valid name component.
 
 - If components have the same type, then
 
-    + If *a* is shorter than *b* (i.e., has fewer bytes), then *a* comes before *b*.
-
-    + If *a* and *b* have the same length, then they are compared in lexicographic order based on absolute value of octet values (e.g., ordering based on memcmp() operation.)
+  + If *a* is shorter than *b* (i.e., has fewer bytes), then *a* comes before *b*.
+  + If *a* and *b* have the same length, then they are compared in lexicographic order based on absolute value of octet values (e.g., ordering based on memcmp() operation.)
 
 For Names, the ordering is just based on the ordering of the first component where they differ.
 If one name is a proper prefix of the other, then it comes first.
 
-.. note::
-    The canonical order can be enforced by directly comparing the wire encoding of the ``Name`` field's TLV-VALUE (i.e., excluding TLV-TYPE and TLV-LENGTH of the Name element itself):
+.. tip::
+   The canonical order can be enforced by directly comparing the wire encoding of the ``Name`` field's TLV-VALUE (i.e., excluding TLV-TYPE and TLV-LENGTH of the Name element itself):
 
-    .. code-block:: c
+   .. code-block:: cpp
 
-        int canonicalOrder(Name lhs, Name rhs)
-        {
-            int result = memcmp(lhs.value(), rhs.value(), min(lhs.value_size(), rhs.value_size()));
-            if (result == 0) {
-                result = lhs.value_size() - rhs.value_size();
-            }
-            return result;
-        }
+      int canonicalOrder(Name lhs, Name rhs)
+      {
+          int result = memcmp(lhs.value(), rhs.value(), min(lhs.value_size(), rhs.value_size()));
+          if (result == 0) {
+              result = lhs.value_size() - rhs.value_size();
+          }
+          return result;
+      }
diff --git a/signature.rst b/signature.rst
index f7634f1..2e0abf3 100644
--- a/signature.rst
+++ b/signature.rst
@@ -194,17 +194,15 @@
                              1*OCTET ; == RSA over SHA-256{Interest signed portion}
 
 .. note::
-
    The TLV-LENGTH of these elements varies depending on the length of the private key used for signing (e.g., 256 bytes for a 2048-bit key).
 
 This type of signature, if verified, provides very strong assurances that a packet was created by the claimed producer (authentication/provenance) and was not tampered with while in transit (integrity).
 The ``KeyDigest`` option in :ref:`KeyLocator` is defined as the SHA-256 digest over the DER encoding of the ``SubjectPublicKeyInfo`` for an RSA key as defined by `RFC 3279 <https://tools.ietf.org/html/rfc3279>`__."
 
 .. note::
-
-    It is the application's responsibility to define rules (a trust model) concerning when a specific issuer (``KeyLocator``) is authorized to sign a specific packet.
-    While trust models are outside the scope of this specification, generally, trust models need to specify authorization rules between key names and Data packet names, as well as clearly define trust anchor(s).
-    For example, an application can elect to use a `hierarchical trust model`_ to ensure Data integrity and provenance.
+   It is the application's responsibility to define rules (a trust model) concerning when a specific issuer (``KeyLocator``) is authorized to sign a specific packet.
+   While trust models are outside the scope of this specification, generally, trust models need to specify authorization rules between key names and Data packet names, as well as clearly define trust anchor(s).
+   For example, an application can elect to use a `hierarchical trust model`_ to ensure Data integrity and provenance.
 
 .. _SignatureSha256WithEcdsa:
 
@@ -229,7 +227,6 @@
                              1*OCTET ; == ECDSA over SHA-256{Interest signed portion}
 
 .. note::
-
    The TLV-LENGTH of these elements depends on the specific elliptic curve used for signing (e.g., up to 72 bytes for the NIST P-256 curve).
 
 This type of signature, if verified, provides very strong assurances that a packet was created by the claimed producer (authentication/provenance) and was not tampered with while in transit (integrity).
@@ -245,6 +242,9 @@
 ``SignatureHmacWithSha256`` defines a hash-based message authentication code (HMAC) that is calculated over the "signed portion" of an Interest or Data packet, using SHA-256 as the hash function, salted with a shared secret key.
 This signature algorithm is defined in `RFC 2104, Section 2 <https://tools.ietf.org/html/rfc2104#section-2>`__.
 
+.. warning::
+   As stated in `RFC 2104, Section 3 <https://tools.ietf.org/html/rfc2104#section-3>`__, shared keys shorter than the SHA-256 output length (32 bytes) are strongly discouraged.
+
 * The TLV-VALUE of ``SignatureType`` is 4
 * ``KeyLocator`` is required
 
@@ -258,16 +258,11 @@
                              TLV-LENGTH ; == 32
                              32OCTET ; == HMAC-SHA-256{Interest signed portion}
 
-.. note::
-
-   The shared secret key is not included in the signature and must not be included anywhere in the packet, as this would invalidate the security properties of HMAC.
-
-.. note::
-
-   As stated in `RFC 2104, Section 3 <https://tools.ietf.org/html/rfc2104#section-3>`__, shared keys shorter than the SHA-256 output byte length (32 bytes) are strongly discouraged.
-
 Provided that the signature verifies, this type of signature ensures the authenticity of the packet, namely, that it was signed by a party possessing the shared key, and that it was not altered in transit (integrity).
 The shared key used to generate the HMAC signature can be identified by the :ref:`KeyLocator` element, e.g., by using the ``Name`` according to the application's naming conventions.
 It is the application's responsibility to associate the shared key with the identities of the parties who hold the shared key.
 
+.. danger::
+   The shared secret key is not included in the signature and must not be included anywhere in the packet, as this would invalidate the security properties of HMAC.
+
 .. _hierarchical trust model: https://named-data.net/publications/techreports/trpublishkey-rev2/
diff --git a/signed-interest.rst b/signed-interest.rst
index 9043551..40a004d 100644
--- a/signed-interest.rst
+++ b/signed-interest.rst
@@ -53,8 +53,8 @@
    If `t0` >= `t`, consider the Interest as invalid.
    Update `t0` to `t` if the signed Interest has been validated according to this and all other rules.
 
-  .. note::
-     Sharing private keys is not recommended. If private key sharing is inevitable, it is the key owner's responsibility to keep clocks synchronized.
+   .. note::
+      Sharing private keys is not recommended. If private key sharing is inevitable, it is the key owner's responsibility to keep clocks synchronized.
 
 7. If ``SignatureNonce`` is present:
 
@@ -63,8 +63,8 @@
    If it is a repetition, treat the Interest as invalid.
    Add the newly received ``SignatureNonce`` into the ``SignatureNonce`` list if the signed Interest has been validated according to this and all other rules.
 
-  .. note::
-     The size of the ``SignatureNonce`` list and the lifetime of each ``SignatureNonce`` remembered by the receiver depend on the application protocol's need.
+   .. note::
+      The size of the ``SignatureNonce`` list and the lifetime of each ``SignatureNonce`` remembered by the receiver depend on the application protocol's need.
 
 8. If ``SignatureSeqNum`` (`s`) is present:
 
@@ -73,5 +73,5 @@
    If `s` does not satisfy the application policy, treat the signed Interest as invalid.
    Update `s0` to `s` if the signed Interest has been validated according to this and all other rules.
 
-  .. note::
-     The first ``SignatureSeqNum`` received is considered valid only if it satisfies the application's policy. For example, application can decide the first ``SeqNum`` can only be a minimum value like 0 or 1, or a value that both sender and receiver agree on.
+   .. note::
+      The first ``SignatureSeqNum`` received is considered valid only if it satisfies the application's policy. For example, application can decide the first ``SeqNum`` can only be a minimum value like 0 or 1, or a value that both sender and receiver agree on.
diff --git a/tlv.rst b/tlv.rst
index 7047d36..060ea57 100644
--- a/tlv.rst
+++ b/tlv.rst
@@ -14,17 +14,21 @@
 Variable Size Encoding for Type (T) and Length (L)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-(Both the text below and that in :ref:`TLV encoding section <TLV>` are adopted from an earlier packet specification draft by Mark Stapp)
+.. note::
+   The text below and that in the :ref:`TLV` section are adapted from an earlier packet specification draft by Mark Stapp.
 
 To minimize the overhead during early deployment and to allow flexibility of future protocol extensions to meet unforeseeable needs, both type (T) and length (L) take a variable size format.
 For implementation simplicity, both type and length take the same encoding format.
 
 We define a variable-length encoding for numbers in NDN as follows::
 
-     VAR-NUMBER-1 = %x00-FC
-     VAR-NUMBER-3 = %xFD 2OCTET
-     VAR-NUMBER-5 = %xFE 4OCTET
-     VAR-NUMBER-9 = %xFF 8OCTET
+    VAR-NUMBER-1 = %x00-FC
+    VAR-NUMBER-3 = %xFD 2OCTET
+    VAR-NUMBER-5 = %xFE 4OCTET
+    VAR-NUMBER-9 = %xFF 8OCTET
+
+.. note::
+   The formal grammar of NDN packet format in this specification is given using :rfc:`Augmented BNF for Syntax Specifications <5234>`.
 
 The first octet of the number either carries the actual number, or signals that a multi-octet encoding is present, as defined below:
 
@@ -42,9 +46,6 @@
 A number MUST be encoded in the shortest format.
 For example, the number 1024 is encoded as %xFD0400 in VAR-NUMBER-3 format, not %xFE00000400 in VAR-NUMBER-5 format.
 
-.. note::
-   The formal grammar of NDN packet format in this specification is given using `Augmented BNF for Syntax Specifications <https://tools.ietf.org/html/rfc5234>`__
-
 .. _TLV:
 
 NDN TLV Encoding
@@ -109,6 +110,7 @@
 - TLV-TYPE numbers 0-31 (inclusive) are "grandfathered" and are all designated as "critical" for the purposes of packet processing.
 
 .. note::
-    A recognized element is considered out-of-order if it appears in the element order that violates a specification.  For example,
-    - when a specification defines a sequence {``F1`` ``F2`` ``F3``}, an element ``F3`` would be out-of-order in the sequence {``F1`` ``F3`` ``F2``};
-    - for {``F1`` ``F2?`` ``F3``} specification (i.e., when ``F2`` is optional, ``F2`` would be out-of-order in the same sequence {``F1`` ``F3`` ``F2``}.
+   A recognized element is considered out-of-order if it appears in the element order that violates a specification. For example:
+
+   - when a specification defines a sequence {``F1`` ``F2`` ``F3``}, an element ``F3`` would be out-of-order in the sequence {``F1`` ``F3`` ``F2``};
+   - for {``F1`` ``F2?`` ``F3``} specification (i.e., when ``F2`` is optional, ``F2`` would be out-of-order in the same sequence {``F1`` ``F3`` ``F2``}.
diff --git a/types.rst b/types.rst
index eace2c6..91f2519 100644
--- a/types.rst
+++ b/types.rst
@@ -3,118 +3,118 @@
 TLV-TYPE number assignments
 ---------------------------
 
-+---------------------------------------------+------------------+-----------------+
-| Type                                        | Assigned number  | Assigned number |
-|                                             | (decimal)        | (hexadecimal)   |
-+=============================================+==================+=================+
-|                      **Packet types**                                            |
-+---------------------------------------------+------------------+-----------------+
-| Interest                                    | 5                | 0x05            |
-+---------------------------------------------+------------------+-----------------+
-| Data                                        | 6                | 0x06            |
-+---------------------------------------------+------------------+-----------------+
-|                      **Common fields**                                           |
-+---------------------------------------------+------------------+-----------------+
-| Name                                        | 7                | 0x07            |
-+---------------------------------------------+------------------+-----------------+
-|                      `Name component types`_                                     |
-+---------------------------------------------+------------------+-----------------+
-| GenericNameComponent                        | 8                | 0x08            |
-+---------------------------------------------+------------------+-----------------+
-| ImplicitSha256DigestComponent               | 1                | 0x01            |
-+---------------------------------------------+------------------+-----------------+
-| ParametersSha256DigestComponent             | 2                | 0x02            |
-+---------------------------------------------+------------------+-----------------+
-| KeywordNameComponent                        | 32 (non-critical)| 0x20            |
-+---------------------------------------------+------------------+-----------------+
-| SegmentNameComponent                        | 50 (non-critical)| 0x32            |
-+---------------------------------------------+------------------+-----------------+
-| ByteOffsetNameComponent                     | 52 (non-critical)| 0x34            |
-+---------------------------------------------+------------------+-----------------+
-| VersionNameComponent                        | 54 (non-critical)| 0x36            |
-+---------------------------------------------+------------------+-----------------+
-| TimestampNameComponent                      | 56 (non-critical)| 0x38            |
-+---------------------------------------------+------------------+-----------------+
-| SequenceNumNameComponent                    | 58 (non-critical)| 0x3a            |
-+---------------------------------------------+------------------+-----------------+
-|                     **Interest packet**                                          |
-+---------------------------------------------+------------------+-----------------+
-| CanBePrefix                                 | 33               | 0x21            |
-+---------------------------------------------+------------------+-----------------+
-| MustBeFresh                                 | 18               | 0x12            |
-+---------------------------------------------+------------------+-----------------+
-| ForwardingHint                              | 30               | 0x1e            |
-+---------------------------------------------+------------------+-----------------+
-| Nonce                                       | 10               | 0x0a            |
-+---------------------------------------------+------------------+-----------------+
-| InterestLifetime                            | 12               | 0x0c            |
-+---------------------------------------------+------------------+-----------------+
-| HopLimit                                    | 34 (non-critical)| 0x22            |
-+---------------------------------------------+------------------+-----------------+
-| ApplicationParameters                       | 36 (non-critical)| 0x24            |
-+---------------------------------------------+------------------+-----------------+
-| InterestSignatureInfo                       | 44 (non-critical)| 0x2c            |
-+---------------------------------------------+------------------+-----------------+
-| InterestSignatureValue                      | 46 (non-critical)| 0x2e            |
-+---------------------------------------------+------------------+-----------------+
-|                      **Data packet**                                             |
-+---------------------------------------------+------------------+-----------------+
-| MetaInfo                                    | 20               | 0x14            |
-+---------------------------------------------+------------------+-----------------+
-| Content                                     | 21               | 0x15            |
-+---------------------------------------------+------------------+-----------------+
-| SignatureInfo                               | 22               | 0x16            |
-+---------------------------------------------+------------------+-----------------+
-| SignatureValue                              | 23               | 0x17            |
-+---------------------------------------------+------------------+-----------------+
-|                      **Data/MetaInfo**                                           |
-+---------------------------------------------+------------------+-----------------+
-| ContentType                                 | 24               | 0x18            |
-+---------------------------------------------+------------------+-----------------+
-| FreshnessPeriod                             | 25               | 0x19            |
-+---------------------------------------------+------------------+-----------------+
-| FinalBlockId                                | 26               | 0x1a            |
-+---------------------------------------------+------------------+-----------------+
-|                     **Signature**                                                |
-+---------------------------------------------+------------------+-----------------+
-| SignatureType                               | 27               | 0x1b            |
-+---------------------------------------------+------------------+-----------------+
-| KeyLocator                                  | 28               | 0x1c            |
-+---------------------------------------------+------------------+-----------------+
-| KeyDigest                                   | 29               | 0x1d            |
-+---------------------------------------------+------------------+-----------------+
-| SignatureNonce                              | 38 (non-critical)| 0x26            |
-+---------------------------------------------+------------------+-----------------+
-| SignatureTime                               | 40 (non-critical)| 0x28            |
-+---------------------------------------------+------------------+-----------------+
-| SignatureSeqNum                             | 42 (non-critical)| 0x2a            |
-+---------------------------------------------+------------------+-----------------+
-|                     **Link Object**                                              |
-+---------------------------------------------+------------------+-----------------+
-| Delegation                                  | 31               | 0x1f            |
-+---------------------------------------------+------------------+-----------------+
-| Preference                                  | 30               | 0x1e            |
-+---------------------------------------------+------------------+-----------------+
-|                     `NDN Certificates`_                                          |
-+---------------------------------------------+------------------+-----------------+
-| ValidityPeriod                              | 253              | 0xfd            |
-+---------------------------------------------+------------------+-----------------+
-| NotBefore                                   | 254              | 0xfe            |
-+---------------------------------------------+------------------+-----------------+
-| NotAfter                                    | 255              | 0xff            |
-+---------------------------------------------+------------------+-----------------+
-| AdditionalDescription (non-critical)        | 258              | 0x0102          |
-+---------------------------------------------+------------------+-----------------+
-| DescriptionEntry                            | 512              | 0x0200          |
-+---------------------------------------------+------------------+-----------------+
-| DescriptionKey                              | 513              | 0x0201          |
-+---------------------------------------------+------------------+-----------------+
-| DescriptionValue                            | 514              | 0x0202          |
-+---------------------------------------------+------------------+-----------------+
++---------------------------------------------+--------------------+-----------------+
+| Type                                        | Assigned number    | Assigned number |
+|                                             | (decimal)          | (hexadecimal)   |
++=============================================+====================+=================+
+|                      **Packet types**                                              |
++---------------------------------------------+--------------------+-----------------+
+| Interest                                    | 5                  | 0x05            |
++---------------------------------------------+--------------------+-----------------+
+| Data                                        | 6                  | 0x06            |
++---------------------------------------------+--------------------+-----------------+
+|                      **Common fields**                                             |
++---------------------------------------------+--------------------+-----------------+
+| Name                                        | 7                  | 0x07            |
++---------------------------------------------+--------------------+-----------------+
+|                      |Name components|_                                            |
++---------------------------------------------+--------------------+-----------------+
+| GenericNameComponent                        | 8                  | 0x08            |
++---------------------------------------------+--------------------+-----------------+
+| ImplicitSha256DigestComponent               | 1                  | 0x01            |
++---------------------------------------------+--------------------+-----------------+
+| ParametersSha256DigestComponent             | 2                  | 0x02            |
++---------------------------------------------+--------------------+-----------------+
+| KeywordNameComponent                        | 32 (non-critical)  | 0x20            |
++---------------------------------------------+--------------------+-----------------+
+| SegmentNameComponent                        | 50 (non-critical)  | 0x32            |
++---------------------------------------------+--------------------+-----------------+
+| ByteOffsetNameComponent                     | 52 (non-critical)  | 0x34            |
++---------------------------------------------+--------------------+-----------------+
+| VersionNameComponent                        | 54 (non-critical)  | 0x36            |
++---------------------------------------------+--------------------+-----------------+
+| TimestampNameComponent                      | 56 (non-critical)  | 0x38            |
++---------------------------------------------+--------------------+-----------------+
+| SequenceNumNameComponent                    | 58 (non-critical)  | 0x3a            |
++---------------------------------------------+--------------------+-----------------+
+|                      **Interest packet**                                           |
++---------------------------------------------+--------------------+-----------------+
+| CanBePrefix                                 | 33                 | 0x21            |
++---------------------------------------------+--------------------+-----------------+
+| MustBeFresh                                 | 18                 | 0x12            |
++---------------------------------------------+--------------------+-----------------+
+| ForwardingHint                              | 30                 | 0x1e            |
++---------------------------------------------+--------------------+-----------------+
+| Nonce                                       | 10                 | 0x0a            |
++---------------------------------------------+--------------------+-----------------+
+| InterestLifetime                            | 12                 | 0x0c            |
++---------------------------------------------+--------------------+-----------------+
+| HopLimit                                    | 34 (non-critical)  | 0x22            |
++---------------------------------------------+--------------------+-----------------+
+| ApplicationParameters                       | 36 (non-critical)  | 0x24            |
++---------------------------------------------+--------------------+-----------------+
+| InterestSignatureInfo                       | 44 (non-critical)  | 0x2c            |
++---------------------------------------------+--------------------+-----------------+
+| InterestSignatureValue                      | 46 (non-critical)  | 0x2e            |
++---------------------------------------------+--------------------+-----------------+
+|                      **Data packet**                                               |
++---------------------------------------------+--------------------+-----------------+
+| MetaInfo                                    | 20                 | 0x14            |
++---------------------------------------------+--------------------+-----------------+
+| Content                                     | 21                 | 0x15            |
++---------------------------------------------+--------------------+-----------------+
+| SignatureInfo                               | 22                 | 0x16            |
++---------------------------------------------+--------------------+-----------------+
+| SignatureValue                              | 23                 | 0x17            |
++---------------------------------------------+--------------------+-----------------+
+|                      **MetaInfo**                                                  |
++---------------------------------------------+--------------------+-----------------+
+| ContentType                                 | 24                 | 0x18            |
++---------------------------------------------+--------------------+-----------------+
+| FreshnessPeriod                             | 25                 | 0x19            |
++---------------------------------------------+--------------------+-----------------+
+| FinalBlockId                                | 26                 | 0x1a            |
++---------------------------------------------+--------------------+-----------------+
+|                      **Signature**                                                 |
++---------------------------------------------+--------------------+-----------------+
+| SignatureType                               | 27                 | 0x1b            |
++---------------------------------------------+--------------------+-----------------+
+| KeyLocator                                  | 28                 | 0x1c            |
++---------------------------------------------+--------------------+-----------------+
+| KeyDigest                                   | 29                 | 0x1d            |
++---------------------------------------------+--------------------+-----------------+
+| SignatureNonce                              | 38 (non-critical)  | 0x26            |
++---------------------------------------------+--------------------+-----------------+
+| SignatureTime                               | 40 (non-critical)  | 0x28            |
++---------------------------------------------+--------------------+-----------------+
+| SignatureSeqNum                             | 42 (non-critical)  | 0x2a            |
++---------------------------------------------+--------------------+-----------------+
+|                      **Link Object**                                               |
++---------------------------------------------+--------------------+-----------------+
+| Delegation                                  | 31                 | 0x1f            |
++---------------------------------------------+--------------------+-----------------+
+| Preference                                  | 30                 | 0x1e            |
++---------------------------------------------+--------------------+-----------------+
+|                      |Certificate|_                                                |
++---------------------------------------------+--------------------+-----------------+
+| ValidityPeriod                              | 253                | 0xfd            |
++---------------------------------------------+--------------------+-----------------+
+| NotBefore                                   | 254                | 0xfe            |
++---------------------------------------------+--------------------+-----------------+
+| NotAfter                                    | 255                | 0xff            |
++---------------------------------------------+--------------------+-----------------+
+| AdditionalDescription                       | 258 (non-critical) | 0x0102          |
++---------------------------------------------+--------------------+-----------------+
+| DescriptionEntry                            | 512                | 0x0200          |
++---------------------------------------------+--------------------+-----------------+
+| DescriptionKey                              | 513                | 0x0201          |
++---------------------------------------------+--------------------+-----------------+
+| DescriptionValue                            | 514                | 0x0202          |
++---------------------------------------------+--------------------+-----------------+
 
 .. note::
-    The ABNF grammar of this specification denotes the TLV-TYPE of element ``X`` as ``X-TYPE``.
-    For example, ``INTEREST-TYPE`` means ``%x05``, the TLV-TYPE of ``Interest`` encoded in ``VAR-NUMBER-1`` format.
+   The ABNF grammar of this specification denotes the TLV-TYPE of element ``X`` as ``X-TYPE``.
+   For example, ``INTEREST-TYPE`` means ``%x05``, the TLV-TYPE of ``Interest`` encoded in ``VAR-NUMBER-1`` format.
 
 .. _type reservations:
 
@@ -124,24 +124,24 @@
 +----------------+-----------------------------------------------------------+
 | Number range   | Designation                                               |
 +================+===========================================================+
-| 9              | Reserved, formerly `Selectors`                            |
+| 9              | Reserved, formerly *Selectors*                            |
 +----------------+-----------------------------------------------------------+
-| 11             | Reserved, formerly `Scope`                                |
+| 11             | Reserved, formerly *Scope*                                |
 +----------------+-----------------------------------------------------------+
-| 13             | Reserved, formerly `MinSuffixComponents`                  |
+| 13             | Reserved, formerly *MinSuffixComponents*                  |
 +----------------+-----------------------------------------------------------+
-| 14             | Reserved, formerly `MaxSuffixComponents`                  |
+| 14             | Reserved, formerly *MaxSuffixComponents*                  |
 +----------------+-----------------------------------------------------------+
-| 15             | Reserved, formerly `PublisherPublicKeyLocator`            |
+| 15             | Reserved, formerly *PublisherPublicKeyLocator*            |
 +----------------+-----------------------------------------------------------+
-| 16             | Reserved, formerly `Exclude`                              |
+| 16             | Reserved, formerly *Exclude*                              |
 +----------------+-----------------------------------------------------------+
-| 17             | Reserved, formerly `ChildSelector`                        |
+| 17             | Reserved, formerly *ChildSelector*                        |
 +----------------+-----------------------------------------------------------+
-| 19             | Reserved, formerly `Any`                                  |
+| 19             | Reserved, formerly *Any*                                  |
 +----------------+-----------------------------------------------------------+
 | [80, 100]      | Reserved for assignments related to local-link data       |
-|                | processing, e.g., `NDNLP`_, etc. (1-byte encoding)        |
+|                | processing, e.g., NDNLP_ (1-byte encoding)                |
 +----------------+-----------------------------------------------------------+
 | all other      |                                                           |
 | numbers in     |                                                           |
@@ -150,7 +150,7 @@
 | [128, 252]     | For application use (1-byte encoding)                     |
 +----------------+-----------------------------------------------------------+
 | [800, 1000]    | Reserved for assignments related to local-link data       |
-|                | processing, e.g., `NDNLP`_, etc. (3-byte encoding)        |
+|                | processing, e.g., NDNLP_ (3-byte encoding)                |
 +----------------+-----------------------------------------------------------+
 | all other      |                                                           |
 | numbers in     |                                                           |
@@ -161,6 +161,8 @@
 
 .. _NDNLP: https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2
 
-.. _NDN Certificates: https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html
+.. |Name components| replace:: **Name components**
+.. _Name components: https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType
 
-.. _Name component types: https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType
+.. |Certificate| replace:: **Certificate**
+.. _Certificate: https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html
