TeX - LaTeX Asked on October 3, 2021
This MWE
documentclass{article}
usepackage{amsmath}
begin{document}
[
W = begin{vmatrix}
sqrt {x} & {x}^{{frac{3}{2}}}
{frac {1}{2}{frac {1}{sqrt {x}}}} & {frac {3}{2}sqrt {x}}
end{vmatrix}
]
end{document}
when compiled using make4ht foo3.tex "mathjax"
gives
The raw HTML is
<html lang='en-US' xml:lang='en-US'>
<head><title></title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
<link rel='stylesheet' href='foo3.css' type='text/css' />
<meta content='foo3.tex' name='src' />
<script> window.MathJax = { tex: { tags: "ams", inlineMath: [ ["(",")"] ], displayMath: [ ['$$','$$'], ["[","]"] ], processEscapes: true, processEnvironments: true, packages: ['base', 'color', 'ams'] }, loader: { load: ['[tex]/color', '[tex]/ams'] } }; </script>
<script async='async' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js' id='MathJax-script' type='text/javascript'></script>
</head><body>
<!-- l. 25 --><p class='noindent'>[ W = begin{vmatrix} sqrt{x} &{x}^{{frac{3}{2}}} :{frac{1}{2}{frac{1}{sqrt{x}}}} &{frac{3}{2}sqrt{x}} end{vmatrix} ]
</p>
</body>
</html>
Where did the extra ":" come from and how to get rid of it?
>make4ht --version
make4ht version v0.3e
Using TL 2020 on Linux
FYI, the code above was auto-generated by Maple latex, which seems to add extra {}
automatically as follows
Example 1
latex(x^(3/2))
{x}^{{frac{3}{2}}}
Example 2
latex(diff(x^(3/2),x))
{frac {3}{2}sqrt {x}}
This has no effect when compiling to PDF. The PDF output of the above from lualatex foo3.tex
is OK
Updated
FYI, link to bug report to mathjax added
TeX4ht passes LaTeX math verbatim to the HTML file. The problem is that the process it uses introduces lot of unwanted spaces to the output. This can cause issues in MathJax rendering. To fix this, it uses several regular expressions. One of them replaces {
with :{
, in order to fix this issue. The problem is that it also replaces {
with :{
, which causes the spurious colon. So we need to catch this case with another regular expression.
Here is updated mathjax-latex-4ht.4ht
:
% mathjax-latex-4ht.sty (2020-07-27-14:09), generated from tex4ht-mathjax.tex
% Copyright 2018-2019 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
% is the TeX4ht Project <http://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
immediatewrite-1{version 2020-07-27-14:09}
RequirePackage{etoolbox,expl3,environ}
ExplSyntaxOn
cs_new_protected:Npn alteqtoks #1
{
tl_set:Nx l_tmpa_tl {detokenize{#1}}
% convert { to :{
regex_replace_all:nnN { x{5C} x{20} x{7B} } { x{5C} x{3A} x{7B} } l_tmpa_tl
regex_replace_all:nnN { x{5C} x{5C} x{3A} x{7B} } { x{5C} x{5C} x{20} x{7B} } l_tmpa_tl
% delete spaces before left brackets
regex_replace_all:nnN { x{20} x{7B} } { x{7B} } l_tmpa_tl
% convert :{ back to {
regex_replace_all:nnN { x{5C} x{5C} x{3A} x{7B} } { x{5C} x{5C} x{20} x{7B} } l_tmpa_tl
% replace < > and & with xml entities
regex_replace_all:nnN { x{26} } { & } l_tmpa_tl
regex_replace_all:nnN { x{3C} } { < } l_tmpa_tl
regex_replace_all:nnN { x{3E} } { > } l_tmpa_tl
tl_set:Nx l_tmpb_tl{ l_tmpa_tl }
HCode{l_tmpb_tl}
}
ExplSyntaxOff
NewConfigure{MathJaxConfig}{1}
longdefAltlMath#1){expandafteralteqtoks{(#1)})}
longdefAltlDisplay#1]{alteqtoks{[#1]}]}
longdefAltMathOne#1${alteqtoks{(#1)}$}
% this seems a bit hacky -- we need to skip some code inserted at the
% beginning of each display math
longdefAltlDisplayDollarsfi#1$${alteqtoks{[#1]}$$}
newcommandVerbMathToks[2]{%
alteqtoks{begin{#2}
#1
end{#2}}%
}
newcommandVerbMath[1]{%
ifcsdef{#1}{%
RenewEnviron{#1}{%
NoFontsexpandafterVerbMathToksexpandafter{BODY}{#1}EndNoFonts%
}
}{}%
}
deffixmathjaxtoc#1{Configure{writetoc}{def#1{detokenize{#1}}}}
deffixmathjaxsec#1{def#1{detokenize{#1}}}
AtBeginDocument{%
VerbMath{subarray}
VerbMath{smallmatrix}
VerbMath{matrix}
VerbMath{pmatrix}
VerbMath{bmatrix}
VerbMath{Bmatrix}
VerbMath{vmatrix}
VerbMath{Vmatrix}
VerbMath{cases}
VerbMath{subequations}
VerbMath{aligned}
VerbMath{alignedat}
VerbMath{gathered}
VerbMath{gather}
VerbMath{gather*}
VerbMath{alignat}
VerbMath{alignat*}
VerbMath{xalignat}
VerbMath{xalignat*}
VerbMath{xxalignat}
VerbMath{align}
VerbMath{align*}
VerbMath{flalign}
VerbMath{flalign*}
VerbMath{split}
VerbMath{multline}
VerbMath{multline*}
VerbMath{equation}
VerbMath{equation*}
VerbMath{math}
VerbMath{displaymath}
VerbMath{eqnarray}
VerbMath{eqnarray*}
ConfigureEnv{multline}{}{}{}{}
ConfigureEnv{multline*}{}{}{}{}
fixmathjaxsecleft
fixmathjaxsecright
fixmathjaxtocint
fixmathjaxtoc,
fixmathjaxtocsin
fixmathjaxtoccos
fixmathjaxtoctan
fixmathjaxtocarcsin
fixmathjaxtocarccos
fixmathjaxtocarctan
fixmathjaxtoccsc
fixmathjaxtocsec
fixmathjaxtoccot
fixmathjaxtocsinh
fixmathjaxtoccosh
fixmathjaxtoctanh
fixmathjaxtoccoth
fixmathjaxtoclog
fixmathjaxtocln
fixmathjaxtocsum
}
endinput
The important code is this:
cs_new_protected:Npn alteqtoks #1
{
tl_set:Nx l_tmpa_tl {detokenize{#1}}
% convert { to :{
regex_replace_all:nnN { x{5C} x{20} x{7B} } { x{5C} x{3A} x{7B} } l_tmpa_tl
regex_replace_all:nnN { x{5C} x{5C} x{3A} x{7B} } { x{5C} x{5C} x{20} x{7B} } l_tmpa_tl
% delete spaces before left brackets
regex_replace_all:nnN { x{20} x{7B} } { x{7B} } l_tmpa_tl
% convert :{ back to {
regex_replace_all:nnN { x{5C} x{5C} x{3A} x{7B} } { x{5C} x{5C} x{20} x{7B} } l_tmpa_tl
% replace < > and & with xml entities
regex_replace_all:nnN { x{26} } { & } l_tmpa_tl
regex_replace_all:nnN { x{3C} } { < } l_tmpa_tl
regex_replace_all:nnN { x{3E} } { > } l_tmpa_tl
tl_set:Nx l_tmpb_tl{ l_tmpa_tl }
HCode{l_tmpb_tl}
}
This is the result:
Correct answer by michal.h21 on October 3, 2021
I find that that the issue you've encountered goes away if I get rid of the specious pairs of curly braces in your code.
Here's a screenshot of the displayed html file obtained by running make4ht main.tex "mathjax"
. (The tex file is called main.tex
. My TeX distribution is MacTeX2020.)
documentclass{article}
usepackage{amsmath}
begin{document}
[
W = begin{vmatrix}
sqrt {x} & {x}^{frac{3}{2}}
frac {1}{2}frac {1}{sqrt {x}} & frac {3}{2} sqrt {x}
end{vmatrix}
]
end{document}
Answered by Mico on October 3, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP