生成 LaTeX 服务器端

Generating LaTeX Server Side

我正在尝试构建一个服务,它接受一些带有 LaTeX 格式的字符串,然后 returns 一个带有 LaTeX 位的字符串作为 png 或其他任何格式。

所以,想法是:

客户端发送请求包含:the point is that $sum_{n=1}^5 f(x)$ is a good estimate

服务器发回字符串:the point is that FORMULAS_HERE is a good estimate

我真的不知道从哪里开始转换 LaTeX。天真地,我假设我只是解析出 LaTeX 位,然后做一些事情来获得 png/jpeg/etc... 然后将其插入到响应中。

谷歌搜索确实揭示了极少的信息。

目前,我的简单服务器是基于节点构建的,但这并不重要。如果那里有一些神奇的解决方案,我可以改变语言。老实说,我希望我能神奇地将 LaTeX 转换为 unicode 并使其完美无缝。

Question: How do I handle LaTeX on the server side? - The goal is to then spit it back to the client so the text can be inlined relatively naturally (i.e. I could text my buddy Hey, what if $\chi(n)$ was considered independently? and it would be received formatted on the other end without begin a weird big picture blob).

任何关于一个方向或一组 packages/technologies/etc 的建议在这里都会有用。

用数学准备你的 latex 文档,并使用优秀的开源工具转换它 ImageMagick

pdflatex formula.tex
convert -density 300 formula.pdf -quality 90 formula.png

上面使用的convert命令是ImageMagick工具之一。有关许多选项,请参阅文档和大量在线资源。该软件具有适用于所有主要平台的版本。

应准备好输入的 Latex 文件,以便没有背景、边距等。有关如何做到这一点的讨论,请参阅 this post, and the source。上面的例子最终来自那里。

这是从链接源编写上面使用的 formula.tex 文件的一种方法。

\ifdefined\formula
\else
    \def\formula{E = m c^2}
\fi
\documentclass[border=2pt]{standalone}
\usepackage{amsmath}
\usepackage{varwidth}
\begin{document}
\begin{varwidth}{\linewidth}
\[ \formula \]
\end{varwidth}
\end{document}

还有其他的转换器,但如果你能用这个就不用费心了。


不得不提MathJax. It runs in a browser, via one-line JavaScript snippet. Should you ever migrate to a browser/mobile service this would be a perfect solution. Here is their one page tutorial.