texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: * tp/texi2any.pl (GetOptions): add --iflatex.


From: Patrice Dumas
Subject: branch master updated: * tp/texi2any.pl (GetOptions): add --iflatex.
Date: Sat, 15 Oct 2022 11:44:40 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 0d361bdaa0 * tp/texi2any.pl (GetOptions): add --iflatex.
0d361bdaa0 is described below

commit 0d361bdaa0c95792eb963f93b7527bff245d82ab
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Oct 15 17:44:29 2022 +0200

    * tp/texi2any.pl (GetOptions): add --iflatex.
    
    * tp/ext/tex4ht.pm (tex4ht_prepare): use \documentclass instead of
    \documentstyle, for latex type conversion.
---
 ChangeLog                                          |   7 +
 tp/ext/tex4ht.pm                                   |   2 +-
 tp/tests/test_scripts/tex_html_tex_httex_latex.sh  |  25 +++
 .../test_scripts/tex_html_tex_httex_tex_latex.sh   |  25 +++
 tp/tests/test_scripts/tex_html_tex_l2h_latex.sh    |  25 +++
 .../test_scripts/tex_html_tex_l2h_tex_latex.sh     |  25 +++
 tp/tests/test_scripts/tex_html_tex_mathjax.sh      |  25 +++
 tp/tests/tex_html/list-of-tests                    |   7 +-
 .../tex_html/res_parser/tex_httex_latex/tex.html   | 111 ++++++++++++
 .../tex_httex_latex/tex_tex4ht_latex.4ct           |   2 +
 .../tex_httex_latex/tex_tex4ht_latex.4tc           |   1 +
 .../tex_httex_latex/tex_tex4ht_latex.aux           |   3 +
 .../tex_httex_latex/tex_tex4ht_latex.css           | 118 +++++++++++++
 .../tex_httex_latex/tex_tex4ht_latex.html          |  32 ++++
 .../res_parser/tex_httex_latex/tex_tex4ht_latex.lg | 128 ++++++++++++++
 .../tex_httex_latex/tex_tex4ht_latex.tex           |  10 ++
 .../tex_httex_latex/tex_tex4ht_latex.tmp           |   2 +
 .../tex_httex_latex/tex_tex4ht_latex.xref          |   1 +
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.4ct  |   2 +
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.4tc  |   1 +
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.css  |  45 +++++
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.html |  87 +++++++++
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.lg   |  57 ++++++
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.tex  |  19 ++
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.tmp  |   2 +
 .../res_parser/tex_httex_latex/tex_tex4ht_tex.xref |   1 +
 .../res_parser/tex_httex_tex_latex/tex.html        | 122 +++++++++++++
 .../tex_httex_tex_latex/tex_tex4ht_latex.4ct       |   2 +
 .../tex_httex_tex_latex/tex_tex4ht_latex.4tc       |   1 +
 .../tex_httex_tex_latex/tex_tex4ht_latex.aux       |   3 +
 .../tex_httex_tex_latex/tex_tex4ht_latex.css       | 118 +++++++++++++
 .../tex_httex_tex_latex/tex_tex4ht_latex.html      |  32 ++++
 .../tex_httex_tex_latex/tex_tex4ht_latex.lg        | 128 ++++++++++++++
 .../tex_httex_tex_latex/tex_tex4ht_latex.tex       |  10 ++
 .../tex_httex_tex_latex/tex_tex4ht_latex.tmp       |   2 +
 .../tex_httex_tex_latex/tex_tex4ht_latex.xref      |   1 +
 .../tex_httex_tex_latex/tex_tex4ht_tex.4ct         |   2 +
 .../tex_httex_tex_latex/tex_tex4ht_tex.4tc         |   1 +
 .../tex_httex_tex_latex/tex_tex4ht_tex.css         |  45 +++++
 .../tex_httex_tex_latex/tex_tex4ht_tex.html        | 108 ++++++++++++
 .../tex_httex_tex_latex/tex_tex4ht_tex.lg          |  58 ++++++
 .../tex_httex_tex_latex/tex_tex4ht_tex.tex         |  31 ++++
 .../tex_httex_tex_latex/tex_tex4ht_tex.tmp         |   2 +
 .../tex_httex_tex_latex/tex_tex4ht_tex.xref        |   1 +
 .../res_parser/tex_l2h_latex/tex-l2h_cache.pm      |  95 ++++++++++
 tp/tests/tex_html/res_parser/tex_l2h_latex/tex.2   |   4 +
 .../tex_html/res_parser/tex_l2h_latex/tex.html     | 134 ++++++++++++++
 .../tex_html/res_parser/tex_l2h_latex/tex_l2h.html | 120 +++++++++++++
 .../tex_html/res_parser/tex_l2h_latex/tex_l2h.tex  |  73 ++++++++
 .../res_parser/tex_l2h_latex/tex_l2h_images.tex    | 188 ++++++++++++++++++++
 .../res_parser/tex_l2h_latex/tex_l2h_labels.pl     |  13 ++
 .../res_parser/tex_l2h_tex_latex/tex-l2h_cache.pm  | 124 +++++++++++++
 .../tex_html/res_parser/tex_l2h_tex_latex/tex.2    |   4 +
 .../tex_html/res_parser/tex_l2h_tex_latex/tex.html | 155 ++++++++++++++++
 .../res_parser/tex_l2h_tex_latex/tex_l2h.html      | 148 ++++++++++++++++
 .../res_parser/tex_l2h_tex_latex/tex_l2h.tex       |  95 ++++++++++
 .../tex_l2h_tex_latex/tex_l2h_images.tex           | 196 +++++++++++++++++++++
 .../res_parser/tex_l2h_tex_latex/tex_l2h_labels.pl |  13 ++
 .../res_parser/tex_mathjax/js_licenses.html        |  11 ++
 tp/tests/tex_html/res_parser/tex_mathjax/tex.1     |   0
 tp/tests/tex_html/res_parser/tex_mathjax/tex.2     |   5 +
 tp/tests/tex_html/res_parser/tex_mathjax/tex.html  |  87 +++++++++
 tp/tests/tex_html/tex.texi                         |   2 +-
 tp/texi2any.pl                                     |   1 +
 64 files changed, 2895 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 01084ad514..93b76dd2df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-10-15  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/texi2any.pl (GetOptions): add --iflatex.
+
+       * tp/ext/tex4ht.pm (tex4ht_prepare): use \documentclass instead of
+       \documentstyle, for latex type conversion.
+
 2022-10-15  Patrice Dumas  <pertusus@free.fr>
 
        * tp/ext/latex2html.pm (l2h_process, l2h_convert_command),
