如何从同一源创建 PDF 和 HTML 输出

如何从同一源创建 PDF 和 HTML 输出

我正在处理一个文档,到目前为止,该文档仅以 PDF 文件形式发布。为了利用 PDF 的某些功能,它使用了软件包pdfpagespdftex命令,例如includepdf{}

但很快该文档将以 PDF 和 HTML 格式提供。我发现我可以使用htlatex/tex4ht来转换它,但似乎此工具与特殊的 pdf 功能和包不兼容。一旦我删除它们,它就可以正常工作。

删除 pdf 内容,转换为 html,然后手动重新放入,这不是一个选择(这是一份不断发展的文档,经过大量贡献者十多年的努力,目前仍有几个人在编辑,因此我们依靠使用 的自动构建过程make

有没有类似的方法条件编译忽略\usepackage某些 make 运行中的某些指令,或者您对如何执行此操作还有其他提示吗?

答案1

您可以使用包 ifpdf 并将 pdf 特定内容包含在 \ifpdf ... \fi 中

\usepackage{ifpdf}

\ifpdf
%pdf specific stuff
\fi

或者,你可以使用类似以下工具制作 PDF 文件并转换为 HTMLpdf转html

答案2

tex2page通常会产生令人惊叹的 HTML 页面。

答案3

由于文本主要是散文+浮点数,您可以考虑用 markdown 编写源代码,然后使用将其转换为 html 和 latex/context潘多克,其在创建可预测的输出方面做得相当不错。

答案4

我的主要建议是:使用版本控制,并为 XHTML+MathML[1] 和 PDF 各创建一个分支。让版本控制系统跟踪更改,您只需要集中精力确保两者都尽可能好地实现所需的输出。

其他可能性浮现在脑海中:因为从 XHTML 转到 PDF 非常容易(文件->打印->打印到文件!),所以请集中精力于 XHTML 版本,将 PDF 留给读者。

并且,稍微讽刺一下,我会考虑在这个问题上添加一个“不要这样做”的标签(如果它还没有达到最大值的话)。在屏幕上查看文档的要求与打印文档的要求完全不同,因此值得考虑拥有两个几乎完全独立的文档。(注:我知道 PDF 通常在屏幕上查看,但我更多地考虑的是阅读器和文档之间可能的交互,这在 XHTML 文档中是可能的,而在 PDF 中很难实现。)

[1] 我认识你写道HTML,但你意味着XHTML+MathML。

相关内容