Handle \p and \op in parameter lists for the environment and macro
description environments.
This commit is contained in:
parent
4050e00e41
commit
d02573d13b
|
@ -15,22 +15,37 @@ sub ltx_next_argument{
|
|||
sub do_cmd_macro{
|
||||
local($_) = @_;
|
||||
my $macro = ltx_next_argument();
|
||||
return "<tt class='macro'>\$macro</tt>" . $_;
|
||||
return "<tt class=macro>\$macro</tt>" . $_;
|
||||
}
|
||||
|
||||
sub do_cmd_env{
|
||||
local($_) = @_;
|
||||
my $env = ltx_next_argument();
|
||||
return "<tt class='environment'>\$env</tt>" . $_;
|
||||
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_next_argument();
|
||||
return "\n<dl class='macrodesc'>"
|
||||
. "\n<dt><b><tt class='macro'>\$macro</tt></b>"
|
||||
. "\n $params"
|
||||
my $params = ltx_process_params(ltx_next_argument());
|
||||
return "\n<dl class=macrodesc>"
|
||||
. "\n<dt><b><tt class=macro>\$macro</tt></b>"
|
||||
. "\n $params"
|
||||
. "\n<dd>"
|
||||
. $_
|
||||
. "</dl>";
|
||||
|
@ -39,10 +54,10 @@ sub do_env_macrodesc{
|
|||
sub do_env_envdesc{
|
||||
local($_) = @_;
|
||||
my $env = ltx_next_argument();
|
||||
my $params = ltx_next_argument();
|
||||
return "\n<dl class='envdesc'>"
|
||||
. "\n<dt><b><tt class='environment'>\$env</tt></b>"
|
||||
. "\n $params"
|
||||
my $params = ltx_process_params(ltx_next_argument());
|
||||
return "\n<dl class=envdesc>"
|
||||
. "\n<dt><b><tt class=environment>\$env</tt></b>"
|
||||
. "\n $params"
|
||||
. "\n<dd>"
|
||||
. $_
|
||||
. "</dl>";
|
||||
|
|
Loading…
Reference in New Issue