Kindle DX 与 tex4ebook 的格式化问题

Kindle DX 与 tex4ebook 的格式化问题

没有比这更简单的 MWE 了:

\documentclass[]{book}
\begin{document}
This is \emph{very} strange

\end{document}

您可以使用 tex4ebook 编译它,但htlatex example.tex xhtml结果相同:如果您通过 Kindle Previewer 运行 epub 或 .html 输出,它在“Kindle Paperwhite”上显示正常,但在“Kindle DX”上,斜体“very”会缩进到它自己的行上。“This is”和“strange”都向左对齐。

(当我尝试使用特殊的“字典”标签时,我在“Paperwhite”预览器上实际上遇到了类似的问题<idx>,当我将文件下载到实际设备时也遇到了同样的问题,所以我不认为这只是一个预览器错误,但我没有 Kindle DX......)

我意识到这可能超出了 tex.stackexchange 的范围,但我愿意听取关于其他地方发布的建议。不过,我怀疑可以通过更改 tex4ht 生成的 css 来修复它。

谢谢!

答案1

我无法访问 kindle previewer,所以我不知道问题是什么,可能是 Kindle DX 的一个错误。您可以尝试配置\emph以生成更适合的 html 代码kindle,例如:

\Preamble{xhtml}
\begin{document}
\Configure{emph}{\Protect\HCode{<em>}\NoFonts}{\EndNoFonts\Protect\HCode{</em>}}
\Css{em{font-style:italic;}}
\Css{em em{font-style:normal;}}
\EndPreamble

<em>使用元素代替默认元素<span>,也许它在方面有更好的支持kindle。使用样式来支持嵌套命令中css切换italic和字体的 LaTeX 行为normal\emph

编辑:我在 Kindle 预览器中尝试了上述示例,问题仍然存在。但当我删除文件时.css,一切正常,所以我发现Kindle DXcss 处理存在一些问题。经过一番研究,我发现这可能是由以下程序生成的无效 css 引起的tex4ht(此错误在当前版本中已修复TeXlive,但我使用的是旧版本):

.likesubsectionToc ~ .subsubsectionToc, .subsectionToc ~ .subsubsectionToc, {margin-left:2em;}

注意左括号前的逗号,这是无效的。如果没有逗号,渲染即使在Kindle DX

相关内容