对齐线性方程组

对齐线性方程组

我想弄清楚如何才能很好地对齐线性方程组。

目前我正在使用以下命令:

\systeme{x_1=2r + s -t,x_2= r, x_3=-2s +2t, x_4=s, x_5=t}

但这给了我一些丑陋的楼梯形式,例如:

在此处输入图片描述

有什么方法可以修复它,以便x_i所有 ' 都位于左侧,并且彼此完美地位于下方,并且等式符号也能够对齐?

以下是 MWE:

\documentclass[11pt,a4paper,openany]{report}
\usepackage{amssymb,amsmath,amsthm}
\usepackage[dutch]{babel}
\usepackage{mdframed}
\usepackage{systeme,mathtools}
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{#1}}
\makeatother
\usepackage{lipsum}
\usepackage{relsize}
\newcommand\md{\ }

\begin{document}

\systeme{x_1=2r + s -t,x_2= r, x_3=-2s +2t, x_4=s, x_5=t}

\end{document}

答案1

用于此目的的命令是\systeme*

\documentclass[11pt,a4paper,openany]{report}
\usepackage{amsmath}
\usepackage{systeme}

\begin{document}

I want to figure out how I can align a system of linear equations very nicely.
At the moment I am using the following command:
\[
\systeme*{x_1=2r + s -t,x_2= r, x_3=-2s +2t, x_4=s, x_5=t}
\]

\end{document}

在此处输入图片描述

通过设置的值\syslineskipcoeff可以修改间距;默认值为1.25:

\[
\syslineskipcoeff{1}
\systeme*{x_1=2r + s -t,x_2= r, x_3=-2s +2t, x_4=s, x_5=t}
\]

在此处输入图片描述

答案2

array以下是仅使用包和环境的解决方案array。如果您对环境序言中发生的事情感到好奇array

  • 包含变量的四列类型为r

  • =为了在符号和+和符号周围获得正确的间距-,首先将列间空白量(由长度参数控制\arraycolsep)设置为0pt

    • 符号=会自动插入;该指令@{{}={}}告诉 LaTeX 将其视为=类型的对象mathrel

    • 这些指令>{{}}c<{{}}告诉 LaTeX 将列内容(将是+-或空白)居中设置,并将它们视为类型的对象mathbin

在此处输入图片描述

\documentclass[11pt,a4paper,openany]{report}
\usepackage{array}
\begin{document}
\[
\left\{
\setlength\arraycolsep{0pt}
\begin{array}{ r @{{}={}} r  >{{}}c<{{}} r  >{{}}c<{{}}  r }
x_1 & 2r &+&  s &-&  t \\
x_2 &  r               \\
x_3 &    &-& 2s &+& 2t \\ 
x_4 &    & &  s        \\
x_5 &    & &    & &  t \\
\end{array}
\right.
\]
\end{document}

答案3

systeme命令设计用于系统中“类似矩阵”的部分(如果您看不出来,我是一名工程师,不是数学家),位于左侧,而不是右侧。

如果您可以接受简单的 LHS->RHS 输入交换,则systeme可以立即使用:

\documentclass{article}
\usepackage{systeme}

\begin{document}
\systeme{2r + s -t=x_1, r=x_2, -2s +2t=x_3, s=x_4, t=x_5}
\end{document}

在此处输入图片描述

有可能\systeme{}按照对齐和未对齐边反转的精神创建一个新命令,但是代码超出了我的理解范围。;-)

答案4

使用 TABstack。在这种情况下,的“中心”\tabbedCenterstack是指垂直居中,是[r]指每列的水平右对齐,\stackMath以数学模式处理数据,并在每个单元格之前和之后\TABbinary插入一个{},以便为和提供+适当-的水平间距。

\documentclass[11pt,a4paper,openany]{report}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\[
\left\{
\TABbinary\tabbedCenterstack[r]{
x_1 =& 2r &+&  s &-&  t \\
x_2 =&  r               \\
x_3 =&    &-& 2s &+& 2t \\ 
x_4 =&    & &  s        \\
x_5 =&    & &    & &  t
}\right.
\]
\end{document}

在此处输入图片描述

相关内容