]> granicus.if.org Git - python/commitdiff
Define new markup for 5-column tables.
authorFred Drake <fdrake@acm.org>
Tue, 17 Jul 2001 23:05:57 +0000 (23:05 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 17 Jul 2001 23:05:57 +0000 (23:05 +0000)
Doc/doc/doc.tex
Doc/perl/python.perl
Doc/texinputs/python.sty

index e3656b9a1d6faff17cf8b199e39e9e576bb7f7b4..0fa9485cd28792acd9a867b2028a8402e45504b7 100644 (file)
@@ -1171,6 +1171,22 @@ This \UNIX\ is also followed by a space.
       text for the fourth column is given by \var{column4}.
     \end{macrodesc}
 
+    \begin{envdesc}{tablev}{\p{colspec}\p{col1font}\p{heading1}\p{heading2}\p{heading3}\p{heading4}\p{heading5}}
+      Like the \env{tableiv} environment, but with a fifth column.
+      The heading for the fifth column is given by \var{heading5}.
+    \end{envdesc}
+
+    \begin{envdesc}{longtablev}{\unspecified}
+      Like \env{tablev}, but produces a table which may be broken
+      across page boundaries.  The parameters are the same as for
+      \env{tablev}.
+    \end{envdesc}
+
+    \begin{macrodesc}{linev}{\p{column1}\p{column2}\p{column3}\p{column4}\p{column5}}
+      Like the \macro{lineiv} macro, but with a fifth column.  The
+      text for the fifth column is given by \var{column5}.
+    \end{macrodesc}
+
 
     An additional table-like environment is \env{synopsistable}.  The
     table generated by this environment contains two columns, and each
index 6e2ad3e67b6cec9d64cad74a29a9cd21c96cb15d..91c76323f726886309ff5dd72cb896f7641f618d 100644 (file)
@@ -1159,6 +1159,7 @@ sub do_cmd_memberline{
     return "<dt><b>$idx</b><dd>" . $_;
 }
 
+
 sub do_env_memberdescni{
     local($_) = @_;
     next_optional_argument();
@@ -1176,7 +1177,8 @@ sub do_cmd_memberlineni{
     return "<dt><b><tt class=\"member\">$member</tt></b><dd>" . $_;
 }
 
-@col_aligns = ('<td>', '<td>', '<td>', '<td>');
+
+@col_aligns = ('<td>', '<td>', '<td>', '<td>', '<td>');
 
 sub fix_font{
     # do a little magic on a font name to get the right behavior in the first
@@ -1226,17 +1228,19 @@ sub figure_column_alignment{
 
 sub setup_column_alignments{
     local($_) = @_;
-    my($s1,$s2,$s3,$s4) = split(/[|]/,$_);
+    my($s1,$s2,$s3,$s4,$a5) = split(/[|]/,$_);
     my $a1 = figure_column_alignment($s1);
     my $a2 = figure_column_alignment($s2);
     my $a3 = figure_column_alignment($s3);
     my $a4 = figure_column_alignment($s4);
+    my $a5 = figure_column_alignment($s5);
     $col_aligns[0] = "<td$a1 valign=\"baseline\">";
     $col_aligns[1] = "<td$a2>";
     $col_aligns[2] = "<td$a3>";
     $col_aligns[3] = "<td$a4>";
+    $col_aligns[4] = "<td$a5>";
     # return the aligned header start tags
-    return ("<th$a1>", "<th$a2>", "<th$a3>", "<th$a4>");
+    return ("<th$a1>", "<th$a2>", "<th$a3>", "<th$a4>", "<th$a5>");
 }
 
 sub get_table_col1_fonts{
@@ -1252,7 +1256,7 @@ sub get_table_col1_fonts{
 
 sub do_env_tableii{
     local($_) = @_;
-    my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
+    my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
     my $font = fix_font(next_argument());
     my $h1 = next_argument();
     my $h2 = next_argument();
@@ -1298,7 +1302,7 @@ sub do_cmd_lineii{
 
 sub do_env_tableiii{
     local($_) = @_;
-    my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
+    my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
     my $font = fix_font(next_argument());
     my $h1 = next_argument();
     my $h2 = next_argument();
@@ -1331,7 +1335,7 @@ sub do_cmd_lineiii{
     local($_) = @_;
     my $aligns = next_optional_argument();
     my $c1 = next_argument();
-    my $c2 = next_argument(); 
+    my $c2 = next_argument();
     my $c3 = next_argument();
     s/[\s\n]+//;
     my($sfont,$efont) = get_table_col1_fonts();
@@ -1349,7 +1353,7 @@ sub do_cmd_lineiii{
 
 sub do_env_tableiv{
     local($_) = @_;
-    my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
+    my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
     my $font = fix_font(next_argument());
     my $h1 = next_argument();
     my $h2 = next_argument();
@@ -1403,6 +1407,67 @@ sub do_cmd_lineiv{
           . $_;
 }
 
+sub do_env_tablev{
+    local($_) = @_;
+    my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
+    my $font = fix_font(next_argument());
+    my $h1 = next_argument();
+    my $h2 = next_argument();
+    my $h3 = next_argument();
+    my $h4 = next_argument();
+    my $h5 = next_argument();
+    s/[\s\n]+//;
+    $globals{'lineifont'} = $font;
+    my $a1 = $col_aligns[0];
+    my $a2 = $col_aligns[1];
+    my $a3 = $col_aligns[2];
+    my $a4 = $col_aligns[3];
+    my $a5 = $col_aligns[4];
+    s/\\linev</\\linev[$a1|$a2|$a3|$a4|$a5]</g;
+    return '<table border align="center" style="border-collapse: collapse">'
+          . "\n  <thead>"
+          . "\n    <tr class=\"tableheader\">"
+          . "\n      $th1<b>$h1</b>\&nbsp;</th>"
+          . "\n      $th2<b>$h2</b>\&nbsp;</th>"
+          . "\n      $th3<b>$h3</b>\&nbsp;</th>"
+          . "\n      $th4<b>$h4</b>\&nbsp;</th>"
+          . "\n      $th5<b>$h5</b>\&nbsp;</th>"
+          . "\n      </tr>"
+          . "\n    </thead>"
+          . "\n  <tbody valign=\"baseline\">"
+          . $_
+          . "\n    </tbody>"
+          . "\n</table>";
+}
+
+sub do_env_longtablev{
+    return do_env_tablev(@_);
+}
+
+sub do_cmd_linev{
+    local($_) = @_;
+    my $aligns = next_optional_argument();
+    my $c1 = next_argument();
+    my $c2 = next_argument();
+    my $c3 = next_argument();
+    my $c4 = next_argument();
+    my $c5 = next_argument();
+    s/[\s\n]+//;
+    my($sfont,$efont) = get_table_col1_fonts();
+    $c5 = '&nbsp;' if ($c5 eq '');
+    my($c1align,$c2align,$c3align,$c4align,$c5align) = split('\|', $aligns);
+    my $padding = '';
+    if ($c1align =~ /align="right"/ || $c1 eq '') {
+        $padding = '&nbsp;';
+    }
+    return "\n    <tr>$c1align$sfont$c1$efont$padding</td>\n"
+           . "        $c2align$c2</td>\n"
+          . "        $c3align$c3</td>\n"
+          . "        $c4align$c4</td>\n"
+          . "        $c5align$c5</td>"
+          . $_;
+}
+
 
 # These can be used to control the title page appearance;
 # they need a little bit of documentation.
index 8ce759b7b5a3a5d0bdae3de753bcd9bdf084d8ab..498fc3bb9a20ed3418c479aed5bf7f54726fb454 100644 (file)
   \end{center}%
 }
 
+\newenvironment{tablev}[7]{%
+  \begin{center}%
+    \def\linev##1##2##3##4##5{\csname#2\endcsname{##1}&##2&##3&##4&##5\\}%
+    \begin{tabular}{#1}\strong{#3}&\strong{#4}&\strong{#5}&\strong{#6}&\strong{#7} \\%
+      \hline%
+}{%
+    \end{tabular}%
+  \end{center}%
+}
+
+\newenvironment{longtablev}[7]{%
+  \begin{center}%
+    \def\linev##1##2##3##4##5{\csname#2\endcsname{##1}&##2&##3&##4&##5\\}%
+    \begin{longtable}[c]{#1}\strong{#3}&\strong{#4}&\strong{#5}&\strong{#6}&\strong{#7}%
+      \\%
+      \hline\endhead%
+}{%
+    \end{longtable}%
+  \end{center}%
+}
+
 % Cross-referencing (AMK, new impl. FLD)
 % Sample usage:
 %  \begin{seealso}