2

我正在尝试构建一个服务,该服务接受一些带有 LaTeX 格式的字符串,然后返回一个带有 LaTeX 位的字符串作为 pngs 或其他任何内容。

所以,这个想法是:

客户端发送包含以下内容的请求: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 并让它完美无缝。

问题:如何在服务器端处理 LaTeX?- 目标是然后将其吐回给客户端,以便文本可以相对自然地内联(即我可以给我的好友发短信Hey, what if $\chi(n)$ was considered independently?,并且它会在另一端被格式化而不会开始一个奇怪的大图片blob)。

任何关于一个方向或一组包/技术/等的建议在这里都会很有用。

4

1 回答 1

0

用数学准备你的乳胶文档,并使用优秀的开源ImageMagick进行转换

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

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

应准备好输入的乳胶文件,以便没有背景、边距等。有关如何执行此操作的讨论,请参阅这篇文章及其来源。上面的例子最终来自那里。

这是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。它通过单行 JavaScript 片段在浏览器中运行。如果您曾经迁移到浏览器/移动服务,这将是一个完美的解决方案。这是他们的一页教程

于 2016-03-16T07:05:15.900 回答