diff --git a/tp/ext/tex4ht.pm b/tp/ext/tex4ht.pm
index 53d5662d8a..928d38309b 100644
--- a/tp/ext/tex4ht.pm
+++ b/tp/ext/tex4ht.pm
@@ -246,7 +246,7 @@ sub tex4ht_prepare($$)
           } else {
             print $fh "$comment";
             if ($format eq 'latex') {
-              print $fh "\\documentstyle{article}\n\\begin{document}\n";
+              print $fh "\\documentclass{article}\n\\begin{document}\n";
             } elsif ($format eq 'tex') {
               print $fh "\\csname tex4ht\\endcsname\n";
             }
diff --git a/tp/tests/test_scripts/tex_html_tex_httex_latex.sh 
b/tp/tests/test_scripts/tex_html_tex_httex_latex.sh
new file mode 100755
index 0000000000..8acacbe6cc
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_httex_latex.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_httex_latex'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_httex_tex_latex.sh 
b/tp/tests/test_scripts/tex_html_tex_httex_tex_latex.sh
new file mode 100755
index 0000000000..503ceffb0e
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_httex_tex_latex.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_httex_tex_latex'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_l2h_latex.sh 
b/tp/tests/test_scripts/tex_html_tex_l2h_latex.sh
new file mode 100755
index 0000000000..66bf5fd73c
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_l2h_latex.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_l2h_latex'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_l2h_tex_latex.sh 
b/tp/tests/test_scripts/tex_html_tex_l2h_tex_latex.sh
new file mode 100755
index 0000000000..e3d0de681e
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_l2h_tex_latex.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_l2h_tex_latex'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_mathjax.sh 
b/tp/tests/test_scripts/tex_html_tex_mathjax.sh
new file mode 100755
index 0000000000..804926ee45
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_mathjax.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_mathjax'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/tex_html/list-of-tests b/tp/tests/tex_html/list-of-tests
index 4d81e75263..79012e0793 100644
--- a/tp/tests/tex_html/list-of-tests
+++ b/tp/tests/tex_html/list-of-tests
@@ -1,13 +1,18 @@
 # tex
 block_EOL_tex block_EOL.texi -c 'HTML_MATH l2h' --iftex
 simplest_httex ../formatting/simplest.texi --init tex4ht.pm --iftex
-tex tex.texi -c 'HTML_MATH l2h' --iftex
 tex_notex tex.texi
+tex tex.texi -c 'HTML_MATH l2h' --iftex
+tex_l2h_latex tex.texi -c 'HTML_MATH l2h' --iflatex
+tex_l2h_tex_latex tex.texi -c 'HTML_MATH l2h' --iftex --iflatex
 tex_httex tex.texi --init tex4ht.pm --iftex
+tex_httex_latex tex.texi --init tex4ht.pm --iflatex
+tex_httex_tex_latex tex.texi --init tex4ht.pm --iftex --iflatex
 tex_accents_httex tex_accents.texi --init tex4ht.pm --iftex
 tex_accents_l2h tex_accents.texi -c 'HTML_MATH l2h' --iftex
 tex_gdef_httex tex_gdef.texi --init tex4ht.pm --iftex -D tex4ht
 tex_gdef_l2h tex_gdef.texi -c 'HTML_MATH l2h' --iftex
+tex_mathjax tex.texi -c HTML_MATH=mathjax --iftex
 tex_gdef_mathjax tex_gdef.texi -c HTML_MATH=mathjax --iftex
 # No mediawki tests for now
 #tex_mediawiki tex.texi --init mediawiki.pm --iftex
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex.html 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex.html
new file mode 100644
index 0000000000..c166bf1408
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Tests</title>
+
+<meta name="description" content="Tests">
+<meta name="keywords" content="Tests">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+@import "tex_tex4ht_tex.css";
+@import "tex_tex4ht_latex.css";
+
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="Tests">Tests</h1>
+
+<p>Now tex on the same line Some text one the line following @end tex
+</p>
+<p>LaTeX block
+ <div class="eqnarray">
+   <div class="math-display" >
+<img 
+src="tex_tex4ht_latex0x.png" alt="@varab- =   @code@&#x2032;e                  
  (1)
+   &#x03BE;
+     X  =   Y                           (2)
+" class="math-display" ></div>
+   </div>
+<!--l. 9--><p class="indent" >    
+</p>
+<p>Now tex on the following line, valid fot tex (with @end tex on a line).
+</p>
+<p>Same that @html (but empty following line not ignored).
+</p>
+<p>Test of @math
+Here some <span 
+class="cmmi-7">x</span><sup><span 
+class="cmmi-5">i</span></sup> __
+<span 
+class="cmr-7">tan</span> <span 
+class="cmmi-7">y</span>.
+</p>
+<p>Maths with protected \:
+<span 
+class="cmmi-10">a</span>@<span 
+class="cmmi-10">&#x00A0;b</span>.
+</p>
+<p>Maths with code @-command:
+</p>
+<p>@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">mathcode</span><span 
+class="cmmi-10">a &#x003C; b</span>
+</p>
+<p>Maths with code @-command and braces:
+</p>
+<p><span class="underline">@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">math</span> code </span><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span class="underline">@<span 
+class="cmmi-10">var</span><span 
+class="cmmi-10">eff</span></span>
+</p>
+<p>Maths with @-sup
+</p>
+<p><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span 
+class="cmmi-10">f</span>(<span 
+class="cmmi-10">x</span>)@<span 
+class="cmmi-10">sup</span>2
+</p>
+<p>@\ outside of math
+</p>
+<p>\
+</p>
+<p>Displaymath
+</p>
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex0x.png" alt="                        (      )2
+- - f(x) = -1&#x221A;---e@sup - 1  x--&#x03BC;-
+           &#x03C3; 2&#x03C0;        2   &#x03C3;
+" class="math-display" ></div>
+<!--l. 17--><p class="indent" >     
+
+<hr>
+</div>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4ct 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4ct
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4ct
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi 
+\par 
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4tc 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4tc
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.4tc
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.aux 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.aux
new file mode 100644
index 0000000000..c497e522e9
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.aux
@@ -0,0 +1,3 @@
+\relax 
+\ifx\rEfLiNK\UnDef\gdef \rEfLiNK#1#2{#2}\fi
+\gdef \@abspage@last{1}
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.css 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.css
new file mode 100644
index 0000000000..6067630785
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.css
@@ -0,0 +1,118 @@
+ 
+/* start css.sty */
+.cmmi-7{font-size:70%;font-style: italic;}
+.cmmi-10{font-style: italic;}
+.cmsy-7{font-size:70%;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; 
hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+li p.indent { text-indent: 0em }
+li p:first-child{ margin-top:0em; }
+li p:last-child, li div:last-child { margin-bottom:0.5em; }
+li p:first-child{ margin-bottom:0; }
+li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+.enumerate1 {list-style-type:decimal;}
+.enumerate2 {list-style-type:lower-alpha;}
+.enumerate3 {list-style-type:lower-roman;}
+.enumerate4 {list-style-type:upper-alpha;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+div.newtheorem .head{font-weight: bold;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; }
+.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid 
black 0.4pt; }
+div.fbox {display:table}
+div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; 
margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+span.footnote-mark sup.textsuperscript, span.footnote-mark a 
sup.textsuperscript{ font-size:80%; }
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; 
margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 0px; margin:0px; }
+.hline td, .cline td{ padding: 0; }
+.hline hr, .cline hr{border:none;border-top:1px solid black;}
+.hline {border-top: 1px solid black;}
+.tabbing-right {text-align:right;}
+div.float, div.figure {margin-left: auto; margin-right: auto;}
+div.float img {text-align:center;}
+div.figure img {text-align:center;}
+.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; 
margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+.reversemarginpar{float:left;}
+table.equation {width:100%;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.equation-label { width:5%; text-align:center; }
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.array {text-align:center;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.bar-css {text-decoration:overline;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; 
font-weight:bold; font-size:110%;}
+.index-item, .index-subitem, .index-subsubitem {display:block}
+div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; 
text-align:left;}
+div.caption span.id{font-weight: bold; white-space: nowrap; }
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; 
}
+div.author{white-space: nowrap;}
+div.abstract p {margin-left:5%; margin-right:5%;}
+div.abstract {width:100%;}
+.abstracttitle{text-align:center;margin-bottom:1em;}
+/* end css.sty */
+
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.html 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.html
new file mode 100644
index 0000000000..95cc3822fb
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
+  "http://www.w3.org/TR/html4/loose.dtd";>  
+<html > 
+<head><title></title> 
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<!-- html --> 
+<meta name="src" content="tex_tex4ht_latex.tex"> 
+<link rel="stylesheet" type="text/css" href="tex_tex4ht_latex.css"> 
+</head><body 
+>
+<!--l. 4--><p class="noindent" > 
+ 
+<!-- tex4ht_begin tex_tex4ht_latex latex 1 --> 
+ <div class="eqnarray">
+   <div class="math-display" >
+<img 
+src="tex_tex4ht_latex0x.png" alt="@varab- =   @code@&#x2032;e                  
  (1)
+   &#x03BE;
+     X  =   Y                           (2)
+" class="math-display" ></div>
+   </div>
+<!--l. 9--><p class="indent" >    
+<!-- tex4ht_end tex_tex4ht_latex latex 1 --> 
+ 
+
+    
+</body></html> 
+
+
+
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.lg 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.lg
new file mode 100644
index 0000000000..186c70f867
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.lg
@@ -0,0 +1,128 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_tex4ht_latex.html
+File: tex_tex4ht_latex.css
+File: tex_tex4ht_latex.tmp
+Css: p{margin-top:0;margin-bottom:0}
+Css: p.indent{text-indent:0;}
+Css: p + p{margin-top:1em;}
+Css: p + div, p + pre {margin-top:1em;}
+Css: div + p, pre + p {margin-top:1em;}
+Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: 
break-word; hyphens: auto; }
+Css: @media print {div.crosslinks {visibility:hidden;}}
+Css: table.tabular{border-collapse: collapse; border-spacing: 0;}
+Css: a img { border-top: 0; border-left: 0; border-right: 0; }
+Font_Css("4"): .small-caps{font-variant: small-caps; }
+Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;}
+Font_Css("12"): .htf-calligraphy {font-family:cursive}
+Font_Css("14"): .htf-italic {font-style: italic;}
+Font_Css("16"): .htf-bold {font-weight: bold;}
+Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: 
bold; }
+Css: center { margin-top:1em; margin-bottom:1em; }
+Css: td center { margin-top:0em; margin-bottom:0em; }
+Css: .Canvas { position:relative; }
+Css: img.math{vertical-align:middle;}
+Css: div.par-math-display, div.math-display{text-align:center;}
+Css: li p.indent { text-indent: 0em }
+Css: li p:first-child{ margin-top:0em; }
+Css: li p:last-child, li div:last-child { margin-bottom:0.5em; }
+Css: li p:first-child{ margin-bottom:0; }
+Css: li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+Css: .enumerate1 {list-style-type:decimal;}
+Css: .enumerate2 {list-style-type:lower-alpha;}
+Css: .enumerate3 {list-style-type:lower-roman;}
+Css: .enumerate4 {list-style-type:upper-alpha;}
+Css: div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+Css: div.newtheorem .head{font-weight: bold;}
+Css: .obeylines-h,.obeylines-v {white-space: nowrap; }
+Css: div.obeylines-v p { margin-top:0; margin-bottom:0; }
+Css: .overline{ text-decoration:overline; }
+Css: .overline img{ border-top: 1px solid black; }
+Css: td.displaylines {text-align:center; white-space:nowrap;}
+Css: .centerline {text-align:center;}
+Css: .rightline {text-align:right;}
+Css: pre.verbatim {font-family: monospace,monospace; text-align:left; 
clear:both; }
+Css: .fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; 
border:solid black 0.4pt; }
+Css: div.fbox {display:table}
+Css: div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+Css: div.minipage{width:100%;}
+Css: div.center, div.center div.center {text-align: center; margin-left:1em; 
margin-right:1em;}
+Css: div.center div {text-align: left;}
+Css: div.flushright, div.flushright div.flushright {text-align: right;}
+Css: div.flushright div {text-align: left;}
+Css: div.flushleft {text-align: left;}
+Css: .underline{ text-decoration:underline; }
+Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+Css: .framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+Css: .framebox-c {text-align:center;}
+Css: .framebox-l {text-align:left;}
+Css: .framebox-r {text-align:right;}
+Css: span.thank-mark{ vertical-align: super }
+Css: span.footnote-mark sup.textsuperscript, span.footnote-mark a 
sup.textsuperscript{ font-size:80%; }
+Css: div.tabular, div.center div.tabular {text-align: center; 
margin-top:0.5em; margin-bottom:0.5em; }
+Css: table.tabular td p{margin-top:0em;}
+Css: table.tabular {margin-left: auto; margin-right: auto;}
+Css: td p:first-child{ margin-top:0em; }
+Css: td p:last-child{ margin-bottom:0em; }
+Css: div.td00{ margin-left:0pt; margin-right:0pt; }
+Css: div.td01{ margin-left:0pt; margin-right:5pt; }
+Css: div.td10{ margin-left:5pt; margin-right:0pt; }
+Css: div.td11{ margin-left:5pt; margin-right:5pt; }
+Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 
0.4pt; }
+Css: td.td00{ padding-left:0pt; padding-right:0pt; }
+Css: td.td01{ padding-left:0pt; padding-right:5pt; }
+Css: td.td10{ padding-left:5pt; padding-right:0pt; }
+Css: td.td11{ padding-left:5pt; padding-right:5pt; }
+Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 
0.4pt; }
+Css: .hline hr, .cline hr{ height : 0px; margin:0px; }
+Css: .hline td, .cline td{ padding: 0; }
+Css: .hline hr, .cline hr{border:none;border-top:1px solid black;}
+Css: .hline {border-top: 1px solid black;}
+Css: .tabbing-right {text-align:right;}
+Css: div.float, div.figure {margin-left: auto; margin-right: auto;}
+Css: div.float img {text-align:center;}
+Css: div.figure img {text-align:center;}
+Css: .marginpar,.reversemarginpar {width:20%; float:right; text-align:left; 
margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+Css: .marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+Css: .reversemarginpar{float:left;}
+Css: table.equation {width:100%;}
+Css: .equation td{text-align:center; }
+Css: td.equation { margin-top:1em; margin-bottom:1em; } 
+Css: td.equation-label { width:5%; text-align:center; }
+Css: td.eqnarray4 { width:5%; white-space: normal; }
+Css: td.eqnarray2 { width:5%; }
+Css: table.eqnarray-star, table.eqnarray {width:100%;}
+Css: div.eqnarray{text-align:center;}
+Css: div.array {text-align:center;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+Css: span.pmatrix img{vertical-align:middle;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+Css: span.bar-css {text-decoration:overline;}
+Css: img.cdots{vertical-align:middle;}
+Css: .partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; 
font-weight:bold; font-size:110%;}
+Css: .index-item, .index-subitem, .index-subsubitem {display:block}
+Css: div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; 
text-align:left;}
+Css: div.caption span.id{font-weight: bold; white-space: nowrap; }
+Css: h1.partHead{text-align: center}
+Css: p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+Css: p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+Css: .paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+Css: .subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+Css: .verse{white-space:nowrap; margin-left:2em}
+Css: div.maketitle {text-align:center;}
+Css: h2.titleHead{text-align:center;}
+Css: div.maketitle{ margin-bottom: 2em; }
+Css: div.author, div.date {text-align:center;}
+Css: div.thanks{text-align:left; margin-left:10%; font-size:85%; 
font-style:italic; }
+Css: div.author{white-space: nowrap;}
+Css: div.abstract p {margin-left:5%; margin-right:5%;}
+Css: div.abstract {width:100%;}
+Css: .abstracttitle{text-align:center;margin-bottom:1em;}
+--- needs --- tex_tex4ht_latex.idv[2] ==> tex_tex4ht_latex0x.png ---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmmi","10","10","100")
+Font("cmsy","7","7","100")
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tex 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tex
new file mode 100644
index 0000000000..d22d388759
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tex
@@ -0,0 +1,10 @@
+% Automatically generated by the t4ht Texinfo HTML extension
+\documentclass{article}
+\begin{document}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_latex latex 1 
-->\Hnewline}
+\begin{eqnarray}
+\frac{@var{a}^b}{\xi} &=& @code{@'e} \\
+X &=& Y
+\end{eqnarray}
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_latex latex 1 -->\Hnewline 
\Hnewline}
+\end{document}
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tmp 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tmp
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.tmp
@@ -0,0 +1,2 @@
+ 
+/* css.sty */
\ No newline at end of file
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.xref 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.xref
new file mode 100644
index 0000000000..8d8affa965
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_latex.xref
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_tex4ht_latex.html}{1}%
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4ct 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4ct
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4ct
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi 
+\par 
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4tc 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4tc
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.4tc
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.css 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.css
new file mode 100644
index 0000000000..f3fb1760ac
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.css
@@ -0,0 +1,45 @@
+ 
+/* start css.sty */
+.cmr-7{font-size:70%;}
+.cmmi-10{font-style: italic;}
+.cmmi-7{font-size:70%;font-style: italic;}
+.cmmi-5{font-size:50%;font-style: italic;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; 
hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+p.item {text-indent:-2em; margin-left:2em;}
+p.itemitem {text-indent:-2em; margin-left:4em;}
+span.item, span.itemitem {width:2em; margin-right:0.4em;}
+td.eqalign3 { text-align:right; margin-left:10em;}
+.eqalign td { white-space: nowrap; }
+div.eqalign {text-align:center;}
+td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+.leqalignno td, .eqalignno td { white-space: nowrap; }
+.leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: normal; 
}
+table.leqalignno, table.eqalignno {width:100%;}
+img.cdots{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+/* end css.sty */
+
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.html 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.html
new file mode 100644
index 0000000000..fa0c96ce75
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
+  "http://www.w3.org/TR/html4/loose.dtd";>  
+<html > 
+<head>
+
+    <title>tex_tex4ht_tex.html</title> 
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<!-- html --> 
+<meta name="src" content="tex_tex4ht_tex.tex"> 
+<link rel="stylesheet" type="text/css" href="tex_tex4ht_tex.css"> 
+</head><body 
+>
+<!--l. 3--><p class="indent" >     
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 1 --> 
+   <span 
+class="cmmi-7">x</span><sup><span 
+class="cmmi-5">i</span></sup> __
+<span 
+class="cmr-7">tan</span> <span 
+class="cmmi-7">y</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 1 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 2 --> 
+ <span 
+class="cmmi-10">a</span>@<span 
+class="cmmi-10">&#x00A0;b</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 2 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 3 --> 
+ @<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">mathcode</span><span 
+class="cmmi-10">a &#x003C; b</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 3 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 4 --> 
+ <span class="underline">@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">math</span> code </span><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span class="underline">@<span 
+class="cmmi-10">var</span><span 
+class="cmmi-10">eff</span></span> 
+<!-- tex4ht_end tex_tex4ht_tex math 4 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 5 --> 
+ <span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span 
+class="cmmi-10">f</span>(<span 
+class="cmmi-10">x</span>)@<span 
+class="cmmi-10">sup</span>2 
+<!-- tex4ht_end tex_tex4ht_tex math 5 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex displaymath 6 --> 
+
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex0x.png" alt="                        (      )2
+- - f(x) = -1&#x221A;---e@sup - 1  x--&#x03BC;-
+           &#x03C3; 2&#x03C0;        2   &#x03C3;
+" class="math-display" ></div>
+<!--l. 17--><p class="indent" >     
+<!-- tex4ht_end tex_tex4ht_tex displaymath 6 --> 
+ 
+
+
+     
+</body></html> 
+
+
+
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.lg 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.lg
new file mode 100644
index 0000000000..dff4ee83b8
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.lg
@@ -0,0 +1,57 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_tex4ht_tex.html
+File: tex_tex4ht_tex.css
+File: tex_tex4ht_tex.tmp
+Css: p{margin-top:0;margin-bottom:0}
+Css: p.indent{text-indent:0;}
+Css: p + p{margin-top:1em;}
+Css: p + div, p + pre {margin-top:1em;}
+Css: div + p, pre + p {margin-top:1em;}
+Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: 
break-word; hyphens: auto; }
+Css: @media print {div.crosslinks {visibility:hidden;}}
+Css: table.tabular{border-collapse: collapse; border-spacing: 0;}
+Css: a img { border-top: 0; border-left: 0; border-right: 0; }
+Font_Css("4"): .small-caps{font-variant: small-caps; }
+Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;}
+Font_Css("12"): .htf-calligraphy {font-family:cursive}
+Font_Css("14"): .htf-italic {font-style: italic;}
+Font_Css("16"): .htf-bold {font-weight: bold;}
+Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: 
bold; }
+Css: center { margin-top:1em; margin-bottom:1em; }
+Css: td center { margin-top:0em; margin-bottom:0em; }
+Css: .Canvas { position:relative; }
+Css: img.math{vertical-align:middle;}
+Css: div.par-math-display, div.math-display{text-align:center;}
+Css: .obeylines-h,.obeylines-v {white-space: nowrap; }
+Css: div.obeylines-v p { margin-top:0; margin-bottom:0; }
+Css: .overline{ text-decoration:overline; }
+Css: .overline img{ border-top: 1px solid black; }
+Css: td.displaylines {text-align:center; white-space:nowrap;}
+Css: .centerline {text-align:center;}
+Css: .rightline {text-align:right;}
+Css: .underline{ text-decoration:underline; }
+Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+Css: div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+Css: p.item {text-indent:-2em; margin-left:2em;}
+Css: p.itemitem {text-indent:-2em; margin-left:4em;}
+Css: span.item, span.itemitem {width:2em; margin-right:0.4em;}
+Css: td.eqalign3 { text-align:right; margin-left:10em;}
+Css: .eqalign td { white-space: nowrap; }
+Css: div.eqalign {text-align:center;}
+Css: td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+Css: .leqalignno td, .eqalignno td { white-space: nowrap; }
+Css: .leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: 
normal; }
+Css: table.leqalignno, table.eqalignno {width:100%;}
+Css: img.cdots{vertical-align:middle;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+--- needs --- tex_tex4ht_tex.idv[1] ==> tex_tex4ht_tex0x.png ---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmr","7","7","100")
+Font("cmmi","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmmi","5","5","100")
+Font("cmsy","10","10","100")
+Font("cmex","10","10","100")
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tex
new file mode 100644
index 0000000000..9b36b267f1
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tex
@@ -0,0 +1,19 @@
+% Automatically generated by the t4ht Texinfo HTML extension
+\csname tex4ht\endcsname
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 1 
-->\Hnewline}
+\IgnorePar ${x^i}\over{\tan y}$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex 
math 1 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 2 
-->\Hnewline}
+\IgnorePar $a @\ b$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex math 2 
-->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 3 
-->\Hnewline}
+\IgnorePar $@code{math code} a < b$\HCode{\Hnewline <!-- tex4ht_end 
tex_tex4ht_tex math 3 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 4 
-->\Hnewline}
+\IgnorePar $\underline{@code{math \hbox{ code }}} 
\sum_{i}{\underline{@var{eff}}}$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex 
math 4 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 5 
-->\Hnewline}
+\IgnorePar $\sum_{i} f(x)@sup{2}$\HCode{\Hnewline <!-- tex4ht_end 
tex_tex4ht_tex math 5 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex displaymath 6 
-->\Hnewline}
+
+$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e@sup{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex displaymath 6 -->\Hnewline 
\Hnewline}
+
+\bye
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tmp 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tmp
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.tmp
@@ -0,0 +1,2 @@
+ 
+/* css.sty */
\ No newline at end of file
diff --git a/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.xref 
b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.xref
new file mode 100644
index 0000000000..9773eb4300
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_latex/tex_tex4ht_tex.xref
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_tex4ht_tex.html}{1}%
diff --git a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex.html 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex.html
new file mode 100644
index 0000000000..16c46bf0e2
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Tests</title>
+
+<meta name="description" content="Tests">
+<meta name="keywords" content="Tests">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+@import "tex_tex4ht_latex.css";
+@import "tex_tex4ht_tex.css";
+
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="Tests">Tests</h1>
+
+<p>Now tex on the same line 
+<!--l. 5--><p class="indent" >
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex0x.png" alt="     N  (            )2
+&#x03C7;2 = &#x2211;   yi --(a+-bxi)
+     i=1       &#x03C3;i
+" class="math-display" ></div>
+<!--l. 10--><p class="indent" >     
+Some text one the line following @end tex
+</p>
+<p>LaTeX block
+ <div class="eqnarray">
+   <div class="math-display" >
+<img 
+src="tex_tex4ht_latex0x.png" alt="@varab- =   @code@&#x2032;e                  
  (1)
