正确对齐方程所需的包或设置

正确对齐方程所需的包或设置

我已经安装了Tex2png,一个基于 PHP 的生成 png 数学图像的解决方案。

简单的表达式可以很好地呈现,但某些环境却不能(出现无用的“LaTeX 错误”消息)。

看来我的 Linux 服务器只有很少的软件包。我解压了这些:

  1. 数学
  2. 財政署
  3. 工具

在 /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. 服务器上已有哪些软件包
  2. 我是否将软件包解压到正确的位置
  3. 我需要添加哪些包来解决上述问题

任何指点都将受到热烈欢迎。

答案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 的解决方案页面/小页面顶部的对齐环境上方存在虚假空间

相关内容