在案例环境中对齐列的有效方法

在案例环境中对齐列的有效方法

我想知道是否有一种有效的方法来对齐案例环境中的第一列,而不是像\phantom下面那样使用代码?

我编写的代码感觉像是被黑客入侵了???

以下是代码:

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{equation*}
-\tau \ddot{e} - \dot{e} = %
\begin{cases}
\phantom{-}A; & e+T_{L}\dot{e}>0\\
\phantom{-~}0; & e + T_{L}\dot{e}=0\\
-A; & e+T_{L}\dot{e}<0
\end{cases}
\end{equation*}

\end{document}

答案1

如果没有cases,人们可以

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
-\tau \ddot{e} - \dot{e} = %
\left\{\begin{aligned}
A; && e+T_{L}\dot{e}&>0\\
0; && 1e + T_{L}\dot{e}&=0\\
-A; && e+T_{L}\dot{e}&<0
\end{aligned}\right.
\end{equation*}
\end{document}

这也与右边的关系运算符对齐。

在此处输入图片描述

或者,如果希望对案例中的方程式基线跳跃进行更多控制,可以使用 TABstack。垂直基线跳跃通过 设置\setstackgap{L}{<length>}。类似地,对齐组之间的水平间隙可以通过 设置\setstackaligngap{<length>}(默认 1em)。

\documentclass{article}
\usepackage{amsmath,tabstackengine}
\TABstackMath
\setstackgap{L}{1.3\normalbaselineskip}% EQ BASELINESKIP SET HERE
\begin{document}
\begin{equation*}
-\tau \ddot{e} - \dot{e} = %
\left\{\alignCenterstack{
A; && e+T_{L}\dot{e}&>0\\
0; && 1e + T_{L}\dot{e}&=0\\
-A; && e+T_{L}\dot{e}&<0
}\right.
\end{equation*}
\end{document}

在此处输入图片描述

答案2

使用eqparbox将所有内容\eqmakebox[<tag>][<align>]{<stuff>}设置为最大宽度的框。您也可以根据需要调整。<stuff><tag><align>

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,eqparbox}

\begin{document}

% Original
\begin{equation*}
  -\tau \ddot{e} - \dot{e} = %
  \begin{cases}
     \phantom{-}A; & e + T_{L}\dot{e} > 0 \\
    \phantom{-~}0; & e + T_{L}\dot{e} = 0 \\
               -A; & e + T_{L}\dot{e} < 0
  \end{cases}
\end{equation*}

% Updated
\begin{equation*}
  -\tau \ddot{e} - \dot{e} =
  \begin{cases}
    \eqmakebox[lhs][r]{$ A$}; & e + T_L \dot{e} > 0 \\
    \eqmakebox[lhs][r]{$ 0$}; & e + T_L \dot{e} = 0 \\
    \eqmakebox[lhs][r]{$-A$}; & e + T_L \dot{e} < 0
  \end{cases}
\end{equation*}

\end{document}

因为eqparbox使用.aux文件来收集最大宽度,所以您至少需要在第一次进行两次编译(或在框中进行任何更改)才能确定最大宽度。

答案3

如果没有cases,人们可以

\def\casesR#1{\left\{\vcenter{\openup2pt 
   \halign{\hfil$##$&&\quad\hfil$##$\cr#1\crcr}}\right.}
$$
  -\tau \ddot e - \dot e = \casesR{
     A;  &  e + T_L \dot e > 0  \cr
     0;  & 1e + T_L \dot e = 0  \cr
    -A;  &  e + T_L \dot e < 0  }
$$

\bye

答案4

empheq及其left密钥与alignat*环境相结合,形成了一个非常简单的代码。请注意,您不必加载amsmath,因为empheq会加载mathtools,它会加载并扩展前者:\documentclass{article} \usepackage{empheq}

\begin{document}

\begin{empheq}[left ={-\tau \ddot{e} - \dot{e} =\empheqlbrace}]{alignat* = 2}
A; &\quad& e+T_{L}\dot{e}&>0\\
0; && 1e + T_{L}\dot{e}&=0\\
-A; && e+T_{L}\dot{e}&<0
\end{empheq}

\end{document} 

在此处输入图片描述

相关内容