> 
> > 
> > In latex2html 98.1p1 when the argument for \lowercase is on multiple
> > lines, latex2html gives a warning and produces incorrect html, as in
> > the following example:
> > 
> > Latex:
> > 
> >     Test \lowercase{Line1
> >     Line2} End test
> >         
> > latex2html messages:
> > 
> >     *** no brace for \do_cmd_lowercase , before:
> >     <<
> >     *** using "<" as the argument instead; is this correct?  ***
> >         
> > html:
> > 
> >     <P>
> >     Test <Line1
> >     Line2 End test
> >     
> >     <P>
> >         
> > Has this been fixed?
> 
> No. It is built into the design of LaTeX2HTML that macros
> such as \uppercase  and  \lowercase  must have their arguments
> on a single line.
 
In fact there is indeed a bug with the \uppercase and \lowercase commands.
There is a branch in the processing which is being followed erroneously,
near the beginning of subroutine:  sub process_command 

The fix is to extend the conditional in lines 6-7 of that code block,
to read:

    $ref_contents = &convert_iso_latin_chars($ref_contents)
        unless (($cmd =~ /(Make)?([Uu]pp|[Ll]ow)ercase/)||
            ((!$cmd)&&($ref_contents =~ /^\\(Make)?([Uu]pp|[Ll]ow)ercase/)));

It is the case where $cmd is empty that is causing the reported difficulties.

Now \uppercase and \lowercase work correctly when their arguments extend
across multiple lines, at least in simple test cases.

Please report any difficulties that may occur in more complicated situations,
e.g. with non-ASCII font characters and accents, etc.


Hope this helps,
 
        Ross Moore
 

Reply via email to