如何在案例环境中挂上另一条右对齐的线?

如何在案例环境中挂上另一条右对齐的线?

我见过这些 问题但在我的例子中,公式内容太长,无法在末尾添加文本描述,并且会溢出到边距中。

\[
d_i(g_n,\ldots,g_0) =
\begin{cases}
 (d_0g_ng_{n-1},g_{n-2},\ldots,g_0),& \text{if $i=0$;}\\
 (d_ig_n,\ldots,d_1g_{n-i+1},d_0g_{n-i}g_{n-i-1},g_{n-i-2},\ldots,g_0), &\text{if  $i=1,\ldots,n-1$;}\\
 (d_ng_n,\ldots,d_1g_1),& \text{if $i=0$}
 \end{cases}\\
\]

我想要的是通过将一行过长的文字替换为两行文字来产生类似的效果

 (d_ig_n,\ldots,d_1g_{n-i+1},d_0g_{n-i}g_{n-i-1},g_{n-i-2},\ldots,g_0), &\\
 & \hspace{-10.5ex}\text{if  $i=1,\ldots,n-1$;}\

...但这显然不是解决问题的方法。我也不想将长公式本身分成两行,而只将文本放在下一行。有没有一些好的方法可以让分号自动对齐,而无需调整水平间距?

答案1

直接回答您的问题(即将冗长的等式放在一行,将条件放在另一行并用分号对齐),使用\phantomleft overlap可以帮助获得适当的对齐:

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\begin{document}
\[
d_i(g_n,\ldots,g_0) =
\begin{cases}
 (d_0g_ng_{n-1},g_{n-2},\ldots,g_0),& \text{if $i=0$;} \\
 (d_ig_n,\ldots,d_1g_{n-i+1},d_0g_{n-i}g_{n-i-1},g_{n-i-2},\ldots,g_0), &\text{if  $i=1,\ldots,n-1$;} \\
 (d_ng_n,\ldots,d_1g_1),& \text{if $i=0$}
 \end{cases}
\]

\[
d_i(g_n,\ldots,g_0) =
\begin{cases}
 (d_0g_ng_{n-1},g_{n-2},\ldots,g_0),& \text{if $i=0$;} \\
 (d_ig_n,\ldots,d_1g_{n-i+1},d_0g_{n-i}g_{n-i-1},g_{n-i-2},\ldots,g_0), \\
   & \phantom{\text{if $i=0$;}}\llap{\text{if  $i=1,\ldots,n-1$;}} \\
 (d_ng_n,\ldots,d_1g_1),& \text{if $i=0$}
 \end{cases}
\]
\end{document}

\phantom{\text{if $i=0$;}}确保在条件构造方面足够“靠右”,同时\llap设置一个右对齐的零宽度框(导致left 结束lap)以正确与第一个案例的分号对齐。

相关内容