案例环境中的水平对齐间距

案例环境中的水平对齐间距

我想在 MathJax 中排版一些分段方程,并对齐分段条件中的不等式符号。使用案例环境并添加更多 & 符号确实在某种程度上对齐了我想要的部分,但也增加了我不想要的额外水平空间。我可以通过添加空格字符来实现我想要的效果,但这需要摆弄长度不同的每行空格字符的确切数量和类型,并且还取决于所使用的渲染器。有没有一种更优雅、更自动化、独立于渲染器的方式?

这是一个没有对齐的简单示例:

具有非对齐不等式的分段方程的图像

d_0(t) := d_{max} × \begin{cases}
0 & : −∞ ≤ t < T \\
1 & : T ≤ t < ∞
\end{cases}

这是我通过添加 & 符号来对齐小于或等于号得到的结果(请注意左边的值和 LToE 符号之间的额外空格):

具有对齐不等式和额外间隙的分段方程的图像

d_0(t) := d_{max} × \begin{cases}
0 & : −∞ & ≤ t < T \\
1 & : T & ≤ t < ∞
\end{cases}

以下是我想要实现的视觉效果,我通过添加几个空格字符来实现:

分段方程的图像,其第二行不等式向右移动,因此不等式符号对齐

d_0(t) := d_{max} × \begin{cases}
0 & : −∞ ≤ t < T \\
1 & : \;\;\;\: T ≤ t < ∞
\end{cases}

答案1

看来您需要三个对齐点:

  1. 在两个值之前
  2. 冒号前
  3. \leq在标志之前

因此,您必须&在代码中使用 5。(有关原因,请参阅 amsmath 手册)。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
d_0(t) := d_{\max} \times \left\{
  \begin{alignedat}{3}
    & 0    & & : \, & -\infty & \leq t < T \\
    & f(t) & & :    &       T & \leq t < \infty
  \end{alignedat}
\right.
\]
\end{document}

在此处输入图片描述

答案2

您可以\newcases使用mathtools

\documentclass{article}
\usepackage{mathtools}

\makeatletter
\newcases{coloncases}% name
  {\quad}% separation
  {$\m@th\displaystyle##$\hfil}% left part
  {$\m@th:$\ \hfil$\m@th\displaystyle##$}%
  {\lbrace}% left delimiter
  {.}% right delimiter
\makeatother

\begin{document}

\[
d_0(t)=
d_{\mathrm{max}}\times
\begin{coloncases}
0    & -\infty\le t<T \\
f(t) & T\le t\le\infty
\end{coloncases}
\]

\end{document}

在此处输入图片描述

相关内容