使用 LaTeX 制作 ePub

使用 LaTeX 制作 ePub

我在这里问一个在意大利 TeX 小组论坛上提出的问题。

有没有办法从 LaTeX 源自动生成 ePub 输出?

我应该指出,ePub 只是 HTML + CSS 子集 + 一些元数据 XML,打包在一个 ZIP 文件中。因此,人们可以使用现有的 HTML 转换工具。对于 ePub 输出,仍然可以做得更好。

首先,ePub 只接受 CSS 的一个子集,那么最好也使用来自 LaTeX 源的元数据来生成文件。最后,我不确定它是如何工作的,但 ePub 文件允许自动连字。我的意思是,可以在 ePub 文件本身中指定连字,这样读者就不需要知道连字规则了。请注意,由于 ePub 文件是可调整大小的,因此必须指定所有可能的连字点。

答案1

Pandoc 支持将 Latex 转换为 Epub。我认为没有任何“黑盒”解决方案能够产生高质量的输出,但 Pandoc 生成的 HTML 很容易处理。

资源:

  1. 约翰·麦克法兰的使用 pandoc 创建电子书

  2. 我的回答推荐 Pandoc(现已删除,因此包含在下面)对于 SO 问题,Java 软件用户手册:应用内帮助 + PDF,其中还讨论了一些其他有用的处理 Epub 转换的技术。

    不清楚您的 HTML 问题是什么:我建议查看基于 HTML 的 Epub 格式。

    有 Latex 到 Epub 的转换器,例如潘多克,它们会生成单独的 TOC 和元数据文件,从您的角度来看,这可能会使表示更加令人满意。

    电子书有一个捆绑的 Java 查看器(来源),您可以根据自己的需要进行定制。

    请注意,您可以从 PDF 生成 SVG,这可能会为您提供一些灵活性。

答案2

我使用以下非常简单的脚本:

latexml --dest=$1.xml $1.tex
latexmlpost -dest=$1.html $1.xml
ebook-convert $1.html $1.epub --language en --no-default-epub-cover

它利用latexmlebook-converter(Calibre 附带的命令行工具)。它对许多公式都非常有用。一旦 mathML 在较新的 epub 版本中被编码,通过使用 latexmlpost -dest=$1.xhtml $1.xml 而不是我的脚本的第二行,事情会变得更加漂亮。

答案3

我从未尝试过自动化这个过程,但我认为一个脚本可以从 TeX 源生成 HTML,然后将该 HTML 传递给口径电子书转换命令行程序就足够了。第一步可以使用 TeX4t 或类似程序。

是否有任何 ePub 阅读器支持连字符,即使指定了?大多数 ePub 软件都基于 Adob​​e Digital Editions,据我所知,它被这个噎住了. 我怀疑 iBooks 会更好。

答案4

以下链接提到使用 LaTeXML 将 LaTeX 转换为 ePub:http://uk.tug.org/2010/10/16/uk-tug-discussion-meeting-and-agm/(参见倒数第三段左右)

相关内容