From f269e5923282a7ac5934f12023775306671ebccc Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 17 Jul 2001 23:05:57 +0000 Subject: Define new markup for 5-column tables. --- Doc/doc/doc.tex | 16 ++++++++++ Doc/perl/python.perl | 79 +++++++++++++++++++++++++++++++++++++++++++----- Doc/texinputs/python.sty | 21 +++++++++++++ 3 files changed, 109 insertions(+), 7 deletions(-) diff --git a/Doc/doc/doc.tex b/Doc/doc/doc.tex index e3656b9..0fa9485 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 6e2ad3e..91c7632 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' + . "\n " + . "\n " + . "\n $th1$h1\ " + . "\n $th2$h2\ " + . "\n $th3$h3\ " + . "\n $th4$h4\ " + . "\n $th5$h5\ " + . "\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 8ce759b..498fc3b 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} -- cgit v0.12