blob: 15f7adf5b12825e2c07bf0ec9c52a736326c8f97 [file] [log] [blame]
Fred Drake8ca70061997-12-08 20:59:54 +00001# myformat.perl by Guido van Rossum <guido@cwi.nl> 25 Jan 1994 -*- perl -*-
Guido van Rossum9e93fb61994-01-25 20:06:09 +00002#
3# Extension to LaTeX2HTML for documents using myformat.sty.
4# Subroutines of the form do_cmd_<name> here define translations
5# for LaTeX commands \<name> defined in the corresponding .sty file.
6#
7# XXX Not complete: \indexii etc.; \funcitem etc.
8
Fred Drake44640221996-11-11 20:51:09 +00009package main;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000010
11# \bcode and \ecode brackets around verbatim
12
13sub do_cmd_bcode{ @_[0]; }
14sub do_cmd_ecode{ @_[0]; }
15
16# words typeset in a special way (not in HTML though)
17
18sub do_cmd_ABC{ join('', 'ABC', @_[0]); }
19sub do_cmd_UNIX{ join('', 'Unix', @_[0]); }
20sub do_cmd_ASCII{ join('', 'ASCII', @_[0]); }
21sub do_cmd_C{ join('', 'C', @_[0]); }
Guido van Rossumb8b264b1994-08-12 13:13:50 +000022sub do_cmd_Cpp{ join('', 'C++', @_[0]); }
Guido van Rossum9e93fb61994-01-25 20:06:09 +000023sub do_cmd_EOF{ join('', 'EOF', @_[0]); }
Guido van Rossumd9a26ff1997-11-18 15:31:16 +000024sub do_cmd_NULL{ join('', 'NULL', @_[0]); }
Guido van Rossum9e93fb61994-01-25 20:06:09 +000025
Fred Drake3e1fe891996-11-11 23:03:36 +000026sub do_cmd_e{ local($_) = @_; '&#92;' . $_; }
Guido van Rossum9e93fb61994-01-25 20:06:09 +000027
Fred Drakec384d751996-11-11 16:04:35 +000028sub do_cmd_optional{
Guido van Rossum9e93fb61994-01-25 20:06:09 +000029 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000030 s/$any_next_pair_pr_rx/<\/var><big>\[<\/big><var>\2<\/var><big>\]<\/big><var>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000031 $_;
32}
33
Fred Drakec384d751996-11-11 16:04:35 +000034sub do_cmd_varvars{
35 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000036 s/$any_next_pair_pr_rx/<var>\2<\/var>/;
Fred Drakec384d751996-11-11 16:04:35 +000037 $_;
38}
39
Fred Drake3e1fe891996-11-11 23:03:36 +000040# texinfo-like formatting commands: \code{...} etc.
41
Fred Drakec384d751996-11-11 16:04:35 +000042sub do_cmd_code{
43 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000044 s/$any_next_pair_pr_rx/<code>\2<\/code>/;
Fred Drakec384d751996-11-11 16:04:35 +000045 $_;
46}
47
48sub do_cmd_sectcode{ &do_cmd_code(@_); }
49
Guido van Rossum9e93fb61994-01-25 20:06:09 +000050sub do_cmd_kbd{
51 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000052 s/$any_next_pair_pr_rx/<kbd>\2<\/kbd>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000053 $_;
54}
55
56sub do_cmd_key{
57 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000058 s/$any_next_pair_pr_rx/<tt>\2<\/tt>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000059 $_;
60}
61
62sub do_cmd_var{
63 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000064 s/$any_next_pair_pr_rx/<var>\2<\/var>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000065 $_;
66}
67
68sub do_cmd_dfn{
69 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000070 s/$any_next_pair_pr_rx/<i><dfn>\2<\/dfn><\/i>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000071 $_;
72}
73
74sub do_cmd_emph{
75 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +000076 s/$any_next_pair_pr_rx/<em>\2<\/em>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000077 $_;
78}
79
80sub do_cmd_strong{
81 local($_) = @_;
Fred Drake1af9e791998-01-12 23:15:29 +000082 s/$any_next_pair_pr_rx/<b>\2<\/b>/;
Guido van Rossum9e93fb61994-01-25 20:06:09 +000083 $_;
84}
85
Fred Drake7c4cba81997-12-03 19:45:08 +000086# file and samp are at the end of this file since they screw up fontlock.
87
Guido van Rossum9e93fb61994-01-25 20:06:09 +000088# index commands
89
90sub do_cmd_indexii{
91 local($_) = @_;
92 s/$next_pair_pr_rx//o;
93 local($br_id1, $str1) = ($1, $2);
94 s/$next_pair_pr_rx//o;
95 local($br_id2, $str2) = ($1, $2);
96 join('', &make_index_entry($br_id1, "$str1 $str2"),
97 &make_index_entry($br_id2, "$str2, $str1"), $_);
98}
99
100sub do_cmd_indexiii{
101 local($_) = @_;
102 s/$next_pair_pr_rx//o;
103 local($br_id1, $str1) = ($1, $2);
104 s/$next_pair_pr_rx//o;
105 local($br_id2, $str2) = ($1, $2);
106 s/$next_pair_pr_rx//o;
107 local($br_id3, $str3) = ($1, $2);
108 join('', &make_index_entry($br_id1, "$str1 $str2 $str3"),
109 &make_index_entry($br_id2, "$str2 $str3, $str1"),
110 &make_index_entry($br_id3, "$str3, $str1 $str2"),
Fred Drake72df9bc1997-12-16 21:13:20 +0000111 $_);
Guido van Rossum9e93fb61994-01-25 20:06:09 +0000112}
113
114sub do_cmd_indexiv{
115 local($_) = @_;
116 s/$next_pair_pr_rx//o;
117 local($br_id1, $str1) = ($1, $2);
118 s/$next_pair_pr_rx//o;
119 local($br_id2, $str2) = ($1, $2);
120 s/$next_pair_pr_rx//o;
121 local($br_id3, $str3) = ($1, $2);
122 s/$next_pair_pr_rx//o;
123 local($br_id4, $str4) = ($1, $2);
124 join('', &make_index_entry($br_id1, "$str1 $str2 $str3 $str4"),
125 &make_index_entry($br_id2, "$str2 $str3 $str4, $str1"),
126 &make_index_entry($br_id3, "$str3 $str4, $str1 $str2"),
127 &make_index_entry($br_id4, "$str4, $str1 $str2 $str3"),
Fred Drake72df9bc1997-12-16 21:13:20 +0000128 $_);
Guido van Rossum9e93fb61994-01-25 20:06:09 +0000129}
130
131sub do_cmd_ttindex{
132 &do_cmd_index(@_);
133}
134
135sub my_typed_index_helper{
136 local($word, $_) = @_;
137 s/$next_pair_pr_rx//o;
138 local($br_id, $str) = ($1, $2);
139 join('', &make_index_entry($br_id, "$str $word"),
140 &make_index_entry($br_id, "$word, $str"), $_);
141}
142
143sub do_cmd_stindex{ &my_typed_index_helper('statement', @_); }
144sub do_cmd_kwindex{ &my_typed_index_helper('keyword', @_); }
145sub do_cmd_opindex{ &my_typed_index_helper('operator', @_); }
146sub do_cmd_exindex{ &my_typed_index_helper('exception', @_); }
147sub do_cmd_obindex{ &my_typed_index_helper('object', @_); }
148
149sub my_parword_index_helper{
150 local($word, $_) = @_;
151 s/$next_pair_pr_rx//o;
152 local($br_id, $str) = ($1, $2);
Fred Drake72df9bc1997-12-16 21:13:20 +0000153 &make_index_entry($br_id, "$str ($word)") . $_;
Guido van Rossum9e93fb61994-01-25 20:06:09 +0000154}
155
Fred Drake84818d71997-12-17 02:59:39 +0000156sub make_mod_index_entry {
157 local($br_id,$str,$define) = @_;
Fred Drakeab0b65d1998-01-13 04:05:11 +0000158 local($halfref) = &make_half_href("$CURRENT_FILE#$br_id");
159 # If TITLE is not yet available (i.e the \index command is in the title
160 # of the current section), use $ref_before.
Fred Drake84818d71997-12-17 02:59:39 +0000161 $TITLE = $ref_before unless $TITLE;
162 # Save the reference
Fred Drakeab0b65d1998-01-13 04:05:11 +0000163 if ($define eq "DEF") {
164 local($nstr,$garbage) = split / /, $str, 2;
165 $Modules{$nstr} .= $halfref;
166 }
Fred Drake84818d71997-12-17 02:59:39 +0000167 $str = &gen_index_id($str, $define);
Fred Drakeab0b65d1998-01-13 04:05:11 +0000168 $index{$str} .= $halfref;
Fred Drake8da9e6a1997-12-18 14:14:16 +0000169 "<a name=\"$br_id\">$anchor_invisible_mark<\/a>";
Fred Drake84818d71997-12-17 02:59:39 +0000170}
171
172sub my_module_index_helper{
173 local($word, $_, $define) = @_;
174 s/$next_pair_pr_rx//o;
175 local($br_id, $str) = ($1, $2);
176 &make_mod_index_entry($br_id, "<tt>$str</tt> ($word module)",
177 $define) . $_;
178}
179
Guido van Rossum9e93fb61994-01-25 20:06:09 +0000180sub do_cmd_bifuncindex{ &my_parword_index_helper('built-in function', @_); }
Fred Drake84818d71997-12-17 02:59:39 +0000181sub do_cmd_bimodindex{ &my_module_index_helper('built-in', @_, 'DEF'); }
182sub do_cmd_stmodindex{ &my_module_index_helper('standard', @_, 'DEF'); }
Guido van Rossum9e93fb61994-01-25 20:06:09 +0000183sub do_cmd_bifuncindex{ &my_parword_index_helper('standard module', @_); }
184
Fred Drake84818d71997-12-17 02:59:39 +0000185sub do_cmd_refbimodindex{ &my_module_index_helper('built-in', @_, 'REF'); }
186sub do_cmd_refstmodindex{ &my_module_index_helper('standard', @_, 'REF'); }
Fred Drake72df9bc1997-12-16 21:13:20 +0000187
Fred Drakec384d751996-11-11 16:04:35 +0000188sub do_cmd_nodename{ &do_cmd_label(@_); }
189
Fred Drake1af9e791998-01-12 23:15:29 +0000190sub do_cmd_mytableofcontents{ @_[0]; }
Fred Drake46fbd7f1998-01-09 05:22:44 +0000191
Fred Drake1af9e791998-01-12 23:15:29 +0000192sub init_myformat{
193 # XXX need some way for this to be called after &initialise;
194 # <<2>>...<<2>>
195 $any_next_pair_rx3 = "$O(\\d+)$C([\\s\\S]*)$O\\3$C";
196 $any_next_pair_rx5 = "$O(\\d+)$C([\\s\\S]*)$O\\5$C";
197 $any_next_pair_rx7 = "$O(\\d+)$C([\\s\\S]*)$O\\7$C";
198 $any_next_pair_rx9 = "$O(\\d+)$C([\\s\\S]*)$O\\9$C";
199 # <#2#>...<#2#>
200 $any_next_pair_pr_rx_3 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
201 $any_next_pair_pr_rx_5 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\5$CP";
202 $any_next_pair_pr_rx_7 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\7$CP";
203 $any_next_pair_pr_rx_9 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\9$CP";
204 $new_command{"indexsubitem"} = "";
205}
206
207&init_myformat;
Fred Drakec384d751996-11-11 16:04:35 +0000208
209sub get_indexsubitem{
210 local($result) = $new_command{"indexsubitem"};
211 #print "\nget_indexsubitem ==> $result\n";
Fred Drake9597daf1997-12-22 22:37:34 +0000212 $result ? " $result" : '';
Fred Drakec384d751996-11-11 16:04:35 +0000213}
214
Fred Drake84818d71997-12-17 02:59:39 +0000215# similar to make_index_entry(), but includes the string in the result
216# instead of the dummy filler.
217#
218sub make_str_index_entry {
219 local($br_id,$str) = @_;
220 # If TITLE is not yet available (i.e the \index command is in the title
221 # of the current section), use $ref_before.
222 $TITLE = $ref_before unless $TITLE;
223 # Save the reference
224 local($nstr) = &gen_index_id($str, '');
225 $index{$nstr} .= &make_half_href("$CURRENT_FILE#$br_id");
226 "<a name=\"$br_id\">$str<\/a>";
227}
228
Fred Drake7a7480d1996-10-29 15:56:57 +0000229sub do_env_cfuncdesc{
230 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000231 local($return_type,$function_name,$arg_list,$idx) = ('', '', '', '');
Fred Drake7a7480d1996-10-29 15:56:57 +0000232 local($cfuncdesc_rx) =
Fred Drakec384d751996-11-11 16:04:35 +0000233 "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5";
Fred Drake7a7480d1996-10-29 15:56:57 +0000234 $* = 1;
235 if (/$cfuncdesc_rx/o) {
236 $return_type = "$2";
237 $function_name = "$4";
238 $arg_list = "$6";
Fred Drake7c4cba81997-12-03 19:45:08 +0000239 $idx = &make_str_index_entry($3,
Fred Drake9597daf1997-12-22 22:37:34 +0000240 "<tt>$function_name</tt>" . &get_indexsubitem);
Fred Drake7a7480d1996-10-29 15:56:57 +0000241 }
242 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000243 "<dl><dt>$return_type <b>$idx</b>" .
Fred Drake7c4cba81997-12-03 19:45:08 +0000244 "(<var>$arg_list</var>)\n<dd>$'\n</dl>"
Fred Drake7a7480d1996-10-29 15:56:57 +0000245}
246
Fred Drake9dcc5a91997-10-13 22:04:17 +0000247sub do_env_ctypedesc{
248 local($_) = @_;
249 local($type_name) = ('');
250 local($cfuncdesc_rx) =
251 "$next_pair_rx";
252 $* = 1;
253 if (/$cfuncdesc_rx/o) {
254 $type_name = "$2";
Fred Drake7c4cba81997-12-03 19:45:08 +0000255 $idx = &make_str_index_entry($1,
Fred Drake9597daf1997-12-22 22:37:34 +0000256 "<tt>$type_name</tt>" . &get_indexsubitem);
Fred Drake9dcc5a91997-10-13 22:04:17 +0000257 }
258 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000259 "<dl><dt><b>$idx</b>\n<dd>$'\n</dl>"
Fred Drake9dcc5a91997-10-13 22:04:17 +0000260}
261
262sub do_env_cvardesc{
263 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000264 local($var_type,$var_name,$idx) = ('', '', '');
Fred Drake1af9e791998-01-12 23:15:29 +0000265 local($cfuncdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
Fred Drake9dcc5a91997-10-13 22:04:17 +0000266 $* = 1;
267 if (/$cfuncdesc_rx/o) {
268 $var_type = "$2";
269 $var_name = "$4";
Fred Drake9597daf1997-12-22 22:37:34 +0000270 $idx = &make_str_index_entry($3,"<tt>$var_name</tt>" . &get_indexsubitem);
Fred Drake9dcc5a91997-10-13 22:04:17 +0000271 }
272 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000273 "<dl><dt>$var_type <b>$idx</b>\n" .
Fred Drake7c4cba81997-12-03 19:45:08 +0000274 "<dd>$'\n</dl>";
Fred Drake9dcc5a91997-10-13 22:04:17 +0000275}
276
Fred Drakec384d751996-11-11 16:04:35 +0000277sub do_env_funcdesc{
278 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000279 local($function_name,$arg_list,$idx) = ('', '', '');
Fred Drakec384d751996-11-11 16:04:35 +0000280 local($funcdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
281 $* = 1;
282 if (/$funcdesc_rx/o) {
283 $function_name = "$2";
284 $arg_list = "$4";
Fred Drake7c4cba81997-12-03 19:45:08 +0000285 $idx = &make_str_index_entry($3,
Fred Drake9597daf1997-12-22 22:37:34 +0000286 "<tt>$function_name</tt>" . &get_indexsubitem);
Fred Drakec384d751996-11-11 16:04:35 +0000287 }
288 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000289 "<dl><dt><b>$idx</b> (<var>$arg_list</var>)\n<dd>$'\n</dl>";
290}
291
292sub do_cmd_funcline{
293 local($_) = @_;
294 local($funcdesc_rx) = "$next_pair_pr_rx$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
295
296 s/$funcdesc_rx//o;
297 local($br_id, $function_name, $arg_list) = ($3, $2, $4);
298 local($idx) = &make_str_index_entry($br_id, "<tt>$function_name</tt>");
299
300 "<dt><b>$idx</b> (<var>$arg_list</var>)\n<dd>" . $_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000301}
302
303sub do_env_opcodedesc{
304 local($_) = @_;
305 local($opcode_name,$arg_list,$stuff,$idx) = ('', '', '', '');
306 local($opcodedesc_rx) = "$next_pair_rx$any_next_pair_rx3";
307 $* = 1;
308 if (/$opcodedesc_rx/o) {
309 $opcode_name = "$2";
310 $arg_list = "$4";
311 $idx = &make_str_index_entry($3,
312 "<tt>$opcode_name</tt> (byte code instruction)");
313 }
314 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000315 $stuff = "<dl><dt><b>$idx</b>";
Fred Drake7c4cba81997-12-03 19:45:08 +0000316 if ($arg_list) {
317 $stuff = "$stuff&nbsp;&nbsp;&nbsp;&nbsp;<var>$arg_list</var>";
318 }
319 $stuff . "\n<dd>$'\n</dl>";
Fred Drakec384d751996-11-11 16:04:35 +0000320}
321
322sub do_env_datadesc{
323 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000324 local($data_name,$idx) = ('', '');
Fred Drakec384d751996-11-11 16:04:35 +0000325 local($datadesc_rx) = "$next_pair_rx";
326 $* = 1;
327 if (/$datadesc_rx/o) {
328 $data_name = "$2";
Fred Drake7c4cba81997-12-03 19:45:08 +0000329 $idx = &make_str_index_entry($3,
Fred Drake9597daf1997-12-22 22:37:34 +0000330 "<tt>$data_name</tt>" . &get_indexsubitem);
Fred Drakec384d751996-11-11 16:04:35 +0000331 }
332 $* = 0;
Fred Drake1af9e791998-01-12 23:15:29 +0000333 "<dl><dt><b>$idx</b>\n<dd>$'\n</dl>"
334}
335
336sub do_cmd_dataline{
337 local($_) = @_;
338
339 s/$next_pair_pr_rx//o;
340 local($br_id, $data_name) = ($1, $2);
341 local($idx) = &make_str_index_entry($br_id, "<tt>$data_name</tt>");
342
343 "<dt><b>$idx</b>\n<dd>" . $_;
Fred Drakec384d751996-11-11 16:04:35 +0000344}
345
346sub do_env_excdesc{ &do_env_datadesc(@_); }
347
Fred Drake9597daf1997-12-22 22:37:34 +0000348@col_aligns = ("<td>", "<td>", "<td>");
349
350sub setup_column_alignments{
351 local($_) = @_;
352 local($j1,$a1,$a2,$a3,$j4) = split(/[|]/,$_);
Fred Drake1af9e791998-01-12 23:15:29 +0000353 local($th1,$th2,$th3) = ('<th>', '<th>', '<th>');
Fred Drake9597daf1997-12-22 22:37:34 +0000354 $col_aligns[0] = (($a1 eq "c") ? "<td align=center>" : "<td>");
355 $col_aligns[1] = (($a2 eq "c") ? "<td align=center>" : "<td>");
356 $col_aligns[2] = (($a3 eq "c") ? "<td align=center>" : "<td>");
Fred Drake1af9e791998-01-12 23:15:29 +0000357 # return the aligned header start tags; only used for \begin{tableiii?}
358 $th1 = (($a1 eq "l") ? "<th align=left>"
359 : ($a1 eq "r" ? "<th align=right>" : "<th>"));
360 $th2 = (($a2 eq "l") ? "<th align=left>"
361 : ($a2 eq "r" ? "<th align=right>" : "<th>"));
362 $th3 = (($a3 eq "l") ? "<th align=left>"
363 : ($a3 eq "r" ? "<th align=right>" : "<th>"));
364 ($th1, $th2, $th3);
Fred Drake9597daf1997-12-22 22:37:34 +0000365}
366
367sub do_env_tableii{
368 local($_) = @_;
369 local($font,$h1,$h2) = ('', '', '');
370 local($tableiii_rx) =
371 "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7";
372 $* = 1;
373 if (/$tableiii_rx/o) {
Fred Drake9597daf1997-12-22 22:37:34 +0000374 $font = $4;
375 $h1 = $6;
376 $h2 = $8;
377 }
Fred Drake1af9e791998-01-12 23:15:29 +0000378 local($th1,$th2,$th3) = &setup_column_alignments($2);
Fred Drake9597daf1997-12-22 22:37:34 +0000379 $globals{"lineifont"} = $font;
Fred Drake1af9e791998-01-12 23:15:29 +0000380 "<table border align=center>\n <tr>$th1$h1</th>\n $th2$h2</th>$'\n"
Fred Drake9597daf1997-12-22 22:37:34 +0000381 . "</table>";
382}
383
384sub do_cmd_lineii{
385 local($_) = @_;
386 s/$next_pair_pr_rx//o;
387 local($c1) = $2;
388 s/$next_pair_pr_rx//o;
389 local($c2) = $2;
390 local($font) = $globals{"lineifont"};
391 local($c1align, $c2align) = @col_aligns[0,1];
392 "<tr>$c1align<$font>$c1</$font></td>\n"
393 . " $c2align$c2</td>$'";
394}
395
396sub do_env_tableiii{
397 local($_) = @_;
398 local($font,$h1,$h2,$h3) = ('', '', '', '');
Fred Drake1af9e791998-01-12 23:15:29 +0000399
Fred Drake9597daf1997-12-22 22:37:34 +0000400 local($tableiii_rx) =
401 "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7"
402 . "$any_next_pair_rx9";
403 $* = 1;
404 if (/$tableiii_rx/o) {
Fred Drake9597daf1997-12-22 22:37:34 +0000405 $font = $4;
406 $h1 = $6;
407 $h2 = $8;
408 $h3 = $10;
409 }
Fred Drake1af9e791998-01-12 23:15:29 +0000410 local($th1,$th2,$th3) = &setup_column_alignments($2);
Fred Drake9597daf1997-12-22 22:37:34 +0000411 $globals{"lineifont"} = $font;
Fred Drake1af9e791998-01-12 23:15:29 +0000412 "<table border align=center>\n <tr>$th1$h1</th>\n $th2$h2</th>"
413 . "\n $th3$h3</th>$'\n"
Fred Drake9597daf1997-12-22 22:37:34 +0000414 . "</table>";
415}
416
417sub do_cmd_lineiii{
418 local($_) = @_;
419 s/$next_pair_pr_rx//o;
420 local($c1) = $2;
421 s/$next_pair_pr_rx//o;
422 local($c2) = $2;
423 s/$next_pair_pr_rx//o;
424 local($c3) = $2;
425 local($font) = $globals{"lineifont"};
426 local($c1align, $c2align, $c3align) = @col_aligns;
427 "<tr>$c1align<$font>$c1</$font></td>\n"
428 . " $c2align$c2</td>\n"
429 . " $c3align$c3</td>$'";
430}
431
Fred Drake9dcc5a91997-10-13 22:04:17 +0000432sub do_env_seealso{
433 local($_) = @_;
Fred Drake7c4cba81997-12-03 19:45:08 +0000434 "<p><b>See Also:</b></p>\n" . $_;
Fred Drake9dcc5a91997-10-13 22:04:17 +0000435}
436
437sub do_cmd_seemodule{
438 local($_) = @_;
439 local($any_next_pair_pr_rx3) = "$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
Fred Drake7c4cba81997-12-03 19:45:08 +0000440 s/$next_pair_pr_rx$any_next_pair_pr_rx3/<p><code><b>\2<\/b><\/code> (\4)<\/p>/;
Fred Drake9dcc5a91997-10-13 22:04:17 +0000441 $_;
442}
443
444sub do_cmd_seetext{
445 local($_) = @_;
446 "<p>" . $_;
447}
448
Fred Drake7c4cba81997-12-03 19:45:08 +0000449# These are located down here since they screw up fontlock.
450
451sub do_cmd_file{
452 local($_) = @_;
453 s/$any_next_pair_pr_rx/`<code>\2<\/code>'/;
454 $_;
455}
456
457sub do_cmd_samp{
458 local($_) = @_;
459 s/$any_next_pair_pr_rx/`<samp>\2<\/samp>'/;
460 $_;
461}
462
Guido van Rossum9e93fb61994-01-25 20:06:09 +00004631; # This must be the last line