如何在 Latex 中对齐线性微分方程组?我可以使用
\begin{cases}
x_1'(t) = x_1(t)-x_2(t)+2x_3(t)\\
x_2'(t) = -2x_1(t)+5x_2(t)+2x_3(t)\\
x_3'(t) = 8x_1(t)-5x_2(t)-2x_3(t)\\
\end{cases}
但我希望变量在垂直方向上排列得更好,每个变量都x_i
在自己的列中。我通常使用systeme
包来实现这一点,但是
\systeme{x_1'(t) = x_1(t)-x_2(t)+2x_3(t), x_2'(t) = -2x_1(t)+5x_2(t)+2x_3(t), x_3'(t) = 8x_1(t)-5x_2(t)-2x_3(t)}
给了我一个错误。
答案1
systeme
不适合这项工作。你可以使用alignat
,但它很麻烦。我建议iEEEeqnarray
。
\documentclass{article}
\usepackage{IEEEtrantools}
\begin{document}
\begin{IEEEeqnarray*}{rCrCrCr}
x_1'(t) & = & x_1(t) & - & x_2(t) & + & 2x_3(t) \\
x_2'(t) & = & -2x_1(t) & + & 5x_2(t) & + & 2x_3(t) \\
x_3'(t) & = & 8x_1(t) & - & 5x_2(t) & - & 2x_3(t) \\
\end{IEEEeqnarray*}
\end{document}
r
表示右对齐的列,而C
表示居中的列,并且在运算或关系符号周围有适当的空格。
答案2
一种解决方案是使用\syssubstitute
。例如,下面A
将被 替换为\mkern-22mu x_{1}'(t)
,a
将被 替换为x_{1}(t)
。
并\mkern-22mu
创建\mkern-7mu
一个负水平空间。
请注意%
,删除行尾不需要的空格。
此外,\sysdelim..
用于删除第二个的分隔符\systeme
。
\documentclass[border=6pt]{standalone}
\usepackage{systeme}
\begin{document}
\syssubstitute{A{\mkern-22mu x_{1}'(t)}B{\mkern-22mu x_{2}'(t)}C{\mkern-22mu x_{3}'(t)}a{x_{1}(t)}b{x_{2}(t)}c{x_{3}(t)}}%
$\systeme{A=,B=,C=}\mkern-7mu \sysdelim..\systeme{a-b+2c,-2a+5b+2c,8a-5b-2c}$
\end{document}
答案3
您可以使用以下方式构建对齐alignat
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{cases}
\begin{alignedat}{4}
x_1'(t) ={} && x_1(t) & {}-{} & x_2(t) & {}+{} & 2x_3(t) \\
x_2'(t) ={} && -2x_1(t) & {}+{} & 5x_2(t) & {}+{} & 2x_3(t) \\
x_3'(t) ={} && 8x_1(t) & {}-{} & 5x_2(t) & {}-{} & 2x_3(t)
\end{alignedat}
\end{cases}
\]
\end{document}
添加可{}
确保二元关系/运算符周围的适当间距。