
Quero converter o seguinte arquivo TeX (minimizado) para HTML:
\documentclass{article}
\begin{document}
We have $a = a$, \(a = a\) and also
\[c = c\] and even
\begin{equation*}
E = mc^2.
\end{equation*}
All seems to work, except for
$$F = ma.$$
\end{document}
Meu arquivo de configuração é
\RequirePackage{amsmath,amsfonts,amssymb,amsthm,enumitem,booktabs,float,graphicx,hyperref}
\Preamble{xhtml}
\Configure{MathJaxConfig}{{
tex: {
tags: "ams",
\detokenize{%
inlineMath: [ [’$’,’$’], ["\\\(","\\\)"] ],
displayMath: [ [’$$’,’$$’], ["\\[","\\]"] ],}
processEscapes: true,
processEnvironments: true,
packages: [’base’, ’color’, ’ams’, ’boldsymbol’, ’newcommand’, ’verb’]
}
}}
\Configure{MathjaxSource}{https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js}
\def\eqref#1{$\mathrm{(\ref{#1})}$}
\begin{document}
\EndPreamble
e o comando que executo é
make4ht -c /CONF/sample.cfg markup.tex "mathjax"
Infelizmente, isso produz imagens para cada fórmula colocada entre dois cifrões $$. Como posso consertar isso? Tentei imitar as soluções paraesseeesserespostas de Michal destokenizando tudo entre dois cifrões, mas não funcionou.
Além disso, não quero usar MathML, pois ele não analisa minhas fórmulas tão bem quanto TeX-to-MathJax.
Responder1
Deve funcionar com a distribuição TeX Live atualizada, mas você também pode adicionar suporte usando o seguinte arquivo de configuração:
\Preamble{xhtml}
\catcode`\:=11
\Configure{$$}{\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes}{\expandafter\AltlDisplayDollars}
\long\def\AltlDisplayDollars#1$${\alteqtoks{\[#1\]}$$}
\catcode`\:=12
\begin{document}
\EndPreamble
Ele converte $$
sua fonte em \[
saída, então você nem precisa fornecer nenhuma configuração ao MathJax. Este é o código HTML resultante:
<!-- l. 4 --><p class='noindent'>We have \(a = a\), \(a = a\) and also \[c = c\] and even \begin {equation*} E = mc^2. \end {equation*} All seems to work, except for
\[F = ma.\]
</p>