Увеличить высоту строки в среде align* case

Увеличить высоту строки в среде align* case

Я пытаюсь использовать случаи, чтобы представить некоторые уравнения с дробями, и обнаруживаю, что строки слишком сжаты, чтобы их было легко читать. Есть ли способ увеличить как интервал между строками, так и размер набранных символов? MWE — это

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align*}
A = \begin{cases}
\frac{B-.5b}{C-.5c} & \text{sometimes} \\
\frac{D-.3d}{E-.7e} & \text{other times}
\end{cases}
\end{align*}

\end{document}

который производит

сжатый текст в выравнивании

решение1

mathtoolsраспространяется amsmathс dcases:

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

\documentclass{article}
\usepackage{mathtools}
\begin{document}

\[
A = \begin{dcases}
\frac{B-.5b}{C-.5c} & \text{sometimes} \\
\frac{D-.3d}{E-.7e} & \text{other times}
\end{dcases}
\]

\end{document}

решение2

Ниже показано, как можно выполнить репликацию casesс помощью array:

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

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align*}
  A = \begin{cases}
    \frac{B-.5b}{C-.5c} & \text{sometimes} \\
    \frac{D-.3d}{E-.7e} & \text{other times}
  \end{cases}
\end{align*}
\begin{align*}
  A &= \begin{cases}
    \frac{B-.5b}{C-.5c} & \text{sometimes} \\
    \frac{D-.3d}{E-.7e} & \text{other times}
  \end{cases} \\
  A &= \renewcommand{\arraystretch}{1.5}\left\{\begin{array}{@{}l@{\quad}l@{}}
    \frac{B-.5b}{C-.5c} & \text{sometimes} \\
    \frac{D-.3d}{E-.7e} & \text{other times}
  \end{array}\right.\kern-\nulldelimiterspace
\end{align*}

\end{document}

Первый align*реплицирует ваш вывод, а второй align*включает оригинал casesплюс arrayреализацию. При использовании array, вы можете настроить \arraystretch, чтобы растянуть casesконструкцию " " по вертикали (аналогично другим предложениям вОтступы столбцов и строк в таблицах).

Обратите внимание, что значение по умолчанию \arraystretchдляcasesamsmathесть 1.2, как показано в \env@casesопределении (взято изamsmath.dtx`):

\def\env@cases{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrace
  \def\arraystretch{1.2}%
  \array{@{}l@{\quad}l@{}}%
}

Конечно, вы можете изменить этот 1.2коэффициент растяжения по умолчанию на что-то большее, но я предполагаю, что вы хотите, чтобы только определенный экземпляр casesбыл слегка вытянут, а не вносить глобальные изменения.


Размер символов можно настроить, используя \dfracвместо \frac. Однако для этого потребуется больше, \arraystretchчем 1.5. Я не уверен, что это даст визуально.

решение3

Все, что я сделал, это вызвал \displaystyleдля каждой строки и вставил дополнительную пустую строку. ОТРЕДАКТИРОВАНО (после напоминания Вернера) для использования \dfracвместо \displaystyle\frac, когда amsmathпакет загружен.

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align*}
A = \begin{cases}
\dfrac{B-.5b}{C-.5c} & \text{sometimes} \\
\\
\dfrac{D-.3d}{E-.7e} & \text{other times}
\end{cases}
\end{align*}

\end{document}

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

решение4

Дополнение ко всем ответам выше

Полезная функция — управлениевертикальное расстояниемежду уравнениями cases, array, или подобных сред. Вы можете сделать это, написав \\[your distance with units]вместо просто \\. Например \\[1.5em]. Это также работает для отрицательного интервала, например,\\[-0.5em]

В этом минимальном примере я использую\\[1.0em]

\documentclass{article}
\usepackage{amsmath}
\begin{document}

    \begin{align*}
        A = \begin{cases}
            \dfrac{B-.5b}{C-.5c} & \text{sometimes} \\[1.0em]
            \dfrac{D-.3d}{E-.7e} & \text{other times}
        \end{cases}
    \end{align*}

\end{document}

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

Этот код — модифицированный Стивеном Б. Сеглетесом. По-моему, он выглядит лучше, чем просто лишняя пустая строка. ;)

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