我在这里问了一个问题老问题,我完全按照答案操作,现在重音问题已经解决,但仍然有一些错误。这是我的 html,我已将其转换为图片。 我认为 tex4ht 或 make4ht 的默认 CSS 设置存在一些错误。希望有人可以修复它们。我使用 texlive 2019。
答案1
好吧,这似乎有很多问题 :) 我已经更新了 TeX4ht 源代码,修复了这里介绍的大部分问题,所以它们很快就会变得不再需要。一些问题也在 中得到修复make4ht
,因此您将需要开发版本。
问题 1 - 巨大文本。
这是由extarticle
类引起的,因为文档选择 20pt 的字体大小作为基本字体大小。TeX4ht 可以检测字体大小并生成 CSS 指令以在文档中使用这些大小。在这种情况下,我们显然不希望出现这种情况。
要修复该问题,请使用以下版本extarticle.4ht
:
\ifnum\@ptsize>12\relax
\renewcommand\@ptsize{10}
\input{size\@ptsize.clo}
\fi
\Hinput{extarticle}
\endinput
命令的大小\verb
将在配置文件中固定
问题 2 - 积分的大小
这是 TeX4ht 中的错误,它生成了错误的 MathML 结构。
问题 3 - 非斜体数学文本
中的错误make4ht
,它应该由开发版本修复。
问题 4 - 缺少\boldsymbol
支持
现在应该支持了。
请注意,一些问题也可能是由 MathML 与 TeX 的渲染方式不同引起的,情况并不总是相同的。我注意到,例如,第 7 节中的多行代码在 Firefox 中被拆分为多行,但在 MathJax 中仍保留在一行中。
这是更新后的配置文件:
\Preamble{xhtml,mathml,fn-in,html5}
\Css{body{
margin:40px auto;
max-width:36em;
line-height:1.6;
font-size:1em; 0.88em;
color:\#222;
background-color:\#FEFEF7;
padding:0 10px;}}
\Css{h1,h2,h3{line-height:1.2}}
\Css{p.indent{text-indent:0;}}
\Css{@media (min-width: 29.63em){
:root {
font-size: 3vw;
}
}}
\Css{@media (min-width: 40.74em){
:root {
font-size: 1.375em;
}
}}
\Css{body {
font-family: STIXGeneral, "Linux Libertine O", Gentium, Georgia,
"Times New Roman", "Iowan Old Style",
Palatino Linotype, Palatino, serif;
}}
\Configure{verb}{\NoFonts\HCode{<code>}}{\HCode{</code>}\EndNoFonts}
%\Css{code{font-family:monospace,monospace}}
\begin{document}
\catcode`\:=11
\def\myop#1{\PauseMathClass\HCode{<mo accent="true">}#1\HCode{</mo>}\EndPauseMathClass}
\def\:vec:over{\ifmmode\expandafter\myop\fi{\x:unicode{2192}}}
\def\:grave:over{\ifmmode\expandafter\myop\fi{\x:unicode{0300}}}
\def\:acute:over{\ifmmode\expandafter\myop\fi{\x:unicode{0301}}}
\def\:hat:over{\ifmmode\expandafter\myop\fi{\x:unicode{0302}}}
\def\:widehat:over{\ifmmode\expandafter\myop\fi{\x:unicode{0302}}}
\def\:tilde:over{\ifmmode\expandafter\myop\fi{\x:unicode{0303}}}
\def\:widetilde:over{\ifmmode\expandafter\myop\fi{\x:unicode{0303}}}
\def\:bar:over{\ifmmode\expandafter\myop\fi{\x:unicode{0304}}}
\def\:breve:over{\ifmmode\expandafter\myop\fi{\x:unicode{0306}}}
\def\:dot:over{\ifmmode\expandafter\myop\fi{\x:unicode{0307}}}
\def\:ddot:over{\ifmmode\expandafter\myop\fi{\x:unicode{0308}}}
\def\:uml:over{\ifmmode\expandafter\myop\fi{\x:unicode{0308}}}
\def\:ring:over{\ifmmode\expandafter\myop\fi{\x:unicode{030A}}}
\def\:Huml:over{\ifmmode\expandafter\myop\fi{\x:unicode{030B}}}
\def\:check:over{\ifmmode\expandafter\myop\fi{\x:unicode{030C}}}
\def\:d:under{\ifmmode\expandafter\myop\fi{\x:unicode{0323}}}
\def\:cedil:under{\ifmmode\expandafter\myop\fi{\x:unicode{0327}}}
\def\:b:under{\ifmmode\expandafter\myop\fi{\x:unicode{0331}}}
\def\:udot:over{\ifmmode\expandafter\myop\fi{\x:unicode{0361}}}
% handle integrals
\def\:tempc{\ifDisplayMath\mathop:prefix{largeop="true"}\fi\o:n:int::}
\HLet\n:int:\:tempc
\renewcommand\boldsymbol[1]{\HCode{<mstyle class="boldsymbol" mathvariant="bold-italic">}#1\HCode{</mstyle>}}
\def\mathop:prefix#1{%
\Configure{mathop}{*}{<\a:mathml mo #1\Hnewline>}{</\a:mathml mo>}%
{\Configure{mathop}{*}{<\a:mathml mo>}{</\a:mathml mo>}{}}}
\catcode`\:=12
\EndPreamble