uso de textit com tex4ht no modo mathjax

uso de textit com tex4ht no modo mathjax

Estou tentando compilar o código Latex gerado pelo Maple. O Latex gerado contém coisas como \textit{\_C1}which funciona bem em pdf, mas quando compilado para HTML usando tex4ht, no modo mathjax, não funciona, pois mathjax não suporta aninhamento dentro desta macro (referência)

MathJax não processa macros em modo texto, pois apenas lida com macros em modo matemático. Portanto, dentro de \text{} ou \hbox{} ou outro material em modo texto incorporado no modo matemático, nenhuma macro é executada. Esse é um recurso, não um bug. :-)

Tentei usar \renewcommandpara redefinir \textit{\_C1}o {\it \_C1}que funciona em HTML/mathjax, mas não consegui. O comando não está mudando em HTML, ainda aparece como\textit{\_C1}

Aqui 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 para pdf usando lualatex, ambos fornecem a mesma saída

insira a descrição da imagem aqui

Mas compilado para html

  make4ht -ulm default foo3.tex "mathjax,htm"

insira a descrição da imagem aqui

O HTML gerado é

<!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>

Como corrigir o meu \renewcommandpara que \textit{#}seja alterado {\it #}automaticamente para deixar o mathjax feliz? (Não posso alterar o código de geração de código Maple Latex) Ou existe uma maneira melhor de corrigir isso além de usar \renewcommand? Pode ser necessário adicionar uma nova configuração no tex4ht para esta macro para mathjax?

Usando TL 2020

Responder1

O seu gerador LaTeX produz \textitno modo matemático? Eu diria que é um erro. Deveria usar \mathitem seu lugar. \itnão deve ser usado, é um comando obsoleto. De qualquer forma, como seu documento é renderizado por MathJax e diz explicitamente que não suporta conteúdo matemático interno \textit, não há nada que possamos fazer.

Isso funciona em ambos pdflatexe no MathJax:

\documentclass[12pt]{article}
\usepackage{amsmath}

\begin{document}


\[
y(t) = \mathit{\_C1}
\]

  
\[
y (t) = {\it \_C1}
\]
\end{document}

insira a descrição da imagem aqui

informação relacionada