diff --git a/Doc/doc/doc.tex b/Doc/doc/doc.tex
index e3656b9a1d6..0fa9485cd28 100644
--- a/Doc/doc/doc.tex
+++ b/Doc/doc/doc.tex
@@ -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
diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 6e2ad3e67b6..91c76323f72 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -1159,6 +1159,7 @@ sub do_cmd_memberline{
return "
$idx" . $_;
}
+
sub do_env_memberdescni{
local($_) = @_;
next_optional_argument();
@@ -1176,7 +1177,8 @@ sub do_cmd_memberlineni{
return "$member" . $_;
}
-@col_aligns = ('', ' | ', ' | ', ' | ');
+
+@col_aligns = (' | ', ' | ', ' | ', ' | ', ' | ');
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] = " | ";
$col_aligns[1] = " | ";
$col_aligns[2] = " | ";
$col_aligns[3] = " | ";
+ $col_aligns[4] = " | ";
# return the aligned header start tags
- return (" | ", " | ", " | ", " | ");
+ return (" | ", " | ", " | ", " | ", " | ");
}
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]'
+ . "\n "
+ . "\n "
+ . "\n "
+ . "\n | "
+ . $_
+ . "\n "
+ . "\n";
+}
+
+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 = ' ' if ($c5 eq '');
+ my($c1align,$c2align,$c3align,$c4align,$c5align) = split('\|', $aligns);
+ my $padding = '';
+ if ($c1align =~ /align="right"/ || $c1 eq '') {
+ $padding = ' ';
+ }
+ return "\n $c1align$sfont$c1$efont$padding\n"
+ . " $c2align$c2\n"
+ . " $c3align$c3\n"
+ . " $c4align$c4\n"
+ . " $c5align$c5"
+ . $_;
+}
+
# These can be used to control the title page appearance;
# they need a little bit of documentation.
diff --git a/Doc/texinputs/python.sty b/Doc/texinputs/python.sty
index 8ce759b7b5a..498fc3bb9a2 100644
--- a/Doc/texinputs/python.sty
+++ b/Doc/texinputs/python.sty
@@ -978,6 +978,27 @@
\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}