与 LaTeX 中的“alignedat”或“aligned”相比,“array”在方程式中使用的字体是否较小?

与 LaTeX 中的“alignedat”或“aligned”相比,“array”在方程式中使用的字体是否较小?

array有时,在 LaTeX 中,使用 来对齐公式中的某些内容会更方便。但是,与或array相比, 显示的字体更小。alignedataligned

\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}

tabularray 替代方案

答案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}

相关内容