textit use con tex4ht en modo mathjax
Estoy intentando compilar código Latex generado por Maple. El Latex generado contiene cosas como \textit{\_C1}que funciona bien en pdf, pero cuando se compila en HTML usando tex4ht, en modo mathjax, no funciona, ya que mathjax no admite el anidamiento dentro de esta macro ( referencia )
MathJax no procesa macros en modo texto, ya que solo maneja macros en modo matemático. Entonces, dentro de \ text {} o \ hbox {} u otro material en modo texto incrustado dentro del modo matemático, no se realizan macros. Esa es una característica, no un error. :-)
He intentado utilizar \renewcommandpara redefinir \textit{\_C1}a {\it \_C1}la que funciona en HTML / mathjax, pero no es capaz de hacerlo. El comando no cambia en HTML, todavía se muestra como\textit{\_C1}
Aquí está MWE
\documentclass[12pt]{article}
\usepackage{amsmath}
\ifdefined\HCode
\renewcommand{\textit}[1]{{\it#1}}
\fi
\begin{document}
\[
y(t) = \textit{\_C1}
\]
\[
y (t) = {\it \_C1}
\]
\end{document}
Compilado en pdf usando lualatex, ambos dan el mismo resultado
Pero compilado en html
make4ht -ulm default foo3.tex "mathjax,htm"
El HTML generado es
<!DOCTYPE html>
<html lang="en-US" xml:lang="en-US" >
<head><title></title>
<meta charset="utf-8" />
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" type="text/css" href="foo3.css" />
<meta name="src" content="foo3.tex" />
<script>window.MathJax = { tex: { tags: "ams", inlineMath: [ ["\\\(","\\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ], processEscapes: true, processEnvironments: true, packages: ['base', 'color', 'ams'] }, loader: { load: ['[tex]/color', '[tex]/ams'] } }; </script>
<script type="text/javascript" async="async" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js"></script>
</head><body
>
<!--l. 12--><p class="noindent" >\[ y(t) = \textit{\_C1} \]
</p><!--l. 17--><p class="indent" > \[ y (t) ={\it \_C1} \] </p>
</body>
</html>
¿Cómo corregir mi \renewcommandpara que \textit{#}se cambie {\it #}automáticamente para hacer feliz a Mathjax? (No puedo cambiar el código de generación de código de Maple Latex) ¿O hay una mejor manera de solucionar esto que no sea usando \renewcommand? ¿Es posible que sea necesario agregar una nueva configuración en tex4ht para esta macro para mathjax?
Usando TL 2020
Respuestas
¿Su generador de LaTeX produce \textiten modo matemático? Yo diría que es un error. Debería usar \mathiten su lugar. \itno debe usarse en absoluto, es un comando obsoleto. De todos modos, como su documento es renderizado por MathJax y explícitamente dice que no admite contenido matemático en su interior \textit, no hay nada que podamos hacer.
Esto funciona tanto en pdflatexMathJax como en MathJax:
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\[
y(t) = \mathit{\_C1}
\]
\[
y (t) = {\it \_C1}
\]
\end{document}