diff --git a/src/macros-by-example.md b/src/macros-by-example.md
index da286a672..f03052493 100644
--- a/src/macros-by-example.md
+++ b/src/macros-by-example.md
@@ -21,7 +21,7 @@
> | `{` _MacroMatch_\* `}`
>
> _MacroMatch_ :\
-> [_Token_]_except $ and delimiters_\
+> [_Token_]_except $ and [delimiters]_\
> | _MacroMatcher_\
> | `$` ( [IDENTIFIER_OR_KEYWORD] _except `crate`_ | [RAW_IDENTIFIER] | `_` ) `:` _MacroFragSpec_\
> | `$` `(` _MacroMatch_+ `)` _MacroRepSep_? _MacroRepOp_
@@ -31,7 +31,7 @@
> | `meta` | `pat` | `pat_param` | `path` | `stmt` | `tt` | `ty` | `vis`
>
> _MacroRepSep_ :\
-> [_Token_]_except delimiters and repetition operators_
+> [_Token_]_except [delimiters] and MacroRepOp_
>
> _MacroRepOp_ :\
> `*` | `+` | `?`
@@ -509,6 +509,7 @@ For more detail, see the [formal specification].
[_Statement_]: statements.md
[_TokenTree_]: macros.md#macro-invocation
[_Token_]: tokens.md
+[delimiters]: tokens.md#delimiters
[_TypePath_]: paths.md#paths-in-types
[_Type_]: types.md#type-expressions
[_UnderscoreExpression_]: expressions/underscore-expr.md