diff --git a/docs/reference.md b/docs/reference.md
index e52a51e..8019687 100644
--- a/docs/reference.md
+++ b/docs/reference.md
@@ -446,10 +446,12 @@
   Deletes the contents of the output directory except for args.gn and
   creates a Ninja build environment sufficient to regenerate the build.
 ```
-### <a name="cmd_desc"></a>**gn desc &lt;out_dir&gt; &lt;label or pattern&gt; [&lt;what to show&gt;] [\--blame] "**
-#### **[\--format=json]**
+### <a name="cmd_desc"></a>**gn desc**
 
 ```
+  gn desc <out_dir> <label or pattern> [<what to show>] [--blame]
+          [--format=json]
+
   Displays information about a given target or config. The build parameters
   will be taken for the build in the given <out_dir>.
 
@@ -878,9 +880,11 @@
       Lists all variants of the target //base:base (it may be referenced
       in multiple toolchains).
 ```
-### <a name="cmd_meta"></a>**gn meta &lt;out_dir&gt; &lt;target&gt;* \--data=&lt;key&gt;[,&lt;key&gt;*]* [\--walk=&lt;key&gt;[,&lt;key&gt;*]*]**
+### <a name="cmd_meta"></a>**gn meta**
+
 ```
-       [--rebase=<dest dir>]
+  gn meta <out_dir> <target>* --data=<key>[,<key>*]* [--walk=<key>[,<key>*]*]
+          [--rebase=<dest dir>]
 
   Lists collected metaresults of all given targets for the given data key(s),
   collecting metadata dependencies as specified by the given walk key(s).
@@ -978,9 +982,11 @@
 ```
   gn path out/Default //base //tools/gn
 ```
-### <a name="cmd_refs"></a>**gn refs &lt;out_dir&gt; (&lt;label_pattern&gt;|&lt;label&gt;|&lt;file&gt;|@&lt;response_file&gt;)***
+### <a name="cmd_refs"></a>**gn refs**
+
 ```
-        [--all] [--all-toolchains] [--as=...] [--testonly=...] [--type=...]
+  gn refs <out_dir> (<label_pattern>|<label>|<file>|@<response_file>)*
+          [--all] [--all-toolchains] [--as=...] [--testonly=...] [--type=...]
 
   Finds reverse dependencies (which targets reference something). The input is
   a list containing:
@@ -4281,10 +4287,9 @@
     ]
   }
 ```
-### <a name="var_bundle_executable_dir"></a>**bundle_executable_dir**: Expansion of {{bundle_executable_dir}} in
-```
-                              create_bundle.
+### <a name="var_bundle_executable_dir"></a>**bundle_executable_dir**: Expansion of {{bundle_executable_dir}} in create_bundle.
 
+```
   A string corresponding to a path in $root_build_dir.
 
   This string is used by the "create_bundle" target to expand the
@@ -4304,9 +4309,10 @@
 
   See "gn help bundle_root_dir" for examples.
 ```
-### <a name="var_bundle_resources_dir"></a>**bundle_resources_dir**: Expansion of {{bundle_resources_dir}} in
+### <a name="var_bundle_resources_dir"></a>**bundle_resources_dir**
+
 ```
-                             create_bundle.
+  bundle_resources_dir: Expansion of {{bundle_resources_dir}} in create_bundle.
 
   A string corresponding to a path in $root_build_dir.
 
diff --git a/tools/gn/command_desc.cc b/tools/gn/command_desc.cc
index a4b2c87..b8b5355 100644
--- a/tools/gn/command_desc.cc
+++ b/tools/gn/command_desc.cc
@@ -444,8 +444,10 @@
 const char kDesc_HelpShort[] =
     "desc: Show lots of insightful information about a target or config.";
 const char kDesc_Help[] =
-    R"(gn desc <out_dir> <label or pattern> [<what to show>] [--blame] "
-[--format=json]
+    R"(gn desc
+
+  gn desc <out_dir> <label or pattern> [<what to show>] [--blame]
+          [--format=json]
 
   Displays information about a given target or config. The build parameters
   will be taken for the build in the given <out_dir>.
diff --git a/tools/gn/command_meta.cc b/tools/gn/command_meta.cc
index ecf07ef..0603731 100644
--- a/tools/gn/command_meta.cc
+++ b/tools/gn/command_meta.cc
@@ -19,8 +19,10 @@
 const char kMeta[] = "meta";
 const char kMeta_HelpShort[] = "meta: List target metadata collection results.";
 const char kMeta_Help[] =
-    R"(gn meta <out_dir> <target>* --data=<key>[,<key>*]* [--walk=<key>[,<key>*]*]
-       [--rebase=<dest dir>]
+    R"(gn meta
+
+  gn meta <out_dir> <target>* --data=<key>[,<key>*]* [--walk=<key>[,<key>*]*]
+          [--rebase=<dest dir>]
 
   Lists collected metaresults of all given targets for the given data key(s),
   collecting metadata dependencies as specified by the given walk key(s).
diff --git a/tools/gn/command_refs.cc b/tools/gn/command_refs.cc
index 1ca63ec..6364d81 100644
--- a/tools/gn/command_refs.cc
+++ b/tools/gn/command_refs.cc
@@ -292,8 +292,10 @@
 const char kRefs[] = "refs";
 const char kRefs_HelpShort[] = "refs: Find stuff referencing a target or file.";
 const char kRefs_Help[] =
-    R"(gn refs <out_dir> (<label_pattern>|<label>|<file>|@<response_file>)*
-        [--all] [--all-toolchains] [--as=...] [--testonly=...] [--type=...]
+    R"(gn refs
+
+  gn refs <out_dir> (<label_pattern>|<label>|<file>|@<response_file>)*
+          [--all] [--all-toolchains] [--as=...] [--testonly=...] [--type=...]
 
   Finds reverse dependencies (which targets reference something). The input is
   a list containing:
diff --git a/tools/gn/variables.cc b/tools/gn/variables.cc
index 25f18a5..d63a2a7 100644
--- a/tools/gn/variables.cc
+++ b/tools/gn/variables.cc
@@ -618,8 +618,10 @@
     "bundle_resources_dir: "
     "Expansion of {{bundle_resources_dir}} in create_bundle.";
 const char kBundleResourcesDir_Help[] =
-    R"(bundle_resources_dir: Expansion of {{bundle_resources_dir}} in
-                             create_bundle.
+    R"(bundle_resources_dir
+
+  bundle_resources_dir: Expansion of {{bundle_resources_dir}} in
+                        create_bundle.
 
   A string corresponding to a path in $root_build_dir.
 
@@ -668,8 +670,10 @@
     "bundle_executable_dir: "
     "Expansion of {{bundle_executable_dir}} in create_bundle";
 const char kBundleExecutableDir_Help[] =
-    R"(bundle_executable_dir: Expansion of {{bundle_executable_dir}} in
-                              create_bundle.
+    R"(bundle_executable_dir
+
+  bundle_executable_dir: Expansion of {{bundle_executable_dir}} in
+                         create_bundle.
 
   A string corresponding to a path in $root_build_dir.
 
