«alignedat» автоматически отрегулирует межстрочный интервал, а «array» — нет в LaTeX?

«alignedat» автоматически отрегулирует межстрочный интервал, а «array» — нет в LaTeX?

Изпочта, arrayлучше, чем alignedatдля выравнивания уравнения. Однако, кажется, что это alignedatотрегулирует межстрочный интервал, но arrayне будет. Например

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

\begin{equation}
    \left.
    \begin{alignedat}{5}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=&\frac{890}{1234}\\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=&\frac{415}{1423}\\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=&\frac{12}{3456}\\
    \end{alignedat}
    \right\}
\end{equation} 
\begin{equation}
    \left.
    \begin{array}{r @{} >{\displaystyle} c @{} >{\displaystyle}c @{} >{\displaystyle}l}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=\frac{890}{1234}\\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=\frac{415}{1423}\\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=\frac{12}{3456}\\
    \end{array}
    \right\}
\end{equation} 

\end{document}

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

решение1

Инструменты arrayи alignedatпредназначены для разных приложений: первый стремится поддерживать одинаковое расстояние между базовыми линиями, последний этого не делает и полагается на обычный механизм TeX для разнесения базовых линий, добавляя также \jotвертикальное пространство между строками.

Это влияет на то, как это \\[<dimen>интерпретируется в двух средах: внутри arrayдобавляется <dimen>к глубине строки, внутри alignedatдобавляется как вертикальное пространство между строками.

Очень высокие и глубокие записи в arrayвсегда создают проблемы: если вы используете , \\[<dimen>]вам придется угадывать, какова глубина; если вы изменяете значение \arraystretch, вы также увеличиваете высоту строк.

Давайте проведем несколько экспериментов с вашим кодом.

array

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

\section{No setting}

\begin{equation}
    \left.
    \begin{array}{r @{} >{\displaystyle} c @{} >{\displaystyle}c @{} >{\displaystyle}l}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=\frac{890}{1234}
    \\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=\frac{415}{1423}
    \\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=\frac{12}{3456}
    \end{array}
    \right\}
\end{equation}

\section{Changing \texttt{\char`\\arraystretch}}

\begin{equation}
    \left.
    \renewcommand{\arraystretch}{3}
    \begin{array}{r @{} >{\displaystyle} c @{} >{\displaystyle}c @{} >{\displaystyle}l}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=\frac{890}{1234}
    \\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=\frac{415}{1423}
    \\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=\frac{12}{3456}
    \end{array}
    \right\}
\end{equation}

\section{Adding \texttt{\char`\\\char`\\[4ex]}}

\begin{equation}
    \left.
    \begin{array}{r @{} >{\displaystyle} c @{} >{\displaystyle}c @{} >{\displaystyle}l}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=\frac{890}{1234}
    \\[4ex]
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=\frac{415}{1423}
    \\[4ex]
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=\frac{12}{3456}
    \end{array}
    \right\}
\end{equation}

\end{document}

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

alignedat

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

\section{No adjustment}

\begin{equation}
    \left.
    \begin{alignedat}{5}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=&\frac{890}{1234}
    \\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=&\frac{415}{1423}
    \\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=&\frac{12}{3456}
    \end{alignedat}
    \right\}
\end{equation} 

\section{Changing \texttt{\char`\\jot}}

\begin{equation}
    \left.
    \setlength{\jot}{6pt}
    \begin{alignedat}{5}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=&\frac{890}{1234}
    \\
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=&\frac{415}{1423}
    \\
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=&\frac{12}{3456}
    \end{alignedat}
    \right\}
\end{equation} 

\section{Adding \texttt{\char`\\\char`\\[1ex]}}

\begin{equation}
    \left.
    \begin{alignedat}{5}
            f_1&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}=&\frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}{\frac{1011 \sqrt{\frac{12}{3}}}{4567}}&=&\frac{890}{1234}
    \\[1ex]
            f_2&=\frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}=&\frac{\frac{123}{456}}{\frac{8907}{123}}&=&\frac{415}{1423}
    \\[1ex]
            f_3&=\frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}=&\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}&=&\frac{12}{3456}
    \end{alignedat}
    \right\}
\end{equation} 

\end{document}

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

IEEEeqnarraybox

Есть также хорошие методы сIEEEeqnarraybox

\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}

\begin{document}

\section{No adjustment}