+   &#x03BE;
+     X  =   Y                           (2)
+" class="math-display" ></div>
+   </div>
+<!--l. 9--><p class="indent" >    
+</p>
+<p>Now tex on the following line, valid fot tex (with @end tex on a line).
+
+<!--l. 13--><p class="indent" >    tex TeX 
+</p>
+<p>Same that @html (but empty following line not ignored).
+</p>
+<p>Test of @math
+Here some <span 
+class="cmmi-7">x</span><sup><span 
+class="cmmi-5">i</span></sup> __
+<span 
+class="cmr-7">tan</span> <span 
+class="cmmi-7">y</span>.
+</p>
+<p>Maths with protected \:
+<span 
+class="cmmi-10">a</span>@<span 
+class="cmmi-10">&#x00A0;b</span>.
+</p>
+<p>Maths with code @-command:
+</p>
+<p>@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">mathcode</span><span 
+class="cmmi-10">a &#x003C; b</span>
+</p>
+<p>Maths with code @-command and braces:
+</p>
+<p><span class="underline">@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">math</span> code </span><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span class="underline">@<span 
+class="cmmi-10">var</span><span 
+class="cmmi-10">eff</span></span>
+</p>
+<p>Maths with @-sup
+</p>
+<p><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span 
+class="cmmi-10">f</span>(<span 
+class="cmmi-10">x</span>)@<span 
+class="cmmi-10">sup</span>2
+</p>
+<p>@\ outside of math
+</p>
+<p>\
+</p>
+<p>Displaymath
+</p>
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex1x.png" alt="                        (      )
+           -1---       1  x--&#x03BC;- 2
+- - f(x) = &#x03C3;&#x221A;2&#x03C0;-e@sup - 2   &#x03C3;
+" class="math-display" ></div>
+<!--l. 29--><p class="indent" >     
+
+<hr>
+</div>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4ct 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4ct
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4ct
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi 
+\par 
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4tc 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4tc
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.4tc
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.aux 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.aux
new file mode 100644
index 0000000000..c497e522e9
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.aux
@@ -0,0 +1,3 @@
+\relax 
+\ifx\rEfLiNK\UnDef\gdef \rEfLiNK#1#2{#2}\fi
+\gdef \@abspage@last{1}
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.css 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.css
new file mode 100644
index 0000000000..6067630785
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.css
@@ -0,0 +1,118 @@
+ 
+/* start css.sty */
+.cmmi-7{font-size:70%;font-style: italic;}
+.cmmi-10{font-style: italic;}
+.cmsy-7{font-size:70%;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; 
hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+li p.indent { text-indent: 0em }
+li p:first-child{ margin-top:0em; }
+li p:last-child, li div:last-child { margin-bottom:0.5em; }
+li p:first-child{ margin-bottom:0; }
+li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+.enumerate1 {list-style-type:decimal;}
+.enumerate2 {list-style-type:lower-alpha;}
+.enumerate3 {list-style-type:lower-roman;}
+.enumerate4 {list-style-type:upper-alpha;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+div.newtheorem .head{font-weight: bold;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; }
+.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid 
black 0.4pt; }
+div.fbox {display:table}
+div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; 
margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+span.footnote-mark sup.textsuperscript, span.footnote-mark a 
sup.textsuperscript{ font-size:80%; }
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; 
margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 0px; margin:0px; }
+.hline td, .cline td{ padding: 0; }
+.hline hr, .cline hr{border:none;border-top:1px solid black;}
+.hline {border-top: 1px solid black;}
+.tabbing-right {text-align:right;}
+div.float, div.figure {margin-left: auto; margin-right: auto;}
+div.float img {text-align:center;}
+div.figure img {text-align:center;}
+.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; 
margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+.reversemarginpar{float:left;}
+table.equation {width:100%;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.equation-label { width:5%; text-align:center; }
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.array {text-align:center;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.bar-css {text-decoration:overline;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; 
font-weight:bold; font-size:110%;}
+.index-item, .index-subitem, .index-subsubitem {display:block}
+div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; 
text-align:left;}
+div.caption span.id{font-weight: bold; white-space: nowrap; }
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; 
}
+div.author{white-space: nowrap;}
+div.abstract p {margin-left:5%; margin-right:5%;}
+div.abstract {width:100%;}
+.abstracttitle{text-align:center;margin-bottom:1em;}
+/* end css.sty */
+
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.html 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.html
new file mode 100644
index 0000000000..95cc3822fb
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
+  "http://www.w3.org/TR/html4/loose.dtd";>  
+<html > 
+<head><title></title> 
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<!-- html --> 
+<meta name="src" content="tex_tex4ht_latex.tex"> 
+<link rel="stylesheet" type="text/css" href="tex_tex4ht_latex.css"> 
+</head><body 
+>
+<!--l. 4--><p class="noindent" > 
+ 
+<!-- tex4ht_begin tex_tex4ht_latex latex 1 --> 
+ <div class="eqnarray">
+   <div class="math-display" >
+<img 
+src="tex_tex4ht_latex0x.png" alt="@varab- =   @code@&#x2032;e                  
  (1)
