textit use com tex4ht no modo mathjax
Estou tentando compilar o código Latex gerado pelo Maple. O Latex gerado contém coisas \textit{\_C1}que funcionam 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 de texto, uma vez que só lida com macros em modo matemático. Portanto, dentro de \ text {} ou \ hbox {} ou outro material de modo de texto embutido no modo matemático, nenhuma macro é executada. Esse é um recurso, não um bug. :-)
Eu tentei usar \renewcommanda redefinir \textit{\_C1}a {\it \_C1}qual trabalha em HTML / MathJax, mas não é capaz de fazê-lo. O comando não está mudando em HTML, ele ainda mostra 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
Mas compilado para html
make4ht -ulm default foo3.tex "mathjax,htm"
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 meu \renewcommandpara que \textit{#}seja alterado para {\it #}automaticamente para deixar o mathjax feliz? (Não consigo alterar o código de geração de código do Maple Latex) Ou existe uma maneira melhor de corrigir isso do que usando \renewcommand? Pode ser necessário adicionar uma nova configuração em tex4ht para esta macro para mathjax?
Usando TL 2020
Respostas
O seu gerador LaTeX produz \textitem modo matemático? Eu diria que é um erro. Deve usar em seu \mathitlugar. \itnão deve ser usado de forma alguma, é 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 tanto no pdflatexMathJax quanto no:
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\[
y(t) = \mathit{\_C1}
\]
\[
y (t) = {\it \_C1}
\]
\end{document}