将 LaTeX 转换为 HTML

将 LaTeX 转换为 HTML

有没有转换器可以将 LaTeX 转换为 HTML?我尝试过几种服务,但 LaTeX 图表和一些数学运算结果很奇怪。

我实际上毫无问题地将 Latex 转换为 PDF。然后我使用在线 PDF 到 HTML 转换器从 PDF 转换为 HTML。平方根符号显示不正确,并且一些笛卡尔坐标平面图上除了网格外没有任何内容。

\documentclass[12pt,a4paper]{report}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{pstricks,pst-plot}
\usepackage{pst-eucl}
\addtolength{\hoffset}{0.2cm}
\addtolength{\textwidth}{1.1cm}
\addtolength{\textheight}{1.0cm}
\addtolength{\voffset}{-0.7cm}
\linespread{1.3}
\begin{document}

If $x$ is non-positive then $x \leq -\sqrt{\frac{1}{2}}$     $\hspace{30 mm} $     (6)\\

(4) and (6) tell us that\\

(4)  $-1 \leq x \leq 0$  \\

(6)  If $x$ is non-positive then $x \leq -\sqrt{\frac{1}{2}}$\\

Therefore $-1 \leq x \leq -\sqrt{\frac{1}{2}}$\\

\vspace{50 mm}

\begin{align*}
\psgrid[unit=2cm](0,0)(-2,-2)(2,2)
\pnode(-1.8,.87){b}\uput[50](b){b}
\pnode(-1.8,1.8){a}\uput[50](a){a}
\psset{linecolor=green}
\psline[linewidth=1pt](-1.8, 0)(-1.8,4)
\psset{linecolor=green}
\psline[linewidth=1pt](-1.8, 0)(-1.8,-4)
\psset{linecolor=blue}
\psellipticarc(0,0)(2,2){0}{180}
\psset{linecolor=red}
\psline[linewidth=1pt,linestyle=dashed,dash=2pt](-2,2)(-1.41,1.41)
\psset{linecolor=red}
\psline[linewidth=1pt](-1.41,1.41)
\psset{linecolor=red}
\psline[linewidth=1pt]{->}(4,-4)
\psset{linecolor=red}
\psline[linewidth=1pt]{->}(-2,2)(-4,4)
\end{align*}

\end{document}

PDF 输出:

在此处输入图片描述

PDF->HTML 输出:

在此处输入图片描述

答案1

在从 LaTeX 转换为 HTML 时使用 PDF 作为中间格式并不是一个好主意。LaTeX 和 HTML 都是结构性标记语言,这意味着您可以使用它们来描述文档结构(章节、强调、公式等),而 PDF 主要是关于文档在屏幕或纸张上的表示。在将 LaTeX 转换为 PDF 时,您会丢失大量结构信息,并且无法通过从 PDF 转换为 HTML 成功恢复这些信息。

最好将 LaTeX 直接转换为 HTML。方法数(Wayback Archive)如何做到这一点,我推荐使用htlatex。它可能已经是你的 TeX 发行版的一部分,非常强大和灵活,它的使用可以像运行

htlatex mydocument.tex

如果您告诉我们更多关于您的环境的信息(您使用什么操作系统,您的 TeX 发行版是什么,您的文本编辑器/LaTeX IDE 是什么,您如何生成 PDF 文件等等),我们也许能够为您提供有关如何使用的更多详细信息htlatex

答案2

我使用过这款车,感觉还不错,推荐潘多克用于将 LaTeX 转换为 HTML 输出。

潘多克提供将 CSS 样式应用于 HTML 输出的功能,并且可以使用 MathML 等进行方程式渲染以及引用/参考书目样式等许多其他功能,并且有详尽的文档。

答案3

是否有转换器可以将 LaTeX 转换为 HTML?

是的。那里 很多。但您已经知道这一点,正如您的第二个“问题”所证明的那样:

我尝试了几种服务,但 LaTeX 图表和一些数学运算结果很奇怪。

“结果很奇怪”可能意味着很多事情:

  • 文档编译失败
  • 文档已编译,但为空或已损坏
  • 该文档可以编译并打开,但是却存在一些缺陷。

每个类别进一步细分,解决方案很可能取决于您用来进行转换的内容,因此就目前而言,这个问题是无法回答的。

对于图表,我给出的一般建议是,最好单独编译图表,然后使用<img>标签手动将它们包含在 html 中。图表很难。standalone包/类可以帮助实现这一点。另请参阅pgf/TikZ 外部化标签

答案4

使用 LaTeX 子集

LaTeX 及其常见输出格式(如 PDF)非常复杂。将其全部转换为 HTML + CSS 几乎是不可能的。

但如果您仅将自己限制在 LaTeX 功能的一小部分,它就会变得可行。

轻量级标记语言

首先,我建议你尝试使用更简单的格式,例如Markdown Asciidoctor,可以通过 pandoc 等多种实现转换为 HTML 和 PDF。

我开始相信,拥有简单的 HTML 比 LaTeX 的无数功能更重要。

此外,Asciidoctor 是可扩展的,因此如果您发现缺少任何内容,可以很容易地用 Ruby 编写代码,这比 LaTeX 脚本更为合理。

这里有一个我使用 Asciidoctor 撰写的示例文章其中包括目录和图像参考等功能。

对于数学,已经有了 MathJax,而且我离它很近了通过 KaTeX 达到涅槃

平装

另一件值得检查但我不太推荐的事情是平装:它有一个 LaTeX 子集,称为 Polytex,可以将其转换为 HTML。确切的子集没有很好的文档记录,但它已经处理了我们制作普通书籍所需的 99.9%,如其文档所示https://github.com/softcover/softcover_book/tree/master/chapters:章节、列表、公式、表格、图像、参考资料。软封面通过以下方式发挥魔力特拉利奇,将 LaTeX 转换为 XML。

图表

正如 Seamus 所说,图表很难,而且它们不太可能在短期内成为可实现子集的一部分,因此请使用图像,最好是从嵌入在主标记中的子语言生成的,并将其传递给外部图像生成器。例如 Asciidoctor支持开箱即用的

或者,通过命令行工具(如 gplot 或 pyplot)生成图像,然后使用 Makefile 构建 PDF,该 Makefile 首先构建图像,然后构建 PDF。

相关内容