[l2h] Re: getting \par in graphical output of listings environment
Ross Moore
ross at ics.mq.edu.au
Mon Oct 25 13:23:36 CEST 2004
Hi Hans,
On 25/10/2004, at 8:45 PM, Hans Fangohr wrote:
> Hi Ross,
>
> many thanks for your detailed answer.
>
>> So you could do:
>>
>> 1. place the following coding in the preamble:
>>
>> %begin{latexonly}
>> \lstnewenvironment{myverbatim}{}{}
>> %end{latexonly}
>>
>> 2. change all of your usages of:
>> \begin{lstlisting} to \begin{myverbatim}
>> \end{lstlisting} to \end{myverbatim}
>>
>
>> One problem with this solution is that an optional
>> argument to the listing environment is not recognised
>> as such by LaTeX2HTML. There's no simple way to overcome
>> this without some edits to the coding of the 'texexpand'
>> and 'latex2html' Perl scripts.
>
> That is not too bad as there is a command to set the listings
> environment separately (\lstset{}) [and kind of globally].
OK; but don't forget to surround it with special comments:
%begin{latexonly}
\lstset{.....}
%end{latexonly}
This tells LaTeX2HTML to ignore the contents completely,
but otherwise LaTeX just ignores the comments, as usual.
>
>> However, maybe you want the HTML to be an image of the
>> environment that LaTeX would produce, as at present
>> where the {lstlisting} environment is treated as being
>> *unknown*.
>>
>> In that case, best would be to write a short Perl
>> subroutine, named do_env_lstlisting as follows.
>>
>>
>> sub do_env_lstlisting {
>> local ($_) = @_;
>> my $env_id = ++$global{'max_id'};
>> $_ =~ s/\\par/\n\n/g;
>> &process_undefined_environment('lstlisting', $env_id, $_);
>> }
>>
>>
>> This could be placed in an initialization file,
> Done that.
>
> Unfortunately, there is an error message and I am not very good at
> Perl. Can you see what is going on:
>
> fangohr at binx sesa2006 $ latex2html partestorg.tex
> Note: Loading /home/fangohr/.latex2html-init
> /home/fangohr/.latex2html-init did not return a true value at
> /usr/lib/latex2html/latex2html.pl line 162.
> Compilation failed in require at /usr/bin/latex2html line 39.
>
> where this is the content of /home/fangohr/.latex2html-init:
>
> sub do_env_lstlisting {
> local ($_) = @_;
> my $env_id = ++$global{'max_id'};
> $_ =~ s/\\par/\n\n/g;
> &process_undefined_environment('lstlisting', $env_id, $_);
> }
Just end the file with a line:
1;
That's all you need, since 1 returns 1 (= true) as the last
statement evaluated.
>
>> Hmm. That \n\n replacement may not work under DOS/Windows,
>> where the line-ending character is different.
> No probs, want to run this on Linux.
>
>
>> Ouch; that's a pretty nasty kind of hack --- clever, mind you!
>> --- and it only works for an image as output.
> Correct on all accounts: ugly and works for image only.
:-)
>
> Cheers,
>
> Hans
Hope this helps,
Ross
>
> _______________________________________________
> latex2html mailing list
> latex2html at tug.org
> http://tug.org/mailman/listinfo/latex2html
>
------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 +2 9850 8955
Sydney, Australia fax: +61 +2 9850 8114
------------------------------------------------------------------------
More information about the latex2html
mailing list