\begin{equation}
\left.
  \begin{IEEEeqnarraybox}[][c]{rCcCcCl}
  f_1
  &=& \frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}
  &=& \frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}
           {\frac{1011 \sqrt{\frac{12}{3}}}{4567}}
  &=& \frac{890}{1234}
  \\
  f_2
  &=& \frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}
  &=& \frac{\frac{123}{456}}{\frac{8907}{123}}
  &=& \frac{415}{1423}
  \\
  f_3
  &=& \frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}
  &=& \frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}
  &=& \frac{12}{3456}
  \end{IEEEeqnarraybox}
\right\}
\end{equation} 

\section{Changing \texttt{\char`\\jot}}

\begin{equation}
\left.
  \renewcommand*{\IEEEeqnarrayboxdecl}{\setlength{\jot}{3\IEEEnormaljot}}
  \begin{IEEEeqnarraybox}[][c]{rCcCcCl}
  f_1
  &=& \frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}
  &=& \frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}
           {\frac{1011 \sqrt{\frac{12}{3}}}{4567}}
  &=& \frac{890}{1234}
  \\
  f_2
  &=& \frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}
  &=& \frac{\frac{123}{456}}{\frac{8907}{123}}
  &=& \frac{415}{1423}
  \\
  f_3
  &=& \frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}
  &=& \frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}
  &=& \frac{12}{3456}
  \end{IEEEeqnarraybox}
\right\}
\end{equation} 

\section{Using \texttt{\char`\\\char`\\[1ex]}}

\begin{equation}
\left.
  \begin{IEEEeqnarraybox}[][c]{rCcCcCl}
  f_1
  &=& \frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}
  &=& \frac{\frac{123 \sqrt{\frac{45}{6}}}{789}}
           {\frac{1011 \sqrt{\frac{12}{3}}}{4567}}
  &=& \frac{890}{1234}
  \\[1ex]
  f_2
  &=& \frac{\|\mathrm{EF}\|}{\|\mathrm{GH}\|}
  &=& \frac{\frac{123}{456}}{\frac{8907}{123}}
  &=& \frac{415}{1423}
  \\[1ex]
  f_3
  &=& \frac{\|\mathrm{IL}\|}{\|\mathrm{JK}\|}
  &=& \frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{\frac{56}{7}}}{890}}
  &=& \frac{12}{3456}
  \end{IEEEeqnarraybox}
\right\}
\end{equation} 

\end{document}

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

Последнее слово

Я бы рекомендовал третий метод для таких объектов. Обратите внимание, что интервал вокруг символов отношений правильный; его следует настроить с помощью arrayи alignedat.

решение2

... кажется, это alignedatпозволит скорректировать межстрочный интервал ...

Это не совсем так.align И связанные с ними многострочные математические среды вставляютзафиксированныйколичество вертикального пробела в размере \jot(который по умолчанию равен 3pt) между строками, в дополнение к обычному межстрочному интервалу (в данном случае \lineskip). [Большое спасибо, @egreg, за предоставление точного языка!] В случае, если 3ptпробела недостаточно, смело увеличивайте значение \jotс помощью подходящей инструкции \setlengthили \addtolength. Смотрите код ниже для такого примера.

Я предлагаю вам использовать {alignedat}{3}среду и, где необходимо, использовать внутристрочную дробную нотацию вместо \fracнотации, чтобы гарантировать, что ни один составной дробный термин не имеет более 4 "уровней". Я также предлагаю использовать \addtolength{\jot}{3pt}inbetween \begin{equation}и \left., так как каждая строка в трехстрочном выражении изначально довольно "высокая".

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

\documentclass{article}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter\norm\lVert\rVert
\newcommand\normrm[1]{\norm{\mathrm{#1}}} % handy shortcut macro

\begin{document}

\begin{equation}
\addtolength{\jot}{3pt} % Optional. Default: 3pt (vertical whitespace)
\left.
\begin{alignedat}{3}
f_1&= \frac{\normrm{AB}}{\normrm{CD}}
   &&=\frac{\frac{123 \sqrt{45/6}}{789}}{\frac{1011 \sqrt{12/3}}{4567}}
   &&=\frac{890}{1234}  \\
f_2&= \frac{\normrm{EF}}{\normrm{GH}}
   &&=\frac{123/456}{8907/123}
   &&=\frac{415}{1423}  \\
f_3&= \frac{\normrm{IL}}{\normrm{JK}}
   &&=\frac{\frac{12 \sqrt{345}}{678}}{\frac{1234 \sqrt{56/7}}{890}}
   &&=\frac{12}{3456}
\end{alignedat}
\right\}
\end{equation} 

\end{document}

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