是否有任何使用 Tex 作为后端的文档查看器?

是否有任何使用 Tex 作为后端的文档查看器?

我知道许多人使用 MikTeX 和 TexWorks 等编辑程序来编辑 TeX 文档;这些程序(以及类似的程序)为 TeX 提供了伪所见即所得 (WYSIWIG) 界面。但是,我还没有看到任何专门为基于 TeX 方式查看文档而设计的程序。

显然,TeX 旨在以选择的格式产生输出,但是是否有任何文档查看程序可以将 TeX 格式的文档作为输入并显示格式化的文本?

我至少看到这种系统有几个优点:

  • 动态缩放,并适当
    • 查看环境的默认设置(例如适合屏幕宽度)
    • 字体调整
    • 换行
    • 图像调整大小
  • 独立于 PDF 查看器功能的超引用
  • 减少文档存储的内存需求(如果在移动设备上实施则很重要)

背景:这个问题是由以下问题引发的:在 Kindle 上查看 TeX 生成的文档。我妈妈刚买了一台 Kindle,她问我如何浏览上面的文档。虽然我主要使用 PDF,但超引用在 Kindle 上不起作用。我突然想到,在 Kindle 上实现 TeX 的查看器将是一个有趣的应用程序。

答案1

我对这个问题的理解是:在目前的电子书阅读器上,你可以改变文档的字体大小,然后阅读器会为你重新排列段落。因此,你无法利用 TeX 最强大的功能之一:它的换行算法。此外,图形大小调整也是一个问题。AdamRedwine 似乎在这里提出的想法是,以 TeX 子集的格式分发文档,而不指定字体大小、页面大小和边距等内容,并使用类似 TeX 引擎的东西在电子书阅读器中动态处理文档,阅读器提供有关字体和页面大小的缺失信息。这样,无论阅读器的屏幕尺寸如何,无论您选择何种字体大小,您都会拥有或多或少格式良好的文档。

我认为这根本不可能。首先,精心设计的 TeX 文档中并非所有内容都是自动完成的。诸如过满的水平盒子、孤行和寡行、图形位置等内容必须经常手动调整,有时甚至需要更改文本。其次,我不知道新款 Kindle 的处理能力如何,但我有一台旧 Nook,它的速度远远不够快,无法即时运行 TeX 来重新排版文档。您也不想浪费存储空间来制作一个相当完整的 TeX 发行版。

也许在某个时候,有一些非常有限的 TeX 子集,只使用换行和段落分割算法,是可行的。或者也许基于粗鲁的人。但目前我还不知道有什么可以完成这个工作。

答案2

有一些针对 TeX 的或多或少符合所见即所得的程序:

不过,像 Kindle 这样的封闭系统并不是实现上述功能的理想选择,因为您需要亚马逊的大量支持。在其他运行设备上,可能可以安装某种 TeX 发行版并进行一些修改。基本上,您需要一个 pdf 查看器,如果文本大小等发生变化,它会在后台自动运行 TeX 编译器。另一个需要注意的是,.tex 文档还需要与 geometry 等软件包兼容,以便能够轻松地动态更改页面大小。

我认为这是一个有趣的想法,但与其他重排格式(如 epub 格式)相比,要获得一个可运行且易于使用的包还需要做大量工作。

答案3

理论上,这是可能的。可以创建一个自定义的 TeX 编译器,例如,执行对 QPainter 的函数调用以在 Qt 应用程序中绘制页面,而不是输出 DVI 或 PDF 文档。LuaTeX 团队似乎正在努力实现这一点,正如“后端”部分所述他们的路线图

然而,问题在于创建自定义 TeX 编译器非常非常困难。引用一句老话:

通往地狱之路由废弃的、半实现的 TeX 编译器铺就

TeX 语言有 BNF 语法吗?以便了解迈出这条路的第一步有多么困难。

相关内容