array
有時,使用LaTeX 來對齊方程式中的某些內容會更方便。但是,array
與alignedat
或相比, 會顯示較小的字體aligned
。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{array}{r@{\:}c@{\:}l}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{array}
\right\}
\end{equation}
\end{document}
那麼,要如何將字體變array
大呢?
答案1
環境array
使用\textstyle
,邊使用邊equation
使用\displaystyle
。你需要用力\displaystyle
進入每一個細胞。
LaTeX 表格的列定義擴展為大批包裹。特別是,>{<something>}
把<something>
在以下列中每個單元格的內容之前。
在您的範例中,您有兩列。\displaystyle
僅第二個需要。使用:
\begin{array}{@{} r @{\;} >{\displaystyle} l @{}}
(由於 Mico 的評論,我更正了空格)。
如果需要,定義一個新的列類型修飾符,例如
\newcolumntype{D}[1]{>{\displaystyle} #1}
並用作@{} r @{\;} D{l} @{}
表格規格(或定義三個新的列類型\newcolumntype{C}{>{\displaystyle} c}
, \newcolumntype{L}{>{\displaystyle} l}
, \newcolumntype{R}{>{\displaystyle} r}
)。
完整範例:
\documentclass{article}
\usepackage{array}
\usepackage{amsmath}
\newcolumntype{D}[1]{>{\displaystyle} #1}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{array}{@{} D{r} @{\;} D{l} @{}}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{array}
\right\}
\end{equation}
\end{document}
作為替代方案,您可以嘗試現代套餐表格陣列:
\documentclass{article}
\usepackage{tabularray}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\left.
\begin{alignedat}{10}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{alignedat}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{aligned}
f_\mathrm{1}&=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{aligned}
\right\}
\end{equation}
\begin{equation}
\left.
\begin{tblr}
{
colspec = {rl},
columns = {mode=dmath},
colsep = 0pt,
}
f_\mathrm{1}&{}=\frac{\|\mathrm{AB}\|}{\|\mathrm{CD}\|}\\
\end{tblr}
\right\}
\end{equation}
\end{document}
答案2
{alignedat}{10}
當每行只有一個對齊點時,我看不出使用的有效理由;為什麼不使用{aligned}
環境呢?順便說一句,在OP的範例中,實際上兩者都{alignedat}{10}
沒有{aligned}
做任何有用的事情,因為每個環境中只有一行。換句話說,這些環境是不是執行與對齊相關的任何操作。這個問題實際上在OP的螢幕截圖中很明顯,它顯示這三個=
符號是未對齊與彼此。
因此,我提出了一個解決方案,用單一環境取代三個單獨的equation
環境(每個環境包含單行環境)。請注意,符號現在已對齊。此外,環境的內容預設以顯示樣式數學模式排版。{alignedat}{10}
align
=
align
除了切換到單一align
環境之外,我還會 (a) 載入該mathtools
套件(該套件是該套件的超集合)amsmath
,以 (b) 定義一個名為 的宏\norm
,以及 (c)\|\mathrm{AB}\|
將的所有實例替換為\norm{\mathrm{AB}}
。順便說一句,$\mathrm{1}$
光是寫作是沒有意義的$1$
。
\documentclass{article}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\begin{document}
\begin{align}
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}\\
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}\\
f_{1}&=\left.\frac{\norm{\mathrm{AB}}}{\norm{\mathrm{CD}}}\right\}
\end{align}
\end{document}