[l2h] Some patches for latex2html

Julius Smith jos at ccrma.stanford.edu
Wed Sep 13 17:00:38 CEST 2017


All but 5) have been incorporated into  https://github.com/josmithiii/l2hmj.git

Thanks Takeno san!

On Wed, Sep 13, 2017 at 3:17 AM, Shigeharu TAKENO <shige at iee.niit.ac.jp> wrote:
> shige 09/13 2017
> ----------------
>
> I will show some patches for current latex2html-2017.2.
>
> 1) image file name for -ps_image
>
> When using -ps_image, image files become ps file, but they are
> displayed "[IMAGE png]". This problem may be fixed by the
> following patch.
>
> ----- From here -----
> diff -u latex2html-2017.2/latex2html.pin.ORG latex2html-2017.2/latex2html.pin
> --- latex2html-2017.2/latex2html.pin.ORG        2017-01-24 02:14:25.000000000 +0900
> +++ latex2html-2017.2/latex2html.pin    2017-09-13 11:59:41.245673000 +0900
> @@ -9958,7 +9958,10 @@
>              unless ($exstr =~ /BORDER/i);
>      } else {
>          # MRO: dubious (&extern_image_mark takes only one arg)
> -        $extern_image_mark = &extern_image_mark($IMAGE_TYPE,$altst);
> +        #$extern_image_mark = &extern_image_mark($IMAGE_TYPE,$altst);
> +        # shige 07/20 2017 for $PS_IMAGES
> +        my ($typename) = ($PS_IMAGES) ? "ps" : $IMAGE_TYPE;
> +        $extern_image_mark = &extern_image_mark($typename, $altst);
>      }
>
>      my ($anch1,$anch2) = ('','');
> ----- To here -----
>
> 2) checking file name at configure
>
> config/config.pl shows "checking for [name] ... [full path name]" by
> using &find_prog. But, it shows
>   checking for /usr/local/bin/perl... /usr/local/bin/perl
> for perl program since "&find_prog($^X)" is used for perl. In
> find_prog, the variable base is used for saving basename of the
> specified name, but it is not referenced. I think the following
> patch may be correct.
>
> ----- From here -----
> diff -u latex2html-2017.2/config/config.pl.ORG latex2html-2017.2/config/config.pl
> --- latex2html-2017.2/config/config.pl.ORG      2017-01-24 02:14:25.000000000 +0900
> +++ latex2html-2017.2/config/config.pl  2017-09-13 11:06:59.660852000 +0900
> @@ -2228,7 +2228,9 @@
>    Search: foreach $name (@names) {
>      my $base = $name;
>      $base =~ s:^.*[/$dd$dd]::; # strip path
> -    &checking("for $name");
> +    #&checking("for $name");
> +    # shige: $base is for the following ?
> +    &checking("for $base");
>      if($name =~ /\Q$dd/) { # contains dir delimiter?
>        unless($name =~ /^$drive_rx\Q$dd/oi) { # absolute dir?
>          $name = &simplify_path("$cwd$dd$name");
> ----- To here -----
>
> 3) \label command in equation environment
>
> In equation environment, position of the label command affects
> the image file of the equation. For example,
>
>   \begin{equation}
>     \label{test1}
>     \int_0^1\sin x dx
>   \end{equation}
>   \begin{equation}
>     \int_0^2\sin x dx
>     \label{test2}
>   \end{equation}
>
> makes the same two equation in the LaTeX level. But latex2html
> makes one small equation image and one large equation image.
> This is the problem by translating \label command to a null line
> in images.tex. The following patch may fix the problem.
>
> ----- From here -----
> diff -u latex2html-2017.2/latex2html.pin.ORG latex2html-2017.2/latex2html.pin
> --- latex2html-2017.2/latex2html.pin.ORG        2017-01-24 02:14:25.000000000 +0900
> +++ latex2html-2017.2/latex2html.pin    2017-09-13 11:10:35.668177000 +0900
> @@ -3491,7 +3491,9 @@
>      }
>      $fullcontents =  $contents; # save for later \label search.
>      # MRO: replaced $* with /m
> -    $contents =~ s/\n?$labels_rx(\%([^\n]+$|$EOL))?/\n/gm;
> +    # $contents =~ s/\n?$labels_rx(\%([^\n]+$|$EOL))?/\n/gm;
> +    # shige (2004-06-16): for [space]\label{}
> +    $contents =~ s/\n?\s*$labels_rx(\%([^\n]+$|$EOL))?/\n/gm;
>
>      local($tmp) = $contents;
>      $tmp =~ s/^((\\par|\%)?\s*\n)+$//g;
> ----- To here -----
>
> 4) comment line in the equation environment
>
> The comment line In the equation environment may be remain
> "<tex2html_comment_mark>" in the image. It is occured when
> amsmath package and a bug of styles/more_amsmath.perl.
> The following patch may fix the problem.
>
> ----- From here -----
> diff -u latex2html-2017.2/styles/more_amsmath.perl.ORG latex2html-2017.2/styles/more_amsmath.perl
> --- latex2html-2017.2/styles/more_amsmath.perl.ORG      2017-01-24 02:14:25.000000000 +0900
> +++ latex2html-2017.2/styles/more_amsmath.perl  2017-09-13 11:33:49.245329000 +0900
> @@ -94,6 +94,8 @@
>                 , $EQNO_END);
>         }
>      } else { $tag = ';SPMnbsp;;SPMnbsp;;SPMnbsp;' }
> +    # shige (2004-10-01): for comment in equation env
> +    $scan =~ s/($comment_mark\d+) /$1\n/g;
>      if ($labels) {
>         $labels =~ s/$anchor_mark/$tag/o;
>         ($labels , $scan);
> ----- To here -----
>
> 5) psfrag optional argument
>
> Current latex2html is not accepted psfrag optional argument. The
> following patch should be introduced to styles/psfrag.perl.
>
>   http://tug.org/pipermail/latex2html/2000-April/000631.html
>
> 6) path separator '/' used directly
>
> In latex2html, path separator is written by "$dd" for several OS.
> But some command lines include "/" as path separator directoly.
> I think they should be "$dd", but I don't know the necessary to
> change them.
>
> ----- From here -----
> diff -u latex2html-2017.2/latex2html.pin.ORG latex2html-2017.2/latex2html.pin
> --- latex2html-2017.2/latex2html.pin.ORG        2017-01-24 02:14:25.000000000 +0900
> +++ latex2html-2017.2/latex2html.pin    2017-07-20 16:47:12.568363000 +0900
> @@ -3871,34 +3871,43 @@
>         if ($LATEX_DUMP) {
>             # dump a pre-compiled format
>             if (!(-f "${PREFIX}images.fmt")) {
> -               print "$INILATEX ./${PREFIX}images.tex\n"
> +               # shige 07/20 2017
> +               print "$INILATEX .$dd${PREFIX}images.tex\n"
>                     if (($DEBUG)||($VERBOSITY > 1));
> +               # shige 07/20 2017
>                 print "dumping ${PREFIX}images.fmt\n"
> -                   unless ( L2hos->syswait("$INILATEX ./${PREFIX}images.tex"));
> +                   unless ( L2hos->syswait("$INILATEX .$dd${PREFIX}images.tex"));
>             }
>             local ($img_fmt) = (-f "${PREFIX}images.fmt");
>             if ($img_fmt) {
>                  # use the pre-compiled format
> -               print "$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex\n"
> +               # shige 07/20 2017
> +               print "$TEX \"&.$dd${PREFIX}images\" .$dd${PREFIX}images.tex\n"
>                     if (($DEBUG)||($VERBOSITY > 1));
> -               L2hos->syswait("$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex");
> +               # shige 07/20 2017
> +               L2hos->syswait("$TEX \"&.$dd${PREFIX}images\" .$dd${PREFIX}images.tex");
>             } elsif (-f "${PREFIX}images.dvi") {
>                 print "${PREFIX}images.fmt failed, proceeding anyway\n";
>             } else {
>                 print "${PREFIX}images.fmt failed, trying without it\n";
> -               print "$LATEX ./${PREFIX}images.tex\n"
> +               # shige 07/20 2017
> +               print "$LATEX .$dd${PREFIX}images.tex\n"
>                     if (($DEBUG)||($VERBOSITY > 1));
> -               L2hos->syswait("$LATEX ./${PREFIX}images.tex");
> +               # shige 07/20 2017
> +               L2hos->syswait("$LATEX .$dd${PREFIX}images.tex");
>             }
>         } else { &make_latex_images() }
>  #          local($latex_call) = "$LATEX .$dd${PREFIX}images.tex";
>  #          print "$latex_call\n" if (($DEBUG)||($VERBOSITY > 1));
>  #          L2hos->syswait("$latex_call");
> -##         print "$LATEX ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1));
> -##         L2hos->syswait("$LATEX ./${PREFIX}images.tex");
> +#           # shige 07/20 2017
> +##         print "$LATEX .$dd${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1));
> +#           # shige 07/20 2017
> +##         L2hos->syswait("$LATEX .$dd${PREFIX}images.tex");
>  ##        }
>         $LaTeXERROR = 0;
> -       &process_log_file("./${PREFIX}images.log"); # Get image size info
> +        # shige 07/20 2017
> +       &process_log_file(".$dd${PREFIX}images.log"); # Get image size info
>      }
>      if ($NO_IMAGES) {
>          my $img = "image.$IMAGE_TYPE";
> @@ -14053,7 +14062,8 @@
>  sub default_textohtmlinfopage {
>      local($_) = @_;
>      local($argv) = $argv;
> -    if (-f "../$argv") { $argv = &make_href ("../$argv", $argv, ); }
> +    # shige 07/20 2017
> +    if (-f "..$dd$argv") { $argv = &make_href ("..$dd$argv", $argv, ); }
>      $_ = ($INFO && $INFO =~ /^\d+$/
>        ? join('', $close_all
>         , "<STRONG>$t_title</STRONG><P>\nThis document was generated using the\n"
> ----- To here -----
>
> +========================================================+
>  Shigeharu TAKENO     NIigata Institute of Technology
>                        kashiwazaki,Niigata 945-1195 JAPAN
>  shige at iee.niit.ac.jp   TEL(&FAX): +81-257-22-8161
> +========================================================+
> _______________________________________________
> latex2html mailing list
> latex2html at tug.org
> http://tug.org/mailman/listinfo/latex2html



-- 
Julius O. Smith III <jos at ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/


More information about the latex2html mailing list