LaTeX 中「alignedat」會自動調整行距,但「array」不會?

LaTeX 中「alignedat」會自動調整行距,但「array」不會?

來自郵政,比對齊方程式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>在兩種環境中的解釋方式:within 中array<dimen>將添加到行的深度,within 中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}之間運行,因為三行表達式中的每一行一開始就相當“高”。\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}

相關內容