diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/perl/ltxmarkup.perl | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/perl/ltxmarkup.perl')
-rw-r--r-- | sys/src/cmd/python/Doc/perl/ltxmarkup.perl | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/perl/ltxmarkup.perl b/sys/src/cmd/python/Doc/perl/ltxmarkup.perl new file mode 100644 index 000000000..1a0f7e193 --- /dev/null +++ b/sys/src/cmd/python/Doc/perl/ltxmarkup.perl @@ -0,0 +1,67 @@ +# LaTeX2HTML support for the ltxmarkup package. Doesn't do indexing. + +package main; + + +sub ltx_next_argument{ + my $param; + $param = missing_braces() + unless ((s/$next_pair_pr_rx/$param=$2;''/eo) + ||(s/$next_pair_rx/$param=$2;''/eo)); + return $param; +} + + +sub do_cmd_macro{ + local($_) = @_; + my $macro = ltx_next_argument(); + return "<tt class='macro'>\$macro</tt>" . $_; +} + +sub do_cmd_env{ + local($_) = @_; + my $env = ltx_next_argument(); + return "<tt class='environment'>\$env</tt>" . $_; +} + +sub ltx_process_params{ + # Handle processing of \p and \op for parameter specifications for + # envdesc and macrodesc. It's done this way to avoid defining do_cmd_p() + # and do_cmd_op() functions, which would be interpreted outside the context + # in which these commands are legal, and cause LaTeX2HTML to think they're + # defined. This way, other uses of \p and \op are properly flagged as + # unknown macros. + my $s = @_[0]; + $s =~ s%\\op<<(\d+)>>(.+)<<\1>>%<tt>[</tt><var>$2</var><tt>]</tt>%; + while ($s =~ /\\p<<(\d+)>>(.+)<<\1>>/) { + $s =~ s%\\p<<(\d+)>>(.+)<<\1>>%<tt>{</tt><var>$2</var><tt>}</tt>%; + } + return $s; +} + +sub do_env_macrodesc{ + local($_) = @_; + my $macro = ltx_next_argument(); + my $params = ltx_process_params(ltx_next_argument()); + return "\n<dl class='macrodesc'>" + . "\n<dt><b><tt class='macro'>\$macro</tt></b>" + . "\n $params</dt>" + . "\n<dd>" + . $_ + . '</dd></dl>'; +} + +sub do_env_envdesc{ + local($_) = @_; + my $env = ltx_next_argument(); + my $params = ltx_process_params(ltx_next_argument()); + return "\n<dl class='envdesc'>" + . "\n<dt><tt>\begin{<b class='environment'>$env</b>}</tt>" + . "\n $params" + . "\n<br /><tt>\end{<b class='environment'>$env</b>}</tt></dt>" + . "\n<dd>" + . $_ + . '</dd></dl>'; +} + +1; # Must end with this, because Perl is bogus. |