我有两个分段函数定义如下:
\begin{align*}
\left\{
\begin{array}{ll}
i = x^2 + y^2 \\
j = a^2 + b^2 \\
\end{array}
\right.
\\
\left\{
\begin{array}{ll}
i = 1 \\
j = 2 \\
\end{array}
\right.
\end{align*}
问题是它们没有对齐。我该如何对齐它们?
答案1
快速修复方法是在打开大括号之前添加两个“与”符号。在环境中amsmath
align
,与星号版本一起,“与”符号告诉 LaTeX 哪些元素应该对齐。
\begin{align*}
&\left\{
\begin{array}{ll}
i = x^2 + y^2 \\
j = a^2 + b^2 \\
\end{array}
\right.
\\
&\left\{
\begin{array}{ll}
i = 1 \\
j = 2 \\
\end{array}
\right.
\end{align*}
也许使用以下代码split
对齐符号会更好一些=
,尽管这只是个人喜好问题。使用 & 符号再次允许您将括号对齐在同一层,将等号对齐在下一层。这是在星号equation
环境中完成的,以便split
使用,该环境由包提供amsmath
。
\begin{equation*}
\begin{split}
&\left\{
\begin{split}
i &= x^2 + y^2 \\
j &= a^2 + b^2 \\
\end{split}
\right.
\\
&\left\{
\begin{split}
i &= 1 \\
j &= 2 \\
\end{split}
\right.
\end{split}
\end{equation*}
如果此版本中括号和方程式之间的间距减小让您感到困扰,您可以插入水平间距,例如在每个组的后面插入\,
或插入。在此解决方案中使用间距可得到此代码的最终版本:\hspace{2pt}
\left\{
\;
\begin{equation*}
\begin{split}
&\left\{\;
\begin{split}
i &= x^2 + y^2 \\
j &= a^2 + b^2 \\
\end{split}
\right.
\\
&\left\{\;
\begin{split}
i &= 1 \\
j &= 2 \\
\end{split}
\right.
\end{split}
\end{equation*}
答案2
为了简化,在这种情况下,您可以在using中使用两个cases
环境来对齐两个结构:align*
&
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
&\begin{cases}
\rlap{$i$}\phantom{j} = x^2 + y^2 \\
j = a^2 + b^2
\end{cases}\\
&\begin{cases}
\rlap{$i$}\phantom{j} = 1 \\
j = 2
\end{cases}
\end{align*}
\end{document}
答案3
以下是对齐这两个组件的一种方法:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
\left\{
\begin{array}{r@{\;}l}
i &= x^2 + y^2 \\
j &= a^2 + b^2
\end{array}
\right.
\\
\left\{
\begin{array}{r@{\;}l}
i &= \rlap{1}\phantom{x^2 + y^2} \\
j &= \rlap{2}\phantom{a^2 + b^2}
\end{array}
\right.
\end{align*}
\end{document}
您没有&
在 中使用任何列分隔符array
。我已将其插入到对齐点( 之前)。否则,您会注意到由于和=
的宽度不同而导致未对齐的等号之间的差异。我还将您的列规范更改为右对齐左侧,左对齐右侧,并在关系运算符之间添加适当的间距。i
j
ll
r@{\;}l
r
l
\;
使用( ight over\rlap
的缩写)和(leaves space without typesetting)组合的目的是使得下部与上部具有相同的宽度,从而建立适当的水平间距。r
lap
\phantom
array