mirror of
https://github.com/python/cpython.git
synced 2025-09-12 03:37:09 +00:00
Define new markup for 5-column tables.
This commit is contained in:
parent
1f4cc897f8
commit
f269e59232
3 changed files with 109 additions and 7 deletions
|
@ -1171,6 +1171,22 @@ This \UNIX\ is also followed by a space.
|
||||||
text for the fourth column is given by \var{column4}.
|
text for the fourth column is given by \var{column4}.
|
||||||
\end{macrodesc}
|
\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
|
An additional table-like environment is \env{synopsistable}. The
|
||||||
table generated by this environment contains two columns, and each
|
table generated by this environment contains two columns, and each
|
||||||
|
|
|
@ -1159,6 +1159,7 @@ sub do_cmd_memberline{
|
||||||
return "<dt><b>$idx</b><dd>" . $_;
|
return "<dt><b>$idx</b><dd>" . $_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub do_env_memberdescni{
|
sub do_env_memberdescni{
|
||||||
local($_) = @_;
|
local($_) = @_;
|
||||||
next_optional_argument();
|
next_optional_argument();
|
||||||
|
@ -1176,7 +1177,8 @@ sub do_cmd_memberlineni{
|
||||||
return "<dt><b><tt class=\"member\">$member</tt></b><dd>" . $_;
|
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{
|
sub fix_font{
|
||||||
# do a little magic on a font name to get the right behavior in the first
|
# 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{
|
sub setup_column_alignments{
|
||||||
local($_) = @_;
|
local($_) = @_;
|
||||||
my($s1,$s2,$s3,$s4) = split(/[|]/,$_);
|
my($s1,$s2,$s3,$s4,$a5) = split(/[|]/,$_);
|
||||||
my $a1 = figure_column_alignment($s1);
|
my $a1 = figure_column_alignment($s1);
|
||||||
my $a2 = figure_column_alignment($s2);
|
my $a2 = figure_column_alignment($s2);
|
||||||
my $a3 = figure_column_alignment($s3);
|
my $a3 = figure_column_alignment($s3);
|
||||||
my $a4 = figure_column_alignment($s4);
|
my $a4 = figure_column_alignment($s4);
|
||||||
|
my $a5 = figure_column_alignment($s5);
|
||||||
$col_aligns[0] = "<td$a1 valign=\"baseline\">";
|
$col_aligns[0] = "<td$a1 valign=\"baseline\">";
|
||||||
$col_aligns[1] = "<td$a2>";
|
$col_aligns[1] = "<td$a2>";
|
||||||
$col_aligns[2] = "<td$a3>";
|
$col_aligns[2] = "<td$a3>";
|
||||||
$col_aligns[3] = "<td$a4>";
|
$col_aligns[3] = "<td$a4>";
|
||||||
|
$col_aligns[4] = "<td$a5>";
|
||||||
# return the aligned header start tags
|
# 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{
|
sub get_table_col1_fonts{
|
||||||
|
@ -1252,7 +1256,7 @@ sub get_table_col1_fonts{
|
||||||
|
|
||||||
sub do_env_tableii{
|
sub do_env_tableii{
|
||||||
local($_) = @_;
|
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 $font = fix_font(next_argument());
|
||||||
my $h1 = next_argument();
|
my $h1 = next_argument();
|
||||||
my $h2 = next_argument();
|
my $h2 = next_argument();
|
||||||
|
@ -1298,7 +1302,7 @@ sub do_cmd_lineii{
|
||||||
|
|
||||||
sub do_env_tableiii{
|
sub do_env_tableiii{
|
||||||
local($_) = @_;
|
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 $font = fix_font(next_argument());
|
||||||
my $h1 = next_argument();
|
my $h1 = next_argument();
|
||||||
my $h2 = next_argument();
|
my $h2 = next_argument();
|
||||||
|
@ -1349,7 +1353,7 @@ sub do_cmd_lineiii{
|
||||||
|
|
||||||
sub do_env_tableiv{
|
sub do_env_tableiv{
|
||||||
local($_) = @_;
|
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 $font = fix_font(next_argument());
|
||||||
my $h1 = next_argument();
|
my $h1 = next_argument();
|
||||||
my $h2 = 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>\ </th>"
|
||||||
|
. "\n $th2<b>$h2</b>\ </th>"
|
||||||
|
. "\n $th3<b>$h3</b>\ </th>"
|
||||||
|
. "\n $th4<b>$h4</b>\ </th>"
|
||||||
|
. "\n $th5<b>$h5</b>\ </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 = ' ' if ($c5 eq '');
|
||||||
|
my($c1align,$c2align,$c3align,$c4align,$c5align) = split('\|', $aligns);
|
||||||
|
my $padding = '';
|
||||||
|
if ($c1align =~ /align="right"/ || $c1 eq '') {
|
||||||
|
$padding = ' ';
|
||||||
|
}
|
||||||
|
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;
|
# These can be used to control the title page appearance;
|
||||||
# they need a little bit of documentation.
|
# they need a little bit of documentation.
|
||||||
|
|
|
@ -978,6 +978,27 @@
|
||||||
\end{center}%
|
\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)
|
% Cross-referencing (AMK, new impl. FLD)
|
||||||
% Sample usage:
|
% Sample usage:
|
||||||
% \begin{seealso}
|
% \begin{seealso}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue