
Quiero convertir el siguiente archivo TeX (minimizado) a 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}
Mi archivo de configuración es
\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
y el comando que ejecuto es
make4ht -c /CONF/sample.cfg markup.tex "mathjax"
Desafortunadamente, esto produce imágenes para cada fórmula que está entre dos signos de dólar $$. ¿Cómo puedo arreglar esto? He tratado de imitar las soluciones aesteyesterespuestas de Michal detokenizando todo lo que esté entre dos signos de dólar, pero no funcionó.
Además, no quiero utilizar MathML porque no analiza mis fórmulas tan bien como TeX-to-MathJax.
Respuesta1
Debería funcionar con la distribución actualizada de TeX Live, pero también puedes agregar el soporte usando el siguiente archivo de configuración:
\Preamble{xhtml}
\catcode`\:=11
\Configure{$$}{\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes}{\expandafter\AltlDisplayDollars}
\long\def\AltlDisplayDollars#1$${\alteqtoks{\[#1\]}$$}
\catcode`\:=12
\begin{document}
\EndPreamble
Convierte $$
su fuente en \[
la salida, por lo que ni siquiera necesita proporcionar ninguna configuración a MathJax. Este es el 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>