我想做一些我认为很多人愿意做的事情,但工具似乎不存在。
我的问题是,是否有一个库(C++ 或 Java)可以解析由 LaTeX 生成的 PDF 并将其“分段”(比如一次一段)渲染,以便渲染程序可以将渲染的 PDF 与交互式小部件交织在一起。Display PostScript 本来可以实现这一点,但几年前就消失了。
目标是使用 LaTeX 制作演示文稿的文本方面,同时允许使用交互式工具。例如,假设您想解释杠杆的工作原理。LaTeX 可用于讨论的静态方面,包括一些静态图形。但用户还应该能够以交互方式处理影响杠杆工作原理的输入 - 比如移动支点或改变两端的重量。读者可以打印文档以正常离线阅读,但他们也可以在线与其交互。
阻力最小的方法是使用基于浏览器的工具,但 HTML/JS 在处理一些简单公式以外的内容时表现很差。另一种解决方案是在 PDF 中插入指向 HTML 页面的超链接,这种方法虽然可行,但这是一种鲁布·戈德堡方法,读者的体验并不流畅。
答案1
渐近线是一种类似 C 的语言,可以直接包含在您的 LaTeX 文档中。如果您可以说服所有最终用户仅使用 Adobe Acrobat 显示他们的 PDF,那么 Asymptote 可以将交互式图表直接嵌入您的 PDF 中。这是一个TUGboat 文章演示了一些交互式图表. 所有内容都可以像任何其他 PDF 一样打印出来。
我个人对 Asymptote 的使用经验非常有限,而且我从未使用过 Asymptote 的交互部分。虽然它似乎满足了你问题中提到的所有要求,但我不会推荐它,除非你能真的确保所有最终用户都在使用 Adobe Acrobat。HTML 仍然可以很好地使用 MathJax 显示数学,而 JavaScript + SVG 可以创造奇迹,用于创建交互式图表。