diff --git a/Doc/html/style.css b/Doc/html/style.css
index a71541a..ce42ffb 100644
--- a/Doc/html/style.css
+++ b/Doc/html/style.css
@@ -108,6 +108,8 @@
                           padding: 0.05in; }
 .grammar-footer         { padding: 0.05in;
                           font-size: 85%; }
+.grammartoken           { font-family: "lucida typewriter", lucidatypewriter,
+                                       monospace; }
 
 .productions                  { background-color: #bbeeff; }
 .productions a:active         { color: #ff0000; }
@@ -115,7 +117,28 @@
 .productions a:visited:hover  { background-color: #99ccff; }
 .productions a:visited        { color: #551a8b; }
 .productions a:link           { color: #0000bb; }
-.productions table            { vertical-align: baseline; }
+.productions table            { vertical-align: baseline;
+                                empty-cells: show; }
+.productions > table td,
+.productions > table th       { padding: 2px; }
+.productions > table td:first-child,
+.productions > table td:last-child {
+                                font-family: "lucida typewriter",
+                                             lucidatypewriter,
+                                             monospace;
+                                }
+/* same as the second selector above, but expressed differently for Opera */
+.productions > table td:first-child + td + td {
+                                font-family: "lucida typewriter",
+                                             lucidatypewriter,
+                                             monospace;
+                                vertical-align: baseline;
+                                }
+.productions > table td:first-child + td {
+                                padding-left: 1em;
+                                padding-right: 1em;
+                                }
+.productions > table tr       { vertical-align: baseline; }
 
 .email                  { font-family: avantgarde, sans-serif; }
 .mailheader             { font-family: avantgarde, sans-serif; }
diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 3b04803..be2443d 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -791,7 +791,7 @@
         }
         $BackpatchGrammarFiles{"$CURRENT_FILE"} = 1;
     }
-    return "<a href=\"$target\">$token</a>" . $_;
+    return "<a class='grammartoken' href=\"$target\">$token</a>" . $_;
 }
 
 sub do_cmd_grammartoken{
@@ -809,7 +809,7 @@
     $DefinedGrammars{$lang} .= $_;
     return ("<dl><dd class=\"grammar\">\n"
             . "<div class=\"productions\">\n"
-            . "<table cellpadding=\"2\">\n"
+            . "<table>\n"
             . translate_commands(translate_environments($_))
             . "</table>\n"
             . "</div>\n"
@@ -828,12 +828,12 @@
     my $lang = $CURRENT_GRAMMAR;
     local($CURRENT_TOKEN) = $token;
     if ($lang eq '*') {
-        return ("<tr valign=\"baseline\">\n"
-                . "    <td><code>$token</code></td>\n"
-                . "    <td>&nbsp;::=&nbsp;</td>\n"
-                . "    <td><code>"
+        return ("<tr>\n"
+                . "    <td>$token</td>\n"
+                . "    <td>::=</td>\n"
+                . "    <td>"
                 . translate_commands($defn)
-                . "</code></td></tr>"
+                . "</td></tr>"
                 . $_);
     }
     my $target;
@@ -844,13 +844,13 @@
         $target = "$CURRENT_FILE\#tok-$lang-$token";
     }
     $TokenToTargetMapping{"$CURRENT_GRAMMAR:$token"} = $target;
-    return ("<tr valign=\"baseline\">\n"
-            . "    <td><code><a id='tok-$token' xml:id='tok-$token'>"
-            . "$token</a></code></td>\n"
-            . "    <td>&nbsp;::=&nbsp;</td>\n"
-            . "    <td><code>"
+    return ("<tr>\n"
+            . "    <td><a id='tok-$token' xml:id='tok-$token'>"
+            . "$token</a></td>\n"
+            . "    <td>::=</td>\n"
+            . "    <td>"
             . translate_commands($defn)
-            . "</code></td></tr>"
+            . "</td></tr>"
             . $_);
 }
 
@@ -858,9 +858,9 @@
     local($_) = @_;
     my $defn = next_argument();
     $defn =~ s/^( +)/'&nbsp;' x length $1/e;
-    return ("<tr valign=\"baseline\">\n"
-            . "    <td>&nbsp;</td>\n"
-            . "    <td>&nbsp;</td>\n"
+    return ("<tr>\n"
+            . "    <td></td>\n"
+            . "    <td></td>\n"
             . "    <td><code>"
             . translate_commands($defn)
             . "</code></td></tr>"
