tex4ebook(或 htlatex)不能正确处理(数学)重音符号?

tex4ebook(或 htlatex)不能正确处理(数学)重音符号?

我尝试了一些代码,例如

\documentclass{amsart}

\begin{document}
Let's see $\widehat{\mathcal F}=\hat F=\bar F=\tilde F=\overline F$.
\end{document}

使用默认编译。只有 才能\overline正确呈现。我查看了生成的 html 代码,在我看来,这些重音符号已被考虑在内(有一个代码<span class='accentwidehat'>...</span>),但通常的浏览器不会考虑这一点。有什么解决方法吗?谢谢。

答案1

由于您针对的是 MathML 甚至 CSS 支持较差的电子书,我猜唯一通用的解决方法是使用图像来表示数学。尝试将pic-m所有内联数学转换为图像的选项:

tex4ebook filename.tex "pic-m"

结果:

在此处输入图片描述

还有一些未记录的选项需要重音字符的图像:

tex4ebook filename.tex "new-accents,accent-,mathaccent-"

请注意,它甚至可能会要求文本中的重音字符带有图片,这可能是不受欢迎的。

编辑:

我从源中提取了图片重音的代码tex4ht。它应该保持文本重音正常。尝试以下配置文件:

\Preamble{xhtml,new-accents}
\Configure{HAccent}\vec{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widehat{}{\Picture+{}}{\EndPicture}
  \Configure{HAccent}\bar{}{\Picture+{}}{\EndPicture}
  \Configure{HAccent}\hat{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
  \Configure{HAccent}\tilde{AOaoNn{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widetilde{}{\Picture+{}}{\EndPicture}
\begin{document}
\EndPreamble

编辑2:

new-accents和之间似乎存在冲突babel。在这种情况下,我们可以尝试重新定义重音命令以直接使用图片:

\RequirePackage{etoolbox}
\Preamble{xhtml}
\def\patchaccent#1{%
  \csletcs{orig#1}{#1}
  \expandafter\def\csname #1\endcsname##1{\Picture+{}\csname orig#1\endcsname{##1}\EndPicture}
}
\patchaccent{widehat}
\patchaccent{hat}
\patchaccent{bar}
\patchaccent{tilde}
\patchaccent{overline}
\begin{document}
\EndPreamble

相关内容