Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f269e59

Browse files
committed
Define new markup for 5-column tables.
1 parent 1f4cc89 commit f269e59

3 files changed

Lines changed: 109 additions & 7 deletions

File tree

Doc/doc/doc.tex

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,22 @@ \section{\module{bar.foo} ---
11711171
text for the fourth column is given by \var{column4}.
11721172
\end{macrodesc}
11731173

1174+
\begin{envdesc}{tablev}{\p{colspec}\p{col1font}\p{heading1}\p{heading2}\p{heading3}\p{heading4}\p{heading5}}
1175+
Like the \env{tableiv} environment, but with a fifth column.
1176+
The heading for the fifth column is given by \var{heading5}.
1177+
\end{envdesc}
1178+
1179+
\begin{envdesc}{longtablev}{\unspecified}
1180+
Like \env{tablev}, but produces a table which may be broken
1181+
across page boundaries. The parameters are the same as for
1182+
\env{tablev}.
1183+
\end{envdesc}
1184+
1185+
\begin{macrodesc}{linev}{\p{column1}\p{column2}\p{column3}\p{column4}\p{column5}}
1186+
Like the \macro{lineiv} macro, but with a fifth column. The
1187+
text for the fifth column is given by \var{column5}.
1188+
\end{macrodesc}
1189+
11741190

11751191
An additional table-like environment is \env{synopsistable}. The
11761192
table generated by this environment contains two columns, and each

Doc/perl/python.perl

Lines changed: 72 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,6 +1159,7 @@ sub do_cmd_memberline{
11591159
return "<dt><b>$idx</b><dd>" . $_;
11601160
}
11611161

1162+
11621163
sub do_env_memberdescni{
11631164
local($_) = @_;
11641165
next_optional_argument();
@@ -1176,7 +1177,8 @@ sub do_cmd_memberlineni{
11761177
return "<dt><b><tt class=\"member\">$member</tt></b><dd>" . $_;
11771178
}
11781179

1179-
@col_aligns = ('<td>', '<td>', '<td>', '<td>');
1180+
1181+
@col_aligns = ('<td>', '<td>', '<td>', '<td>', '<td>');
11801182

11811183
sub fix_font{
11821184
# do a little magic on a font name to get the right behavior in the first
@@ -1226,17 +1228,19 @@ sub figure_column_alignment{
12261228

12271229
sub setup_column_alignments{
12281230
local($_) = @_;
1229-
my($s1,$s2,$s3,$s4) = split(/[|]/,$_);
1231+
my($s1,$s2,$s3,$s4,$a5) = split(/[|]/,$_);
12301232
my $a1 = figure_column_alignment($s1);
12311233
my $a2 = figure_column_alignment($s2);
12321234
my $a3 = figure_column_alignment($s3);
12331235
my $a4 = figure_column_alignment($s4);
1236+
my $a5 = figure_column_alignment($s5);
12341237
$col_aligns[0] = "<td$a1 valign=\"baseline\">";
12351238
$col_aligns[1] = "<td$a2>";
12361239
$col_aligns[2] = "<td$a3>";
12371240
$col_aligns[3] = "<td$a4>";
1241+
$col_aligns[4] = "<td$a5>";
12381242
# return the aligned header start tags
1239-
return ("<th$a1>", "<th$a2>", "<th$a3>", "<th$a4>");
1243+
return ("<th$a1>", "<th$a2>", "<th$a3>", "<th$a4>", "<th$a5>");
12401244
}
12411245

12421246
sub get_table_col1_fonts{
@@ -1252,7 +1256,7 @@ sub get_table_col1_fonts{
12521256

12531257
sub do_env_tableii{
12541258
local($_) = @_;
1255-
my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
1259+
my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
12561260
my $font = fix_font(next_argument());
12571261
my $h1 = next_argument();
12581262
my $h2 = next_argument();
@@ -1298,7 +1302,7 @@ sub do_cmd_lineii{
12981302

12991303
sub do_env_tableiii{
13001304
local($_) = @_;
1301-
my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
1305+
my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
13021306
my $font = fix_font(next_argument());
13031307
my $h1 = next_argument();
13041308
my $h2 = next_argument();
@@ -1331,7 +1335,7 @@ sub do_cmd_lineiii{
13311335
local($_) = @_;
13321336
my $aligns = next_optional_argument();
13331337
my $c1 = next_argument();
1334-
my $c2 = next_argument();
1338+
my $c2 = next_argument();
13351339
my $c3 = next_argument();
13361340
s/[\s\n]+//;
13371341
my($sfont,$efont) = get_table_col1_fonts();
@@ -1349,7 +1353,7 @@ sub do_cmd_lineiii{
13491353

13501354
sub do_env_tableiv{
13511355
local($_) = @_;
1352-
my($th1,$th2,$th3,$th4) = setup_column_alignments(next_argument());
1356+
my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
13531357
my $font = fix_font(next_argument());
13541358
my $h1 = next_argument();
13551359
my $h2 = next_argument();
@@ -1403,6 +1407,67 @@ sub do_cmd_lineiv{
14031407
. $_;
14041408
}
14051409

1410+
sub do_env_tablev{
1411+
local($_) = @_;
1412+
my($th1,$th2,$th3,$th4,$th5) = setup_column_alignments(next_argument());
1413+
my $font = fix_font(next_argument());
1414+
my $h1 = next_argument();
1415+
my $h2 = next_argument();
1416+
my $h3 = next_argument();
1417+
my $h4 = next_argument();
1418+
my $h5 = next_argument();
1419+
s/[\s\n]+//;
1420+
$globals{'lineifont'} = $font;
1421+
my $a1 = $col_aligns[0];
1422+
my $a2 = $col_aligns[1];
1423+
my $a3 = $col_aligns[2];
1424+
my $a4 = $col_aligns[3];
1425+
my $a5 = $col_aligns[4];
1426+
s/\\linev</\\linev[$a1|$a2|$a3|$a4|$a5]</g;
1427+
return '<table border align="center" style="border-collapse: collapse">'
1428+
. "\n <thead>"
1429+
. "\n <tr class=\"tableheader\">"
1430+
. "\n $th1<b>$h1</b>\&nbsp;</th>"
1431+
. "\n $th2<b>$h2</b>\&nbsp;</th>"
1432+
. "\n $th3<b>$h3</b>\&nbsp;</th>"
1433+
. "\n $th4<b>$h4</b>\&nbsp;</th>"
1434+
. "\n $th5<b>$h5</b>\&nbsp;</th>"
1435+
. "\n </tr>"
1436+
. "\n </thead>"
1437+
. "\n <tbody valign=\"baseline\">"
1438+
. $_
1439+
. "\n </tbody>"
1440+
. "\n</table>";
1441+
}
1442+
1443+
sub do_env_longtablev{
1444+
return do_env_tablev(@_);
1445+
}
1446+
1447+
sub do_cmd_linev{
1448+
local($_) = @_;
1449+
my $aligns = next_optional_argument();
1450+
my $c1 = next_argument();
1451+
my $c2 = next_argument();
1452+
my $c3 = next_argument();
1453+
my $c4 = next_argument();
1454+
my $c5 = next_argument();
1455+
s/[\s\n]+//;
1456+
my($sfont,$efont) = get_table_col1_fonts();
1457+
$c5 = '&nbsp;' if ($c5 eq '');
1458+
my($c1align,$c2align,$c3align,$c4align,$c5align) = split('\|', $aligns);
1459+
my $padding = '';
1460+
if ($c1align =~ /align="right"/ || $c1 eq '') {
1461+
$padding = '&nbsp;';
1462+
}
1463+
return "\n <tr>$c1align$sfont$c1$efont$padding</td>\n"
1464+
. " $c2align$c2</td>\n"
1465+
. " $c3align$c3</td>\n"
1466+
. " $c4align$c4</td>\n"
1467+
. " $c5align$c5</td>"
1468+
. $_;
1469+
}
1470+
14061471

14071472
# These can be used to control the title page appearance;
14081473
# they need a little bit of documentation.

Doc/texinputs/python.sty

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,27 @@
978978
\end{center}%
979979
}
980980

981+
\newenvironment{tablev}[7]{%
982+
\begin{center}%
983+
\def\linev##1##2##3##4##5{\csname#2\endcsname{##1}&##2&##3&##4&##5\\}%
984+
\begin{tabular}{#1}\strong{#3}&\strong{#4}&\strong{#5}&\strong{#6}&\strong{#7} \\%
985+
\hline%
986+
}{%
987+
\end{tabular}%
988+
\end{center}%
989+
}
990+
991+
\newenvironment{longtablev}[7]{%
992+
\begin{center}%
993+
\def\linev##1##2##3##4##5{\csname#2\endcsname{##1}&##2&##3&##4&##5\\}%
994+
\begin{longtable}[c]{#1}\strong{#3}&\strong{#4}&\strong{#5}&\strong{#6}&\strong{#7}%
995+
\\%
996+
\hline\endhead%
997+
}{%
998+
\end{longtable}%
999+
\end{center}%
1000+
}
1001+
9811002
% Cross-referencing (AMK, new impl. FLD)
9821003
% Sample usage:
9831004
% \begin{seealso}

0 commit comments

Comments
 (0)