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}