mathjax 모드에서 tex4ht와 함께 textit 사용

mathjax 모드에서 tex4ht와 함께 textit 사용

Maple에서 생성된 Latex 코드를 컴파일하려고 합니다. 생성된 Latex에는 \textit{\_C1}pdf에서 제대로 작동하는 것과 같은 것이 포함되어 있지만 mathjax 모드에서 tex4ht를 사용하여 HTML로 컴파일하면 작동하지 않습니다. 왜냐하면 mathjax는 이 매크로 내 중첩을 지원하지 않기 때문입니다(참조)

MathJax는 수학 모드 매크로만 처리하므로 텍스트 모드에서는 매크로를 처리하지 않습니다. 따라서 \text{}, \hbox{} 또는 수학 모드에 포함된 기타 텍스트 모드 자료 내에서는 매크로가 수행되지 않습니다. 그건 버그가 아닌 기능입니다. :-)

HTML/mathjax에서 작동하는 것을 \renewcommand재정의하려고 시도했지만 수행할 수 없습니다. 명령은 HTML에서 변경되지 않으며 여전히 다음과 같이 표시됩니다.\textit{\_C1}{\it \_C1}\textit{\_C1}

여기는 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}

lualatex를 사용하여 pdf로 컴파일하면 둘 다 동일한 출력을 제공합니다.

여기에 이미지 설명을 입력하세요

하지만 html로 컴파일하면

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

여기에 이미지 설명을 입력하세요

생성된 HTML은 다음과 같습니다.

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

mathjax를 행복하게 만들기 위해 자동 으로 변경 \renewcommand되도록 수정하는 방법은 무엇입니까 ? (Maple Latex 코드 생성 코드를 변경할 수 없습니다.) 아니면 를 사용하는 것 외에 이 문제를 해결할 수 있는 더 좋은 방법이 있습니까 ? mathjax용 매크로에 대해 tex4ht에 새 구성을 추가해야 할 수도 있습니까?\textit{#}{\it #}\renewcommand

TL 2020 사용

답변1

LaTeX 생성기가 \textit수학 모드에서 생성됩니까? 나는 그것이 오류라고 말하고 싶습니다. 대신 사용해야합니다 \mathit. \it전혀 사용해서는 안되며 더 이상 사용되지 않는 명령입니다. 어쨌든, 귀하의 문서는 MathJax에 의해 렌더링되고 내부의 수학 콘텐츠를 지원하지 않는다고 명시적으로 명시되어 있으므로 \textit우리가 할 수 있는 일은 아무것도 없습니다.

이는 pdflatexMathJax와 둘 다에서 작동합니다:

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

\begin{document}


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

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

여기에 이미지 설명을 입력하세요

관련 정보