Горизонтальное выравнивание интервалов в корпусах

Горизонтальное выравнивание интервалов в корпусах

Я хочу набрать несколько кусочных уравнений в MathJax и выровнять символы неравенства в кусочных условиях. Используяслучаиenvironment и добавление большего количества амперсандов в некоторой степени выравнивает нужные мне части, но также добавляет дополнительное горизонтальное пространство, которое мне не нужно. Я могу добиться нужного эффекта, добавляя пробельные символы, но это требует игры с точным количеством и типом пробельных символов для каждой отдельной строки с разной длиной, а также зависит от используемого рендерера. Есть ли более элегантный и автоматический способ, который работает независимо от рендерера?

Вот простой пример без выравнивания:

Изображение кусочного уравнения с невыровненными неравенствами

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}

введите описание изображения здесь

Связанный контент