diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 2671bbc..a0cb70c 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -1416,7 +1416,7 @@
     my $a1 = $col_aligns[0];
     my $a2 = $col_aligns[1];
     s/\\lineii</\\lineii[$a1|$a2]</g;
-    return '<table class="realtable">'
+    return '<div class="center"><table class="realtable">'
            . "\n  <thead>"
            . "\n    <tr>"
            . "\n      $th1$h1</th>"
@@ -1426,7 +1426,7 @@
            . "\n  <tbody>"
            . $_
            . "\n    </tbody>"
-           . "\n</table>";
+           . "\n</table></div>";
 }
 
 sub do_env_longtableii{
@@ -1460,7 +1460,7 @@
     my $a2 = $col_aligns[1];
     my $a3 = $col_aligns[2];
     s/\\lineiii</\\lineiii[$a1|$a2|$a3]</g;
-    return '<table class="realtable">'
+    return '<div class="center"><table class="realtable">'
            . "\n  <thead>"
            . "\n    <tr>"
            . "\n      $th1$h1</th>"
@@ -1471,7 +1471,7 @@
            . "\n  <tbody>"
            . $_
            . "\n    </tbody>"
-           . "\n</table>";
+           . "\n</table></div>";
 }
 
 sub do_env_longtableiii{
@@ -1509,7 +1509,7 @@
     my $a3 = $col_aligns[2];
     my $a4 = $col_aligns[3];
     s/\\lineiv</\\lineiv[$a1|$a2|$a3|$a4]</g;
-    return '<table class="realtable">'
+    return '<div class="center"><table class="realtable">'
            . "\n  <thead>"
            . "\n    <tr>"
            . "\n      $th1$h1</th>"
@@ -1521,7 +1521,7 @@
            . "\n  <tbody>"
            . $_
            . "\n    </tbody>"
-           . "\n</table>";
+           . "\n</table></div>";
 }
 
 sub do_env_longtableiv{
@@ -1563,7 +1563,7 @@
     my $a4 = $col_aligns[3];
     my $a5 = $col_aligns[4];
     s/\\linev</\\linev[$a1|$a2|$a3|$a4|$a5]</g;
-    return '<table class="realtable">'
+    return '<div class="center"><table class="realtable">'
            . "\n  <thead>"
            . "\n    <tr>"
            . "\n      $th1$h1</th>"
@@ -1576,7 +1576,7 @@
            . "\n  <tbody>"
            . $_
            . "\n    </tbody>"
-           . "\n</table>";
+           . "\n</table></div>";
 }
 
 sub do_env_longtablev{
@@ -1720,9 +1720,9 @@
         }
     }
     else {
-        $the_title .= ("\n<center>"
+        $the_title .= ("\n<div class='center'>"
                        . make_my_titlepage()
-                       . "\n</center>");
+                       . "\n</div>");
     }
     $the_title .= "\n</div>";
     return $the_title . $_;
