对齐多项式项

对齐多项式项

在 LaTeX 中align,我很难对齐多项式项,并假设有一种简单的方法可以做到这一点。但我找不到简单/优雅的解决方案。我想要的是这样的:

x1 + x2 ______________ = 3

x1_______________+ x3 = 4

等等,使用更多线条和变量(下划线仅用于空格/对齐)。任何帮助表示感谢。

更新这是我找到的解决方案:

\begin{alignat*}{7}
8x_1 &{}+ 4x_2 &{}+ y_1   &        &        &        &= 160     \\
4x_1 &{}+ 6x_2 &          &{}+ y_2 &        &        &= 120     \\
x_1  &         &          &        &{}+ y_3 &        &= 34      \\
\phantom{{}+{}x_1}&{}+x_2&&        &        &{}+ y_4 &= 14      \\
x_1\geq0&x_2\geq0&y_1\geq0&y_2\geq0&y_3\geq0& y_4\geq0
\end{alignat*}

结果:

linear system

答案1

您还可以使用包alignat*中的环境 -amsmath有关详细信息和其他示例,请参阅文档第 5 页。

请注意,如果没有,{}您将无法在+符号后获得正确的间距。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{4} % 4 is the number of equation columns
  x_1&+x_2&     & =3\\
  x_1&    &{}+x_3 &= 4
\end{alignat*}
\end{document}

enter image description here

编辑 根据 mforbes 的评论和一些额外的测试用例,为+和添加额外的列可能更为可靠=。例如,假设您想在某些项前面放置一些系数。

\begin{alignat*}{4}
     x_1 &{}+{}&x_2    &      &     &{}={}&3\\
     x_1 &     &       &{}+{} & x_3 &{}={}&4
\end{alignat*}

正如 mforbes 指出的那样,amsmath文档中写道“计算任意行中 &s 的最大数量,加 1 并除以 2”;我发现如果得到一个分数,那么你应该向上舍入,因此{4}而不是{3}

答案2

系统软件包可以轻松实现这样的对齐:

\documentclass{minimal}
\usepackage{systeme}
\begin{document}
\sysdelim..
\systeme{x_1+x_3=6,x_2-x_3=7,x_1-x_2=4}
\end{document}

答案3

好的,这是我的最终解决方案,感谢大家的建议和指导。现在一切都很干净,并且排列整齐:

\begin{alignat*}
8x_1  &{}+{}&    &4x_2  &{}+{}& y_1                     &&&&&& &{}={}&160\\
4x_1  &{}+{}&    &6x_2  &&       &{}+{}& y_2              &&&& &{}={}&120\\
x_1   &&         &      &&       &&       &{}+{}& y_3       && &{}={}& 34\\
\phantom{{}+{}x_1}
      &&         &x_2   &&       &&          &&    &{}+{}& y_4 &{}={}&14
\end{alignat*}

我把不等式线从中分割出来了,alignat因为它干扰了列宽。

我学会了:

  • 围绕操作员${}+{}$
  • &每行使用完全相同的数量
  • 用于\phantom{{}+{}x_1}多项式头部缺失的项
  • 不要在结构中放入任何其他内容(文本)。这会把事情搞乱
  • 做同样的事情有很多种方法,我已经很多学习

输出如下:

Output

答案4

一种相当直观的方法是使用\phantom来隐藏您不想排版的方程式组件,但为其留出空间。此外,由于\phantom如果不加改动地使用会导致一些间距问题,您需要(重新)指定+使用的二元关系\mathrel或原子相关使用 的组合{}

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
  x_1+x_2\phantom{{}+{}x_3} &= 3 \\
  x_1\phantom{{}+{}x_2}{}+x_3 &= 4 \\
  x_1+x_2+x_3 &= 5
\end{align*}
\end{document}

enter image description here

或者,也可以使用array环境来排版。但是,就优雅程度而言,我认为这不是很高。它在一定程度上降低了代码的可读性。

相关内容