使用以下 mwe 我还没有找到正确对齐公式的方法。
\documentclass{article}
\usepackage{mathtools} % extends amsmath and fixes some of its quirks
\usepackage{amssymb}
\begin{document}
\begin{align}\label{eq:mergefunction_with_weighting}
\curlyvee(v, \omega) :=
l_1 \triangleright l_2 =
\left\{
\begin{aligned}
&l_1(v) & &\text{wenn $v \in G_1 \setminus G_2$}\\
\omega(&l_1(v)) + (1-\omega)(&\hat{R}l_2(v) +\hat{t}) &\text{wenn $v \in G_1 \cap G_2$}\\
& &\hat{R}l_2(v) +\hat{t} &\text{wenn $v \in G_2 \setminus G_1$}.
\end{aligned}
\right.
\end{align}
\end{document}
我的输出目前是这样的:
除了环境内的垂直和水平对齐/间距之外,一切都很好aligned
。但是您可以注意到以下几点:- 第一个&
工作正常。- 第二个&
应该与 对齐
\hat{R}
,并且中间行的(
和 之间没有间距\hat{R}
- 最后&
,中间行的
\hat(t))
和 之间的间距wenn
应该更大。(我认为一旦第二个&
修复,这个就会消失。
所以我的请求可以归结为一个问题:解决此类安置问题的最佳和一致的方法是什么?
答案1
您的输出正是您所期望的aligned
:您有四列,第一列和第三列右对齐,第二列和第四列左对齐,并且第一和第二个“lr 对”之间有一些空间。您真正想要的最好实现是使用cases
环境;@{}
当您不希望列之间有空间时使用。
请注意,行之间的垂直间距比您的aligned
代码中的要小。如果您想要与 相同的垂直间距aligned
,请在下面的代码中使用\\[\jot]
而不是。\\
\documentclass{article}
\usepackage{mathtools} % extends amsmath and fixes some of its quirks
\usepackage{amssymb}
\begin{document}
\begin{align}\label{eq:mergefunction_with_weighting}
\curlyvee(v, \omega) := l_1 \triangleright l_2 =
\left\{
\begin{array}{@{}r@{}l@{}ll}
&l_1(v) & &\text{wenn $v \in G_1 \setminus G_2$}\\
\omega(&l_1(v)) + (1-\omega)(&\hat{R}l_2(v) +\hat{t}) &\text{wenn $v \in G_1 \cap G_2$}\\
& &\hat{R}l_2(v) +\hat{t} &\text{wenn $v \in G_2 \setminus G_1$}.
\end{array}
\right.
\end{align}
\end{document}
您也可以使用\begin{cases}...\end{cases}
代替\left\{...\right.
,但在此特定示例中,公式编号不再合适。此外,请注意,无需使用align
作为外部环境,因为该环境没有制表位;我会使用equation
代替。
答案2
您可以使用cases
环境并\phantom
实现所需的对齐
\[
\curlyvee(v, \omega) :=
l_1 \triangleright l_2 =
\begin{cases}
\phantom{\omega(}l_1(v) & \text{wenn $v \in G_1 \setminus G_2$}\\
\omega(l_1(v)) + (1-\omega)(\hat{R}l_2(v) +\hat{t}) &\text{wenn $v \in G_1 \cap G_2$}\\
\phantom{\omega(l_1(v)) + (1-\omega)(}\hat{R}l_2(v) +\hat{t} &\text{wenn $v \in G_2 \setminus G_1$}.
\end{cases}
\]
tabbing
第二种选择是使用minipage
\[
\curlyvee(v, \omega) := l_1 \triangleright l_2 =
\begin{cases}
\begin{minipage}{0cm}
\begin{tabbing}
$\omega($\=$l_1(v)) + (1-\omega)($\=$\hat{R}l_2(v)+\hat{t})$ \quad\= \kill
\> $l_1(v)$ \>\> wenn $v \in G_1 \setminus G_2$\\
$\omega(l_1(v)) + (1-\omega)(\hat{R}l_2(v) +\hat{t})$ \>\>\> wenn $v \in G_1 \cap G_2$\\
\>\> $\hat{R}l_2(v) +\hat{t}$ \> wenn $v \in G_2 \setminus G_1$.
\end{tabbing}
\end{minipage}
\end{cases}
\]
答案3
我认为您想使用alignedat
环境而不是aligned
。这与环境类似aligned
,因为它提供了r
/l
方程对,但没有环境添加的方程间空间aligned
。因此,如上所示,对代码所需的唯一更改是:
\begin{aligned}
用替换\begin{alignedat}{4}
,以及相应的end{}
。将第二和第三个对齐点从 改为
&
。&&
此操作可将对齐方式从r
右对齐改为l
左对齐,这正是您想要的。更改
text{wenn...}
为text{ wenn...}
,或改用\quad\text{wenn...}
,以便在那里留出一些空间。
笔记:
- 但正如其他解决方案所提到的,暴露的环境确实是一个
cases
(或dcases
)环境,应该不是是,align
因为您没有多个对齐的方程。您有一方程。
代码:
\documentclass{article}
\usepackage{mathtools} % extends amsmath and fixes some of its quirks
\usepackage{amssymb}
\begin{document}
\begin{align}\label{eq:mergefunction_with_weighting}
\curlyvee(v, \omega) :=
l_1 \triangleright l_2 =
\left\{
\begin{alignedat}{4}
&l_1(v) && &&\quad\text{wenn $v \in G_1 \setminus G_2$}\\
\omega(&l_1(v)) + (1-\omega)(&&\hat{R}l_2(v) +\hat{t}) &&\quad\text{wenn $v \in G_1 \cap G_2$}\\
& &&\hat{R}l_2(v) +\hat{t} &&\quad\text{wenn $v \in G_2 \setminus G_1$}.
\end{alignedat}
\right.
\end{align}
\end{document}