如何使用 make4ht 很好地转换 catcode=12 的下划线?

如何使用 make4ht 很好地转换 catcode=12 的下划线?

我有以下“MWE.tex”文件,其中我使用以下方式定义下划线\catcode'_=12

\documentclass{article}
\catcode`_=12
   
\begin{document}
Text containing underscore between parenthesis (_)
\end{document}

当我尝试使用 Make4ht 将此“MWE.tex”文件转换为 html 时,命令如下:

make4ht MWE.tex

我在 HTML 中获得了此结果(下划线没有很好地转换):

括号 (˙) 之间包含下划线的文本

我的网络导航器显示如下: 在此处输入图片描述

在这种情况下,有没有办法获得良好的下划线转换?

答案1

您的示例的排版方式不同pdflatexlualatex显示pdflatexText containing underscore between parenthesis (˙),和lualatex显示: 。根据您选择的转换引擎,Text containing underscore between parenthesis (_)您将获得类似的结果。当您使用时,它将显示下划线:make4htlualatex

make4ht -l MWE.tex

结果如下:

在此处输入图片描述

或者,当您使用较旧的系统时,您可以尝试此 TeX4ht 配置文件:

\Preamble{xhtml}
\begin{document}
\catcode`_=13
\def_{\textunderscore}
\EndPreamble

它使下划线处于活动状态并将其定义为生成\textunderscore命令。我希望这在 TeX Live 2019 上也能正常工作。

编译使用:

make4ht -c config.cfg MWE.tex

相关内容