编写线性方程组

编写线性方程组

systeme我找到了这个程序,我想知道如何在包或环境中添加左括号cases?另外,是否可以将等号的右侧左对齐?

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{4}
   2x & {}+{} &  y & {}+{} & 3z & {}={} & 10 \\
    x & {}+{} &  y & {}+{} &  z & {}={} &  6 \\
    x & {}+{} & 3y & {}+{} & 2z & {}={} & 13
\end{alignat*}
\end{document}

答案1

\begin{alignat*}{4}[left = \empheqlbrace]您在自己的答案中采用的解决方案需要手动将“ ”编辑为& 6& 6\phantom{0}”,以便在最后一列中生成左对齐的外观。

如果这太过繁琐和/或容易出错,请考虑下面显示的基于\systeme和的解决方案。array

请注意,这三种解决方案产生了完全相同的输出。最后,您的决定应该主要基于输入过程的便利性。在我看来,该systeme方法的输入便利性很难被超越。然而,就纯粹的灵活性而言,array基于的方法一定是最好的;然而,它的输入开销确实超过了该systeme方法(并且大致与该方法相当empheq)。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}          % for Solution 1
\usepackage[overload]{empheq} % for Solution 2
\usepackage{systeme}          % for Solution 3
\usepackage{array}            % for Solution 4
\newcolumntype{C}{>{{}}c<{{}}} 

\begin{document}
%% Solution 1: use 'alignat*'
\begin{alignat*}{4}
   2x & {}+{} &  y & {}+{} & 3z & {}={} & 10 \\
    x & {}+{} &  y & {}+{} &  z & {}={} &  6 \\
    x & {}+{} & 3y & {}+{} & 2z & {}={} & 13
\end{alignat*}

%% Solution 2: use 'empheq' machinery and a '\phantom' directive
\begin{alignat*}{4}[left = \empheqlbrace]
   2x & {}+{} &  y & {}+{} & 3z & {}={} & 10 \\
    x & {}+{} &  y & {}+{} &  z & {}={} &  6\phantom{0} \\ % <-- note "\phantom{0}"
    x & {}+{} & 3y & {}+{} & 2z & {}={} & 13
\end{alignat*}

%% Solution 3: use 'systeme' machinery
\[
\systeme{2x+y+3z=10, x+y+z=6, x+3y+2z=13}
\]

%% Solution 4: use the basic 'array' machinery
\[
\setlength\arraycolsep{0pt}
\renewcommand\arraystretch{1.25}
\left\{
\begin{array}{*{3}{rC}l}
   2x & + &  y & + & 3z & = & 10 \\
    x & + &  y & + &  z & = &  6 \\
    x & + & 3y & + & 2z & = & 13
\end{array}
\right.
\]
\end{document}

答案2

你把事情复杂化了:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation*}
\left\{
\begin{alignedat}{3}
% R & L   &  R & L   &  R & L 
 2x & +{} &  y & +{} & 3z & = 10 \\
  x & +{} &  y & +{} &  z & = 6 \\
  x & +{} & 3y & +{} & 2z & = 13
\end{alignedat}
\right.
\end{equation*}

\end{document}

在此处输入图片描述

当然也可以使用systeme。下面代码中的对齐不是必需的,它只是为了方便阅读代码本身。

\documentclass{article}
\usepackage{amsmath,systeme}

\begin{document}

\begin{equation*}
\systeme{
 2x +  y + 3z = 10,
  x +  y +  z = 6,
  x + 3y + 2z = 13
}
\end{equation*}

\end{document}

在此处输入图片描述

如果在文档序言中添加内容\sysalign{r,r},则输出将是

在此处输入图片描述

另一个例子是显示线性方程(变量下变量)

\documentclass{article}
\usepackage{amsmath,systeme}

\sysalign{r,r}

\begin{document}

\begin{equation*}
\systeme{
 3x_1 + 2x_2 -  x_3 +  x_4 = -1,
 2x_1        -  x_3 + 2x_4 = 0,
 3x_1 +  x_2 + 2x_3 + 5x_4 = 2
}
\end{equation*}

\end{document}

在此处输入图片描述

答案3

\usepackage[overload]{empheq}在序言中使用

添加 \begin{alignat*}{4}[left = \empheqlbrace]将获得左括号。

在此处输入图片描述

我仍需要将等式的右侧与左侧对齐。不确定这个想法是否比这个systeme包更通用?有人能给出建议吗?

答案4

在最后一列添加另一个“与”号可右调整等号后的列:

\documentclass{article}
\usepackage{amsmath}
\usepackage[overload]{empheq} 

\begin{document}
\begin{alignat*}{4}[left = \empheqlbrace]
   2x & {}+{} &  y & {}+{} & 3z & {}={} && 10 \\
    x & {}+{} &  y & {}+{} &  z & {}={} && 6  \\
    x & {}+{} & 3y & {}+{} & 2z & {}={} && 13
\end{alignat*}
\end{document}

在此处输入图片描述

相关内容