--- doc/ref/match.texi-orig	2015-04-11 13:07:14.000000000 -0700
+++ doc/ref/match.texi	2017-03-19 18:54:05.000000000 -0700
@@ -116,65 +116,68 @@
 
 The syntax and interpretation of patterns is as follows:
 
-@verbatim
-        patterns:                       matches:
+@example
+    patterns:                       matches:
 
-pat ::= identifier                      anything, and binds identifier
-      | _                               anything
-      | ()                              the empty list
-      | #t                              #t
-      | #f                              #f
-      | string                          a string
-      | number                          a number
-      | character                       a character
-      | 'sexp                           an s-expression
-      | 'symbol                         a symbol (special case of s-expr)
-      | (pat_1 ... pat_n)               list of n elements
-      | (pat_1 ... pat_n . pat_{n+1})   list of n or more
-      | (pat_1 ... pat_n pat_n+1 ooo)   list of n or more, each element
-                                          of remainder must match pat_n+1
-      | #(pat_1 ... pat_n)              vector of n elements
-      | #(pat_1 ... pat_n pat_n+1 ooo)  vector of n or more, each element
-                                          of remainder must match pat_n+1
-      | #&pat                           box
-      | ($ record-name pat_1 ... pat_n) a record
-      | (= field pat)                   a ``field'' of an object
-      | (and pat_1 ... pat_n)           if all of pat_1 thru pat_n match
-      | (or pat_1 ... pat_n)            if any of pat_1 thru pat_n match
-      | (not pat_1 ... pat_n)           if all pat_1 thru pat_n don't match
-      | (? predicate pat_1 ... pat_n)   if predicate true and all of
-                                          pat_1 thru pat_n match
-      | (set! identifier)               anything, and binds setter
-      | (get! identifier)               anything, and binds getter
-      | `qp                             a quasi-pattern
-      | (identifier *** pat)            matches pat in a tree and binds
-                                        identifier to the path leading
-                                        to the object that matches pat
-
-ooo ::= ...                             zero or more
-      | ___                             zero or more
-      | ..1                             1 or more
-
-        quasi-patterns:                 matches:
-
-qp  ::= ()                              the empty list
-      | #t                              #t
-      | #f                              #f
-      | string                          a string
-      | number                          a number
-      | character                       a character
-      | identifier                      a symbol
-      | (qp_1 ... qp_n)                 list of n elements
-      | (qp_1 ... qp_n . qp_{n+1})      list of n or more
-      | (qp_1 ... qp_n qp_n+1 ooo)      list of n or more, each element
-                                          of remainder must match qp_n+1
-      | #(qp_1 ... qp_n)                vector of n elements
-      | #(qp_1 ... qp_n qp_n+1 ooo)     vector of n or more, each element
-                                          of remainder must match qp_n+1
-      | #&qp                            box
-      | ,pat                            a pattern
-      | ,@pat                           a pattern
-@end verbatim
+@i{pat} ::=
+    @i{identifier}                      anything, and binds identifier
+  | _                               anything
+  | ()                              the empty list
+  | #t                              #t
+  | #f                              #f
+  | @i{string}                          a string
+  | @i{number}                          a number
+  | @i{character}                       a character
+  | '@i{sexp}                           an s-expression
+  | '@i{symbol}                         a symbol (special case of s-expr)
+  | (@i{pat_1 ... pat_n})               list of n elements
+  | (@i{pat_1 ... pat_n} . @i{pat_{n+1}})     list of n or more
+  | (@i{pat_1 ... pat_n pat_n+1 ooo})   list of n or more, each element
+                                      of remainder must match pat_n+1
+  | #(@i{pat_1 ... pat_n})              vector of n elements
+  | #(@i{pat_1 ... pat_n pat_n+1 ooo})  vector of n or more, each element
+                                      of remainder must match pat_n+1
+  | #&@i{pat}                           box
+  | ($ @i{record-name} @i{pat_1 ... pat_n}) a record
+  | (= @i{field} @i{pat})                   a ``field'' of an object
+  | (and @i{pat_1 ... pat_n})           if all of pat_1 thru pat_n match
+  | (or @i{pat_1 ... pat_n})            if any of pat_1 thru pat_n match
+  | (not @i{pat_1 ... pat_n})           if all pat_1 thru pat_n don't match
+  | (? @i{predicate} @i{pat_1 ... pat_n})   if predicate true and all of
+                                      pat_1 thru pat_n match
+  | (set! @i{identifier})               anything, and binds setter
+  | (get! @i{identifier})               anything, and binds getter
+  | `@i{qp}                             a quasi-pattern
+  | (@i{identifier} *** @i{pat})            matches pat in a tree and binds
+                                      identifier to the path leading
+                                      to the object that matches pat
+
+@i{ooo} ::=
+     ...                            zero or more
+   | ___                            zero or more
+   | ..1                            1 or more
+
+    quasi-patterns:                 matches:
+
+@i{qp} ::=
+    ()                              the empty list
+  | #t                              #t
+  | #f                              #f
+  | @i{string}                          a string
+  | @i{number}                          a number
+  | @i{character}                       a character
+  | @i{identifier}                      a symbol
+  | (@i{qp_1 ... qp_n})                 list of n elements
+  | (@i{qp_1 ... qp_n} . @i{qp_{n+1}})        list of n or more
+  | (@i{qp_1 ... qp_n qp_n+1} ooo)      list of n or more, each element
+                                      of remainder must match qp_n+1
+  | #(@i{qp_1 ... qp_n})                vector of n elements
+  | #(@i{qp_1 ... qp_n qp_n+1} ooo)     vector of n or more, each element
+                                      of remainder must match qp_n+1
+  | #&@i{qp}                            box
+  | ,@i{pat}                            a pattern
+  | ,@@@i{pat}                           a pattern
+@end example
 
 The names @code{quote}, @code{quasiquote}, @code{unquote},
 @code{unquote-splicing}, @code{?}, @code{_}, @code{$}, @code{and},
