我已经安装了Tex2png,一个基于 PHP 的生成 png 数学图像的解决方案。
简单的表达式可以很好地呈现,但某些环境却不能(出现无用的“LaTeX 错误”消息)。
看来我的 Linux 服务器只有很少的软件包。我解压了这些:
- 数学
- 財政署
- 工具
到
在 /usr/local/texlive/texmf-本地/tex/latex/本地
这让一些表达式至少可以渲染一些东西,但不正确。例如:
\begin{aligned}\text{Vol}&=\pi\int_1^b{\frac{1}{x}}^2dx\\ &=\pi\int_1^b{x^{-2}}dx\\ &=\pi\left[-\frac{1}{x}\right]_1^b\\ &=\pi\left(1-\frac{1}{b}\right)\end{aligned}
给出这个(部分屏幕截图),所有内容都是水平的:
我尝试过 \align、\align*、\aligned 和 \aligned*,但它们要么给出“LaTeX 错误”,要么忽略垂直对齐。所以大概是我缺少一两个包,但我认为 amsmath 和工具应该可以处理大多数这些情况。
我不知道:
- 服务器上已有哪些软件包
- 我是否将软件包解压到正确的位置
- 我需要添加哪些包来解决上述问题
任何指点都将受到热烈欢迎。
答案1
这并不能完全回答你的问题。我对 Tex2png 了解不多。在我看来,Tex2png 可能在以下方面受到限制:环境它可以处理。也就是说,它看起来不能很好地处理数学环境。
但是,您只需运行 即可创建类似的东西pdflatex
。以下是示例:
\documentclass[border=6pt]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{math}
\begin{aligned}
\text{Vol}&=\pi\int_1^b{\frac{1}{x}}^2dx \\
&=\pi\int_1^b{x^{-2}}dx \\
&=\pi\left[-\frac{1}{x}\right]_1^b \\
&=\pi\left(1-\frac{1}{b}\right)
\end{aligned}
\end{math}
\end{document}
生成结果:
当然,这将是一份pdf
文档。也许您可以按原样使用它。但是,如果您确实需要使用png
,可以使用各种工具将一种格式转换为另一种格式。
提供的解决方案如何输出没有边距的多行方程您可能感兴趣。
解决方案将 LaTeX 文档编译为尽可能短的 PNG 图像还讨论了如何在文件格式之间进行转换。
使用其他环境
如果您想使用其他环境align
,那么您仍然可以做类似的事情,但您需要以某种方式传递align
页面宽度以供使用。这可以通过使用preview
传递给 documentclass 的选项来实现:
\documentclass[border=6pt,preview]{standalone}
由于使用此方法可能会获得比所需宽度更宽的图像,请查看上面建议的第一个链接中提供的答案。
不过,还有一个解决方法。你可以将align
环境放在 a 中minipage
,然后执行以下操作
\documentclass[border=6pt]{standalone}
\usepackage{amsmath}
\usepackage{etoolbox}
\makeatletter
\pretocmd\start@align{%
\if@minipage\kern-\topskip\kern-\abovedisplayskip\fi
}{}{}
\makeatother
\begin{document}
\begin{minipage}{0.2in}
\begin{align*}
\text{Vol}&=\pi\int_1^b{\frac{1}{x}}^2dx \\
&=\pi\int_1^b{x^{-2}}dx \\
&=\pi\left[-\frac{1}{x}\right]_1^b \\
&=\pi\left(1-\frac{1}{b}\right)
\end{align*}
\end{minipage}
\end{document}
我相信minipage
如果您要做的只是创建用于显示数学的环境,那么这里的宽度并不是真正的问题。
现在,这里有一些额外的代码,使它看起来有点复杂。即从 开始的代码\makeatletter
。这是为了解决一个特殊的问题,即环境align*
期望它被称为 midparagraph。因此,align*
在环境的顶部添加了额外的空格。有关此的详细信息解决方法参见 egreg 的解决方案页面/小页面顶部的对齐环境上方存在虚假空间。