+   &#x03BE;
+     X  =   Y                           (2)
+" class="math-display" ></div>
+   </div>
+<!--l. 9--><p class="indent" >    
+<!-- tex4ht_end tex_tex4ht_latex latex 1 --> 
+ 
+
+    
+</body></html> 
+
+
+
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.lg 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.lg
new file mode 100644
index 0000000000..186c70f867
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.lg
@@ -0,0 +1,128 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_tex4ht_latex.html
+File: tex_tex4ht_latex.css
+File: tex_tex4ht_latex.tmp
+Css: p{margin-top:0;margin-bottom:0}
+Css: p.indent{text-indent:0;}
+Css: p + p{margin-top:1em;}
+Css: p + div, p + pre {margin-top:1em;}
+Css: div + p, pre + p {margin-top:1em;}
+Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: 
break-word; hyphens: auto; }
+Css: @media print {div.crosslinks {visibility:hidden;}}
+Css: table.tabular{border-collapse: collapse; border-spacing: 0;}
+Css: a img { border-top: 0; border-left: 0; border-right: 0; }
+Font_Css("4"): .small-caps{font-variant: small-caps; }
+Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;}
+Font_Css("12"): .htf-calligraphy {font-family:cursive}
+Font_Css("14"): .htf-italic {font-style: italic;}
+Font_Css("16"): .htf-bold {font-weight: bold;}
+Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: 
bold; }
+Css: center { margin-top:1em; margin-bottom:1em; }
+Css: td center { margin-top:0em; margin-bottom:0em; }
+Css: .Canvas { position:relative; }
+Css: img.math{vertical-align:middle;}
+Css: div.par-math-display, div.math-display{text-align:center;}
+Css: li p.indent { text-indent: 0em }
+Css: li p:first-child{ margin-top:0em; }
+Css: li p:last-child, li div:last-child { margin-bottom:0.5em; }
+Css: li p:first-child{ margin-bottom:0; }
+Css: li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+Css: .enumerate1 {list-style-type:decimal;}
+Css: .enumerate2 {list-style-type:lower-alpha;}
+Css: .enumerate3 {list-style-type:lower-roman;}
+Css: .enumerate4 {list-style-type:upper-alpha;}
+Css: div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+Css: div.newtheorem .head{font-weight: bold;}
+Css: .obeylines-h,.obeylines-v {white-space: nowrap; }
+Css: div.obeylines-v p { margin-top:0; margin-bottom:0; }
+Css: .overline{ text-decoration:overline; }
+Css: .overline img{ border-top: 1px solid black; }
+Css: td.displaylines {text-align:center; white-space:nowrap;}
+Css: .centerline {text-align:center;}
+Css: .rightline {text-align:right;}
+Css: pre.verbatim {font-family: monospace,monospace; text-align:left; 
clear:both; }
+Css: .fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; 
border:solid black 0.4pt; }
+Css: div.fbox {display:table}
+Css: div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+Css: div.minipage{width:100%;}
+Css: div.center, div.center div.center {text-align: center; margin-left:1em; 
margin-right:1em;}
+Css: div.center div {text-align: left;}
+Css: div.flushright, div.flushright div.flushright {text-align: right;}
+Css: div.flushright div {text-align: left;}
+Css: div.flushleft {text-align: left;}
+Css: .underline{ text-decoration:underline; }
+Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+Css: .framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; 
padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+Css: .framebox-c {text-align:center;}
+Css: .framebox-l {text-align:left;}
+Css: .framebox-r {text-align:right;}
+Css: span.thank-mark{ vertical-align: super }
+Css: span.footnote-mark sup.textsuperscript, span.footnote-mark a 
sup.textsuperscript{ font-size:80%; }
+Css: div.tabular, div.center div.tabular {text-align: center; 
margin-top:0.5em; margin-bottom:0.5em; }
+Css: table.tabular td p{margin-top:0em;}
+Css: table.tabular {margin-left: auto; margin-right: auto;}
+Css: td p:first-child{ margin-top:0em; }
+Css: td p:last-child{ margin-bottom:0em; }
+Css: div.td00{ margin-left:0pt; margin-right:0pt; }
+Css: div.td01{ margin-left:0pt; margin-right:5pt; }
+Css: div.td10{ margin-left:5pt; margin-right:0pt; }
+Css: div.td11{ margin-left:5pt; margin-right:5pt; }
+Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 
0.4pt; }
+Css: td.td00{ padding-left:0pt; padding-right:0pt; }
+Css: td.td01{ padding-left:0pt; padding-right:5pt; }
+Css: td.td10{ padding-left:5pt; padding-right:0pt; }
+Css: td.td11{ padding-left:5pt; padding-right:5pt; }
+Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 
0.4pt; }
+Css: .hline hr, .cline hr{ height : 0px; margin:0px; }
+Css: .hline td, .cline td{ padding: 0; }
+Css: .hline hr, .cline hr{border:none;border-top:1px solid black;}
+Css: .hline {border-top: 1px solid black;}
+Css: .tabbing-right {text-align:right;}
+Css: div.float, div.figure {margin-left: auto; margin-right: auto;}
+Css: div.float img {text-align:center;}
+Css: div.figure img {text-align:center;}
+Css: .marginpar,.reversemarginpar {width:20%; float:right; text-align:left; 
margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+Css: .marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+Css: .reversemarginpar{float:left;}
+Css: table.equation {width:100%;}
+Css: .equation td{text-align:center; }
+Css: td.equation { margin-top:1em; margin-bottom:1em; } 
+Css: td.equation-label { width:5%; text-align:center; }
+Css: td.eqnarray4 { width:5%; white-space: normal; }
+Css: td.eqnarray2 { width:5%; }
+Css: table.eqnarray-star, table.eqnarray {width:100%;}
+Css: div.eqnarray{text-align:center;}
+Css: div.array {text-align:center;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+Css: span.pmatrix img{vertical-align:middle;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+Css: span.bar-css {text-decoration:overline;}
+Css: img.cdots{vertical-align:middle;}
+Css: .partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; 
font-weight:bold; font-size:110%;}
+Css: .index-item, .index-subitem, .index-subsubitem {display:block}
+Css: div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; 
text-align:left;}
+Css: div.caption span.id{font-weight: bold; white-space: nowrap; }
+Css: h1.partHead{text-align: center}
+Css: p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+Css: p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; 
margin-bottom:0.6em; }
+Css: .paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+Css: .subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+Css: .verse{white-space:nowrap; margin-left:2em}
+Css: div.maketitle {text-align:center;}
+Css: h2.titleHead{text-align:center;}
+Css: div.maketitle{ margin-bottom: 2em; }
+Css: div.author, div.date {text-align:center;}
+Css: div.thanks{text-align:left; margin-left:10%; font-size:85%; 
font-style:italic; }
+Css: div.author{white-space: nowrap;}
+Css: div.abstract p {margin-left:5%; margin-right:5%;}
+Css: div.abstract {width:100%;}
+Css: .abstracttitle{text-align:center;margin-bottom:1em;}
+--- needs --- tex_tex4ht_latex.idv[2] ==> tex_tex4ht_latex0x.png ---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmmi","10","10","100")
+Font("cmsy","7","7","100")
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tex 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tex
new file mode 100644
index 0000000000..d22d388759
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tex
@@ -0,0 +1,10 @@
+% Automatically generated by the t4ht Texinfo HTML extension
+\documentclass{article}
+\begin{document}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_latex latex 1 
-->\Hnewline}
+\begin{eqnarray}
+\frac{@var{a}^b}{\xi} &=& @code{@'e} \\
+X &=& Y
+\end{eqnarray}
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_latex latex 1 -->\Hnewline 
\Hnewline}
+\end{document}
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tmp 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tmp
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.tmp
@@ -0,0 +1,2 @@
+ 
+/* css.sty */
\ No newline at end of file
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.xref 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.xref
new file mode 100644
index 0000000000..8d8affa965
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_latex.xref
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_tex4ht_latex.html}{1}%
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4ct 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4ct
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4ct
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi 
+\par 
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4tc 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4tc
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.4tc
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.css 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.css
new file mode 100644
index 0000000000..f3fb1760ac
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.css
@@ -0,0 +1,45 @@
+ 
+/* start css.sty */
+.cmr-7{font-size:70%;}
+.cmmi-10{font-style: italic;}
+.cmmi-7{font-size:70%;font-style: italic;}
+.cmmi-5{font-size:50%;font-style: italic;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; 
hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+p.item {text-indent:-2em; margin-left:2em;}
+p.itemitem {text-indent:-2em; margin-left:4em;}
+span.item, span.itemitem {width:2em; margin-right:0.4em;}
+td.eqalign3 { text-align:right; margin-left:10em;}
+.eqalign td { white-space: nowrap; }
+div.eqalign {text-align:center;}
+td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+.leqalignno td, .eqalignno td { white-space: nowrap; }
+.leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: normal; 
}
+table.leqalignno, table.eqalignno {width:100%;}
+img.cdots{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+/* end css.sty */
+
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.html 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.html
new file mode 100644
index 0000000000..21478bd598
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
+  "http://www.w3.org/TR/html4/loose.dtd";>  
+<html > 
+<head>
+
+    <title>tex_tex4ht_tex.html</title> 
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<!-- html --> 
+<meta name="src" content="tex_tex4ht_tex.tex"> 
+<link rel="stylesheet" type="text/css" href="tex_tex4ht_tex.css"> 
+</head><body 
+>
+<!--l. 3--><p class="indent" >     
+ 
+<!-- tex4ht_begin tex_tex4ht_tex tex 1 --> 
+
+<!--l. 5--><p class="indent" >
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex0x.png" alt="     N  (            )2
+&#x03C7;2 = &#x2211;   yi --(a+-bxi)
+     i=1       &#x03C3;i
+" class="math-display" ></div>
+<!--l. 10--><p class="indent" >     
+<!-- tex4ht_end tex_tex4ht_tex tex 1 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex tex 2 --> 
+
+<!--l. 13--><p class="indent" >    tex TeX 
+<!-- tex4ht_end tex_tex4ht_tex tex 2 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 3 --> 
+   <span 
+class="cmmi-7">x</span><sup><span 
+class="cmmi-5">i</span></sup> __
+<span 
+class="cmr-7">tan</span> <span 
+class="cmmi-7">y</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 3 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 4 --> 
+ <span 
+class="cmmi-10">a</span>@<span 
+class="cmmi-10">&#x00A0;b</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 4 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 5 --> 
+ @<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">mathcode</span><span 
+class="cmmi-10">a &#x003C; b</span> 
+<!-- tex4ht_end tex_tex4ht_tex math 5 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 6 --> 
+ <span class="underline">@<span 
+class="cmmi-10">code</span><span 
+class="cmmi-10">math</span> code </span><span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span class="underline">@<span 
+class="cmmi-10">var</span><span 
+class="cmmi-10">eff</span></span> 
+<!-- tex4ht_end tex_tex4ht_tex math 6 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex math 7 --> 
+ <span 
+class="cmex-10">&#x2211;</span>
+  <sub><span 
+class="cmmi-7">i</span></sub><span 
+class="cmmi-10">f</span>(<span 
+class="cmmi-10">x</span>)@<span 
+class="cmmi-10">sup</span>2 
+<!-- tex4ht_end tex_tex4ht_tex math 7 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_tex4ht_tex displaymath 8 --> 
+
+    <div class="math-display" >
+<img 
+src="tex_tex4ht_tex1x.png" alt="                        (      )
+           -1---       1  x--&#x03BC;- 2
+- - f(x) = &#x03C3;&#x221A;2&#x03C0;-e@sup - 2   &#x03C3;
+" class="math-display" ></div>
+<!--l. 29--><p class="indent" >     
+<!-- tex4ht_end tex_tex4ht_tex displaymath 8 --> 
+ 
+
+
+     
+</body></html> 
+
+
+
diff --git a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.lg 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.lg
new file mode 100644
index 0000000000..f028bfcced
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.lg
@@ -0,0 +1,58 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_tex4ht_tex.html
+File: tex_tex4ht_tex.css
+File: tex_tex4ht_tex.tmp
+Css: p{margin-top:0;margin-bottom:0}
+Css: p.indent{text-indent:0;}
+Css: p + p{margin-top:1em;}
+Css: p + div, p + pre {margin-top:1em;}
+Css: div + p, pre + p {margin-top:1em;}
+Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: 
break-word; hyphens: auto; }
+Css: @media print {div.crosslinks {visibility:hidden;}}
+Css: table.tabular{border-collapse: collapse; border-spacing: 0;}
+Css: a img { border-top: 0; border-left: 0; border-right: 0; }
+Font_Css("4"): .small-caps{font-variant: small-caps; }
+Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;}
+Font_Css("12"): .htf-calligraphy {font-family:cursive}
+Font_Css("14"): .htf-italic {font-style: italic;}
+Font_Css("16"): .htf-bold {font-weight: bold;}
+Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: 
bold; }
+Css: center { margin-top:1em; margin-bottom:1em; }
+Css: td center { margin-top:0em; margin-bottom:0em; }
+Css: .Canvas { position:relative; }
+Css: img.math{vertical-align:middle;}
+Css: div.par-math-display, div.math-display{text-align:center;}
+Css: .obeylines-h,.obeylines-v {white-space: nowrap; }
+Css: div.obeylines-v p { margin-top:0; margin-bottom:0; }
+Css: .overline{ text-decoration:overline; }
+Css: .overline img{ border-top: 1px solid black; }
+Css: td.displaylines {text-align:center; white-space:nowrap;}
+Css: .centerline {text-align:center;}
+Css: .rightline {text-align:right;}
+Css: .underline{ text-decoration:underline; }
+Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+Css: div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+Css: p.item {text-indent:-2em; margin-left:2em;}
+Css: p.itemitem {text-indent:-2em; margin-left:4em;}
+Css: span.item, span.itemitem {width:2em; margin-right:0.4em;}
+Css: td.eqalign3 { text-align:right; margin-left:10em;}
+Css: .eqalign td { white-space: nowrap; }
+Css: div.eqalign {text-align:center;}
+Css: td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+Css: .leqalignno td, .eqalignno td { white-space: nowrap; }
+Css: .leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: 
normal; }
+Css: table.leqalignno, table.eqalignno {width:100%;}
+Css: img.cdots{vertical-align:middle;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+--- needs --- tex_tex4ht_tex.idv[1] ==> tex_tex4ht_tex0x.png ---
+--- needs --- tex_tex4ht_tex.idv[2] ==> tex_tex4ht_tex1x.png ---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmr","7","7","100")
+Font("cmmi","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmmi","5","5","100")
+Font("cmsy","10","10","100")
+Font("cmex","10","10","100")
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tex 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tex
new file mode 100644
index 0000000000..31c380e43a
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tex
@@ -0,0 +1,31 @@
+% Automatically generated by the t4ht Texinfo HTML extension
+\csname tex4ht\endcsname
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex tex 1 -->\Hnewline}
+
+$$ \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2 $$
+                   
+
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex tex 1 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex tex 2 -->\Hnewline}
+
+tex \TeX 
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex tex 2 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 3 
-->\Hnewline}
+\IgnorePar ${x^i}\over{\tan y}$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex 
math 3 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 4 
-->\Hnewline}
+\IgnorePar $a @\ b$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex math 4 
-->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 5 
-->\Hnewline}
+\IgnorePar $@code{math code} a < b$\HCode{\Hnewline <!-- tex4ht_end 
tex_tex4ht_tex math 5 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 6 
-->\Hnewline}
+\IgnorePar $\underline{@code{math \hbox{ code }}} 
\sum_{i}{\underline{@var{eff}}}$\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex 
math 6 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex math 7 
-->\Hnewline}
+\IgnorePar $\sum_{i} f(x)@sup{2}$\HCode{\Hnewline <!-- tex4ht_end 
tex_tex4ht_tex math 7 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_tex4ht_tex displaymath 8 
-->\Hnewline}
+
+$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e@sup{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_tex4ht_tex displaymath 8 -->\Hnewline 
\Hnewline}
+
+\bye
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tmp 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tmp
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.tmp
@@ -0,0 +1,2 @@
+ 
+/* css.sty */
\ No newline at end of file
diff --git 
a/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.xref 
b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.xref
new file mode 100644
index 0000000000..9773eb4300
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_httex_tex_latex/tex_tex4ht_tex.xref
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_tex4ht_tex.html}{1}%
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex-l2h_cache.pm
new file mode 100644
index 0000000000..d633699ebb
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex-l2h_cache.pm
@@ -0,0 +1,95 @@
+# Automatically generated
+use utf8;
+our %l2h_cache;
+
+$l2h_cache_key = q/$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_11.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+|;
+
+$l2h_cache_key = q/$\mathtt{math code} a < b$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_8.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>|;
+
+$l2h_cache_key = q/$\sum_{i} f(x)^{2}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_10.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>|;
+
+$l2h_cache_key = q/$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_9.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>|;
+
+$l2h_cache_key = q/$a \backslash{} b$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_7.svg"
+ ALT="$a \backslash{} b$"></SPAN>|;
+
+$l2h_cache_key = q/${x^i}\over{\tan y}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_6.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>|;
+
+$l2h_cache_key = q/\begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}/;
+$l2h_cache{$l2h_cache_key} = q|<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\\\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_1.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_4.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_5.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>|;
+
+1;
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.2 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.2
new file mode 100644
index 0000000000..0aaa627853
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.2
@@ -0,0 +1,4 @@
+tex.texi:7: warning: @tex should only appear at the beginning of a line
+tex.texi:14: bad argument to @end: tex bidule
+tex.texi:54: warning: @\ should only appear in math context
+texexpand 
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.html 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.html
new file mode 100644
index 0000000000..b02830fe9c
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Tests</title>
+
+<meta name="description" content="Tests">
+<meta name="keywords" content="Tests">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="Tests">Tests</h1>
+
+<p>Now tex on the same line Some text one the line following @end tex
+</p>
+<p>LaTeX block
+<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_1.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_4.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_5.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>
+</p>
+<p>Now tex on the following line, valid fot tex (with @end tex on a line).
+</p>
+<p>Same that @html (but empty following line not ignored).
+</p>
+<p>Test of @math
+Here some <!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_6.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>.
+</p>
+<p>Maths with protected \:
+<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_7.svg"
+ ALT="$a \backslash{} b$"></SPAN>.
+</p>
+<p>Maths with code @-command:
+</p>
+<p><!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_8.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>
+</p>
+<p>Maths with code @-command and braces:
+</p>
+<p><!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_9.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>
+</p>
+<p>Maths with @-sup
+</p>
+<p><!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_10.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>
+</p>
+<p>@\ outside of math
+</p>
+<p>\
+</p>
+<p>Displaymath
+</p><DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_11.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+
+<hr>
+</div>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.html 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.html
new file mode 100644
index 0000000000..e6574f1a62
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML>
+
+<!--Converted with LaTeX2HTML
+<HTML lang="en">
+<HEAD>
+<TITLE>tex_l2h</TITLE>
+
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
+<META NAME="Generator" CONTENT="LaTeX2HTML">
+
+<LINK REL="STYLESHEET" HREF="tex_l2h.css">
+
+</HEAD>
+
+<BODY >
+
+<!-- l2h_begin tex_l2h 1 -->
+<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_l2h_img1.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_l2h_img2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_l2h_img3.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_l2h_img4.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_l2h_img2.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_l2h_img5.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>
+
+<!-- l2h_end tex_l2h 1 -->
+
+<!-- l2h_begin tex_l2h 2 -->
+<!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_l2h_img6.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>
+
+<!-- l2h_end tex_l2h 2 -->
+
+<!-- l2h_begin tex_l2h 3 -->
+<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_l2h_img7.svg"
+ ALT="$a \backslash{} b$"></SPAN>
+
+<!-- l2h_end tex_l2h 3 -->
+
+<!-- l2h_begin tex_l2h 4 -->
+<!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_l2h_img8.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>
+
+<!-- l2h_end tex_l2h 4 -->
+
+<!-- l2h_begin tex_l2h 5 -->
+<!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_l2h_img9.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>
+
+<!-- l2h_end tex_l2h 5 -->
+
+<!-- l2h_begin tex_l2h 6 -->
+<!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_l2h_img10.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>
+
+<!-- l2h_end tex_l2h 6 -->
+
+<!-- l2h_begin tex_l2h 7 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_l2h_img11.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+
+
+<!-- l2h_end tex_l2h 7 -->
+<BR>
+<HR>
+</BODY>
+</HTML>
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.tex 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.tex
new file mode 100644
index 0000000000..1d86270c68
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h.tex
@@ -0,0 +1,73 @@
+% Automatically generated by Texinfo HTML l2h extension
+% DO NOT EDIT !!!
+\documentclass{article}
+\usepackage{html}
+\begin{document}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 1 -->
+\end{rawhtml}
+\begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 1 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 2 -->
+\end{rawhtml}
+${x^i}\over{\tan y}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 2 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 3 -->
+\end{rawhtml}
+$a \backslash{} b$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 3 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 4 -->
+\end{rawhtml}
+$\mathtt{math code} a < b$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 4 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 5 -->
+\end{rawhtml}
+$\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 5 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 6 -->
+\end{rawhtml}
+$\sum_{i} f(x)^{2}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 6 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 7 -->
+\end{rawhtml}
+$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 7 -->
+
+\end{rawhtml}
+\end{document}
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_images.tex 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_images.tex
new file mode 100644
index 0000000000..f9cdb99af4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_images.tex
@@ -0,0 +1,188 @@
+\batchmode
+
+\documentclass{article}
+\RequirePackage{ifthen}
+
+
+\usepackage{html}
+
+
+\usepackage{xcolor}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8 
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname{}%
+  \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textheight}{554pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\usepackage[tightpage,active]{preview}
+\PreviewBorder=0.5bp
+\newbox\lthtmlPageBox
+\newdimen\lthtmlCropMarkHeight
+\newdimen\lthtmlCropMarkDepth
+\long\def\lthtmlTightVBoxA#1{\def\lthtmllabel{#1}
+    \setbox\lthtmlPageBox\vbox\bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightVBoxZ{\egroup
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+\long\def\lthtmlTightFBoxA#1{\def\lthtmllabel{#1}%
+    \adjustnormalsize\setbox\lthtmlPageBox=\vbox\bgroup\hbox\bgroup %
+    \let\ifinner=\iffalse \let\)\liih@math %
+    \bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightFBoxZ{\egroup\egroup
+    \@next\next\@currlist{}{\def\next{\voidb@x}}%
+    \expandafter\box\next\egroup %
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+    
\long\def\lthtmlinlinemathA#1#2\lthtmlindisplaymathZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\def\lthtmlinlineA#1#2\lthtmlinlineZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayA#1#2\lthtmldisplayZ{\lthtmlTightVBoxA{#1}{#2}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayB#1#2\lthtmldisplayZ{\\edef\preveqno{(\theequation)}%
+        \lthtmlTightVBoxA{#1}{\let\@eqnnum\relax#2}\lthtmlTightVBoxZ}
+    \long\def\lthtmlfigureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightFBoxA{#1}}
+    \long\def\lthtmlfigureZ{
+        \lthtmlTightFBoxZ\global\let\@freelist\@savefreelist}
+    \long\def\lthtmlpictureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightVBoxA{#1}}
+    \long\def\lthtmlpictureZ{
+        \lthtmlTightVBoxZ\global\let\@freelist\@savefreelist}
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize 
+  \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+  \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1 
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength 
oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay43}%
+$\displaystyle \frac{\mathit{a}^b}{\xi}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay44}%
+$\textstyle =$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay45}%
+$\displaystyle \mathtt{\acute{e}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay46}%
+$\displaystyle X$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay48}%
+$\displaystyle Y$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline30}%
+${x^i}\over{\tan y}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline32}%
+$a \backslash{} b$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline34}%
+$\mathtt{math code} a < b$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline36}%
+$\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline38}%
+$\sum_{i} f(x)^{2}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay55}%
+$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+
+\end{document}
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_labels.pl 
b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_labels.pl
new file mode 100644
index 0000000000..ecc7b241c4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_latex/tex_l2h_labels.pl
@@ -0,0 +1,13 @@
+# LaTeX2HTML
+# Associate labels original text with physical files.
+
+
+1;
+
+
+# LaTeX2HTML
+# labels from external_latex_labels array.
+
+
+1;
+
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex-l2h_cache.pm
new file mode 100644
index 0000000000..70b6df1eef
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex-l2h_cache.pm
@@ -0,0 +1,124 @@
+# Automatically generated
+use utf8;
+our %l2h_cache;
+
+$l2h_cache_key = q/
+$$ \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2 $$/;
+$l2h_cache{$l2h_cache_key} = q|
+<P>
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 7.42ex; vertical-align: -3.09ex; " SRC="tex_1.svg"
+ ALT="$\displaystyle \chi^2 = \sum_{i=1}^N
+\left(y_i - (a + b x_i)
+\over \sigma_i\right)^2 $">
+</DIV>
+|;
+
+$l2h_cache_key = q/
+tex \TeX/;
+$l2h_cache{$l2h_cache_key} = q|
+<P>
+tex <SPAN CLASS="logo-TeX">T<SMALL>E</SMALL>X</SPAN>|;
+
+$l2h_cache_key = q/$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_12.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+|;
+
+$l2h_cache_key = q/$\mathtt{math code} a < b$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_9.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>|;
+
+$l2h_cache_key = q/$\sum_{i} f(x)^{2}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_11.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>|;
+
+$l2h_cache_key = q/$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_10.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>|;
+
+$l2h_cache_key = q/$a \backslash{} b$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_8.svg"
+ ALT="$a \backslash{} b$"></SPAN>|;
+
+$l2h_cache_key = q/${x^i}\over{\tan y}$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_7.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>|;
+
+$l2h_cache_key = q/\begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}/;
+$l2h_cache{$l2h_cache_key} = q|<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\\\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_2.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_4.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_5.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_6.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>|;
+
+1;
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.2 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.2
new file mode 100644
index 0000000000..0aaa627853
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.2
@@ -0,0 +1,4 @@
+tex.texi:7: warning: @tex should only appear at the beginning of a line
+tex.texi:14: bad argument to @end: tex bidule
+tex.texi:54: warning: @\ should only appear in math context
+texexpand 
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.html 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.html
new file mode 100644
index 0000000000..6f8f905b38
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Tests</title>
+
+<meta name="description" content="Tests">
+<meta name="keywords" content="Tests">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="Tests">Tests</h1>
+
+<p>Now tex on the same line 
+<P>
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 7.42ex; vertical-align: -3.09ex; " SRC="tex_1.svg"
+ ALT="$\displaystyle \chi^2 = \sum_{i=1}^N
+\left(y_i - (a + b x_i)
+\over \sigma_i\right)^2 $">
+</DIV>
+
+Some text one the line following @end tex
+</p>
+<p>LaTeX block
+<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_2.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_4.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_5.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_6.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>
+</p>
+<p>Now tex on the following line, valid fot tex (with @end tex on a line).
+
+<P>
+tex <SPAN CLASS="logo-TeX">T<SMALL>E</SMALL>X</SPAN>
+</p>
+<p>Same that @html (but empty following line not ignored).
+</p>
+<p>Test of @math
+Here some <!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_7.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>.
+</p>
+<p>Maths with protected \:
+<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_8.svg"
+ ALT="$a \backslash{} b$"></SPAN>.
+</p>
+<p>Maths with code @-command:
+</p>
+<p><!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_9.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>
+</p>
+<p>Maths with code @-command and braces:
+</p>
+<p><!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_10.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>
+</p>
+<p>Maths with @-sup
+</p>
+<p><!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_11.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>
+</p>
+<p>@\ outside of math
+</p>
+<p>\
+</p>
+<p>Displaymath
+</p><DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_12.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+
+<hr>
+</div>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.html 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.html
new file mode 100644
index 0000000000..a75b281821
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML>
+
+<!--Converted with LaTeX2HTML
+<HTML lang="en">
+<HEAD>
+<TITLE>tex_l2h</TITLE>
+
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
+<META NAME="Generator" CONTENT="LaTeX2HTML">
+
+<LINK REL="STYLESHEET" HREF="tex_l2h.css">
+
+</HEAD>
+
+<BODY >
+
+<!-- l2h_begin tex_l2h 1 -->
+
+<P>
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 7.42ex; vertical-align: -3.09ex; " SRC="tex_l2h_img1.svg"
+ ALT="$\displaystyle \chi^2 = \sum_{i=1}^N
+\left(y_i - (a + b x_i)
+\over \sigma_i\right)^2 $">
+</DIV>
+
+
+<!-- l2h_end tex_l2h 1 -->
+
+<!-- l2h_begin tex_l2h 2 -->
+<BR>
+<DIV CLASS="displaymath">
+
+<!-- MATH
+ \begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+ -->
+<TABLE CLASS="equation" >
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 5.80ex; vertical-align: -2.16ex; " SRC="tex_l2h_img2.svg"
+ ALT="$\displaystyle \frac{\mathit{a}^b}{\xi}$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_l2h_img3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.65ex; vertical-align: -0.12ex; " SRC="tex_l2h_img4.svg"
+ ALT="$\displaystyle \mathtt{\acute{e}}$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">1</SPAN>)</TD></TR>
+<TR><TD class="lfill"></TD><TD style="text-align:RIGHT"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_l2h_img5.svg"
+ ALT="$\displaystyle X$"></TD>
+<TD style="text-align:center"><IMG
+ STYLE="height: 1.08ex; vertical-align: -0.12ex; " SRC="tex_l2h_img3.svg"
+ ALT="$\textstyle =$"></TD>
+<TD style="text-align:left;"><IMG
+ STYLE="height: 1.81ex; vertical-align: -0.12ex; " SRC="tex_l2h_img6.svg"
+ ALT="$\displaystyle Y$"></TD><TD class="rfill">(<SPAN 
CLASS="arabic">2</SPAN>)</TD></TR>
+</TABLE></DIV>
+
+<!-- l2h_end tex_l2h 2 -->
+
+<!-- l2h_begin tex_l2h 3 -->
+
+<P>
+tex <SPAN CLASS="logo-TeX">T<SMALL>E</SMALL>X</SPAN>
+<!-- l2h_end tex_l2h 3 -->
+
+<!-- l2h_begin tex_l2h 4 -->
+<!-- MATH
+ ${x^i}\over{\tan y}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.73ex; vertical-align: -1.23ex; " SRC="tex_l2h_img7.svg"
+ ALT="${x^i}\over{\tan y}$"></SPAN>
+
+<!-- l2h_end tex_l2h 4 -->
+
+<!-- l2h_begin tex_l2h 5 -->
+<!-- MATH
+ $a \backslash{} b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.55ex; vertical-align: -0.70ex; " SRC="tex_l2h_img8.svg"
+ ALT="$a \backslash{} b$"></SPAN>
+
+<!-- l2h_end tex_l2h 5 -->
+
+<!-- l2h_begin tex_l2h 6 -->
+<!-- MATH
+ $\mathtt{math code} a < b$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 1.93ex; vertical-align: -0.21ex; " SRC="tex_l2h_img9.svg"
+ ALT="$\mathtt{math code} a &lt; b$"></SPAN>
+
+<!-- l2h_end tex_l2h 6 -->
+
+<!-- l2h_begin tex_l2h 7 -->
+<!-- MATH
+ $\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.88ex; vertical-align: -1.03ex; " SRC="tex_l2h_img10.svg"
+ ALT="$\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}$"></SPAN>
+
+<!-- l2h_end tex_l2h 7 -->
+
+<!-- l2h_begin tex_l2h 8 -->
+<!-- MATH
+ $\sum_{i} f(x)^{2}$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.81ex; vertical-align: -0.81ex; " SRC="tex_l2h_img11.svg"
+ ALT="$\sum_{i} f(x)^{2}$"></SPAN>
+
+<!-- l2h_end tex_l2h 8 -->
+
+<!-- l2h_begin tex_l2h 9 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+- - f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.44ex; vertical-align: -2.28ex; " SRC="tex_l2h_img12.svg"
+ ALT="$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$">
+</DIV>
+
+
+<!-- l2h_end tex_l2h 9 -->
+<BR>
+<HR>
+</BODY>
+</HTML>
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.tex 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.tex
new file mode 100644
index 0000000000..111a63ff94
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h.tex
@@ -0,0 +1,95 @@
+% Automatically generated by Texinfo HTML l2h extension
+% DO NOT EDIT !!!
+\documentclass{article}
+\usepackage{html}
+\begin{document}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 1 -->
+\end{rawhtml}
+
+$$ \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2 $$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 1 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 2 -->
+\end{rawhtml}
+\begin{eqnarray}
+\frac{\mathit{a}^b}{\xi} &=& \mathtt{\acute{e}} \\
+X &=& Y
+\end{eqnarray}
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 2 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 3 -->
+\end{rawhtml}
+
+tex \TeX
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 3 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 4 -->
+\end{rawhtml}
+${x^i}\over{\tan y}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 4 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 5 -->
+\end{rawhtml}
+$a \backslash{} b$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 5 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 6 -->
+\end{rawhtml}
+$\mathtt{math code} a < b$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 6 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 7 -->
+\end{rawhtml}
+$\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 7 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 8 -->
+\end{rawhtml}
+$\sum_{i} f(x)^{2}$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 8 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_l2h 9 -->
+\end{rawhtml}
+$$-- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_l2h 9 -->
+
+\end{rawhtml}
+\end{document}
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_images.tex 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_images.tex
new file mode 100644
index 0000000000..7a8d41fb4c
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_images.tex
@@ -0,0 +1,196 @@
+\batchmode
+
+\documentclass{article}
+\RequirePackage{ifthen}
+
+
+\usepackage{html}
+
+
+\usepackage{xcolor}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8 
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname{}%
+  \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textheight}{554pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\usepackage[tightpage,active]{preview}
+\PreviewBorder=0.5bp
+\newbox\lthtmlPageBox
+\newdimen\lthtmlCropMarkHeight
+\newdimen\lthtmlCropMarkDepth
+\long\def\lthtmlTightVBoxA#1{\def\lthtmllabel{#1}
+    \setbox\lthtmlPageBox\vbox\bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightVBoxZ{\egroup
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+\long\def\lthtmlTightFBoxA#1{\def\lthtmllabel{#1}%
+    \adjustnormalsize\setbox\lthtmlPageBox=\vbox\bgroup\hbox\bgroup %
+    \let\ifinner=\iffalse \let\)\liih@math %
+    \bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightFBoxZ{\egroup\egroup
+    \@next\next\@currlist{}{\def\next{\voidb@x}}%
+    \expandafter\box\next\egroup %
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+    
\long\def\lthtmlinlinemathA#1#2\lthtmlindisplaymathZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\def\lthtmlinlineA#1#2\lthtmlinlineZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayA#1#2\lthtmldisplayZ{\lthtmlTightVBoxA{#1}{#2}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayB#1#2\lthtmldisplayZ{\\edef\preveqno{(\theequation)}%
+        \lthtmlTightVBoxA{#1}{\let\@eqnnum\relax#2}\lthtmlTightVBoxZ}
+    \long\def\lthtmlfigureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightFBoxA{#1}}
+    \long\def\lthtmlfigureZ{
+        \lthtmlTightFBoxZ\global\let\@freelist\@savefreelist}
+    \long\def\lthtmlpictureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightVBoxA{#1}}
+    \long\def\lthtmlpictureZ{
+        \lthtmlTightVBoxZ\global\let\@freelist\@savefreelist}
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize 
+  \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+  \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1 
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength 
oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay52}%
+$\displaystyle \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2 $%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay54}%
+$\displaystyle \frac{\mathit{a}^b}{\xi}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay55}%
+$\textstyle =$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay56}%
+$\displaystyle \mathtt{\acute{e}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay57}%
+$\displaystyle X$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay59}%
+$\displaystyle Y$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline33}%
+${x^i}\over{\tan y}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline35}%
+$a \backslash{} b$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline37}%
+$\mathtt{math code} a < b$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline39}%
+$\underline{\mathtt{math \hbox{ code }}} \sum_{i}{\underline{\mathit{eff}}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline41}%
+$\sum_{i} f(x)^{2}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay66}%
+$\displaystyle -- f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 
2}\left({x-\mu \over \sigma}\right)^2}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+
+\end{document}
diff --git a/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_labels.pl 
b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_labels.pl
new file mode 100644
index 0000000000..ecc7b241c4
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_l2h_tex_latex/tex_l2h_labels.pl
@@ -0,0 +1,13 @@
+# LaTeX2HTML
+# Associate labels original text with physical files.
+
+
+1;
+
+
+# LaTeX2HTML
+# labels from external_latex_labels array.
+
+
+1;
+
diff --git a/tp/tests/tex_html/res_parser/tex_mathjax/js_licenses.html 
b/tp/tests/tex_html/res_parser/tex_mathjax/js_licenses.html
new file mode 100644
index 0000000000..6933c53297
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_mathjax/js_licenses.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html><head><title>jslicense labels</title></head>
+<body>
+<table id="jslicense-labels1">
+<tr>
+<td><a 
href="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js";>https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js</a></td>
+<td><a href="https://www.apache.org/licenses/LICENSE-2.0";>Apache License, 
Version 2.0.</a></td>
+<td><a 
href="http://docs.mathjax.org/en/latest/web/hosting.html#getting-mathjax-via-git";>http://docs.mathjax.org/en/latest/web/hosting.html#getting-mathjax-via-git</a></td>
+</tr>
+</table>
+</body></html>
diff --git a/tp/tests/tex_html/res_parser/tex_mathjax/tex.1 
b/tp/tests/tex_html/res_parser/tex_mathjax/tex.1
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tp/tests/tex_html/res_parser/tex_mathjax/tex.2 
b/tp/tests/tex_html/res_parser/tex_mathjax/tex.2
new file mode 100644
index 0000000000..7c806c8bb9
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_mathjax/tex.2
@@ -0,0 +1,5 @@
+tex.texi:7: warning: @tex should only appear at the beginning of a line
+tex.texi:14: bad argument to @end: tex bidule
+tex.texi:54: warning: @\ should only appear in math context
+tex.texi:7: warning: raw format tex is not converted
+tex.texi:27: warning: raw format tex is not converted
diff --git a/tp/tests/tex_html/res_parser/tex_mathjax/tex.html 
b/tp/tests/tex_html/res_parser/tex_mathjax/tex.html
new file mode 100644
index 0000000000..99c1a50682
--- /dev/null
+++ b/tp/tests/tex_html/res_parser/tex_mathjax/tex.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Tests</title>
+
+<meta name="description" content="Tests">
+<meta name="keywords" content="Tests">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+<script type='text/javascript'>
+MathJax = {
+  options: {
+    skipHtmlTags: {'[-]': ['pre']},
+    ignoreHtmlClass: 'tex2jax_ignore',
+    processHtmlClass: 'tex2jax_process'
+  },
+};
+</script><script type="text/javascript" id="MathJax-script" async
+  src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js";>
+</script>
+</head>
+
+<body lang="en" class="tex2jax_ignore">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="Tests">Tests</h1>
+
+<p>Now tex on the same line 
+$$ \chi^2 = \sum_{i=1}^N
+          \left(y_i - (a + b x_i)
+         \over \sigma_i\right)^2 $$
+                   
+
+Some text one the line following @end tex
+</p>
+<p>LaTeX block
+</p>
+<p>Now tex on the following line, valid fot tex (with @end tex on a line).
+
+tex \TeX 
+</p>
+<p>Same that @html (but empty following line not ignored).
+</p>
+<p>Test of @math
+Here some <em class="math tex2jax_process">\({x^i}\over{\tan y}\)</em>.
+</p>
+<p>Maths with protected \:
+<em class="math tex2jax_process">\(a \backslash{} b\)</em>.
+</p>
+<p>Maths with code @-command:
+</p>
+<p><em class="math tex2jax_process">\(\mathtt{math code} a < b\)</em>
+</p>
+<p>Maths with code @-command and braces:
+</p>
+<p><em class="math tex2jax_process">\(\underline{\mathtt{math \hbox{ code }}} 
\sum_{i}{\underline{\mathit{eff}}}\)</em>
+</p>
+<p>Maths with @-sup
+</p>
+<p><em class="math tex2jax_process">\(\sum_{i} f(x)^{2}\)</em>
+</p>
+<p>@\ outside of math
+</p>
+<p>\
+</p>
+<p>Displaymath
+</p><div class="displaymath"><em class="tex2jax_process">\[-- f(x) = {1 \over 
\sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over \sigma}\right)^2}
+\]</em></div>
+<hr>
+</div>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+<a href="js_licenses.html" rel="jslicense"><small>JavaScript license 
information</small></a>
+</body>
+</html>
diff --git a/tp/tests/tex_html/tex.texi b/tp/tests/tex_html/tex.texi
index a23578df1d..627f14dddd 100644
--- a/tp/tests/tex_html/tex.texi
+++ b/tp/tests/tex_html/tex.texi
@@ -18,7 +18,7 @@ Some text one the line following @@end tex
 LaTeX block
 @latex
 \begin{eqnarray}
-\frac{@var{a}^b}{\xsi} &=& @code{@'e} \\
+\frac{@var{a}^b}{\xi} &=& @code{@'e} \\
 X &=& Y
 \end{eqnarray}
 @end latex
diff --git a/tp/texi2any.pl b/tp/texi2any.pl
index 121e22352c..0121100ff3 100755
--- a/tp/texi2any.pl
+++ b/tp/texi2any.pl
@@ -947,6 +947,7 @@ There is NO WARRANTY, to the extent permitted by law.\n"), 
"2021");
  'ifinfo!' => sub { set_expansion('info', $_[1]); },
  'ifxml!' => sub { set_expansion('xml', $_[1]); },
  'ifdocbook!' => sub { set_expansion('docbook', $_[1]); },
+ 'iflatex!' => sub { set_expansion('latex', $_[1]); },
  'iftex!' => sub { set_expansion('tex', $_[1]); },
  'ifplaintext!' => sub { set_expansion('plaintext', $_[1]); },
  'I=s' => sub { push @texi2dvi_args, ('-'.$_[0], $_[1]);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]