我曾听说过有人提到 LaTeX 可用于制作电子书。我认为这是指制作固定大小的小页面,例如 7 英寸,固定字体大小,例如 8pt,用于在越来越流行的平板电脑上阅读 pdf 文件,但并不特别适用于屏幕更小且主要使用 ePub、Mobi 或 Kindle 格式的 eInk 电子阅读器。
再三考虑后,我发现我可能错了。似乎程序员可以更轻松地创建一个 LaTeX 编译器(pdfLaTeX 的假设替代品),它可以生成 epub、mobi 或其他我不知道的东西,这些文件可以适应电子阅读器屏幕的大小,并调整为读者喜欢的首选字体大小。
对于那些喜欢使用 LaTeX 制作可重排电子书而不是 pdf 电子书的人来说,这已经完成了吗?
答案1
tex4电子书可用于将 LaTeX 格式转换为电子书格式。它支持epub
、epub3
和mobi
格式。
我去年做过一些关于它的演讲,捷克语幻灯片在线,以及源代码示例。示例包括示例代码和结果,因此即使您不懂捷克语,它们也会很有趣。
默认外观相当简单和基本,您需要使用自定义 CSS 来添加一些自定义设计。也许使用一些支持响应式设计的 CSS 框架,这对于支持具有各种屏幕尺寸的设备很重要。CSS 可以添加到文件中.cfg
,例如这个:
\RequirePackage{include4ht}
\RequirePackage{addfont4ht}
\Preamble{xhtml}
\CoverMetadata{cover.png}
\AddCss{scale.css}
\Configure{textbf}{\NoFonts\HCode{<strong>}}{\HCode{</strong>}\EndNoFonts}
\Configure{textit}{\NoFonts\HCode{<em>}}{\HCode{</em>}\EndNoFonts}
\begin{document}
\NormalFont{EBGaramond}{EBGaramond12-Regular.woff}
\BoldFont{EBGaramond}{EBGaramond12-Italic.woff}
\ItalicFont{EBGaramond}{EBGaramond12-Italic.woff}
\Configure{@HEAD}{
\HCode{<style type='text/css' >\Hnewline
body{font-family:rmfamily, "EBGaramond", sans-serif;
font-size:1.3em;
}\Hnewline
p img{display:inline;}
</style>}}
\EndPreamble
软件包include4ht
,并且addfont4ht
是helpers4ht 捆绑包,目前还未在 CTAN 上发布。它们提供了\AddCss
添加自定义 CSS 的命令(比例.css在本例中),以及 \NormalFont
,\BoldFont
和\ItalicFont
,它们在.woff
格式中添加自定义字体。所有需要的文件都可以在之前链接的带有示例的存储库进行我的演讲。
\Configure{@HEAD}{
\HCode{<style type='text/css' >\Hnewline
body{font-family:rmfamily, "EBGaramond", sans-serif;
font-size:1.3em;
}\Hnewline
p img{display:inline;}
</style>}}
此代码声明了EBGaramond
在文档中使用的包含的字体,它需要在所有其他CSS
代码之后包含,所以我们必须使用这个特殊的构造在 HTML 标头中插入一些内容。
不幸的是,所有这些功能(自定义字体、响应式 CSS 等)仅支持epub3
格式。您可以使用命令编译 TeX 文件
tex4ebook -c configfile.cfg -f epub3 texfile.tex
您可以看到使用此转换器转换并使用以下样式的 TeX 文件示例scale.css
这里