解决方案 1

解决方案 1

下面的矩阵方程看起来很棒:

\begin{align*}
\overset{A}{\left[\begin{matrix}t_{1}&1\\ 
\vdots&\vdots\\
t_{n}&1
\end{matrix}\right]}
\overset{x}{\left[\begin{matrix}
x_{1}\\x_{2}
\end{matrix}\right]}
&=
\overset{b}{\left[\begin{matrix}
b_{1}\\ \vdots \\ b_{n}
\end{matrix}\right]}
\end{align*}

只是我习惯在草稿纸上书写时将矩阵的顶部对齐。如何在 LaTeX 中实现这一点?

答案1

之前有一条注释,amsmath提供特殊*matrix环境:

  • pmatrix为了( · )
  • bmatrix为了[ · ]
  • Bmatrix为了{ · }
  • vmatrix为了| · |
  • Vmatrix为了|| · ||

解决方案 1

我使用\vphantom宏将内部框的大小调整\overset为与其他部分相同的高度。

代码

\documentclass{article}
\usepackage{amsmath}
\newcommand*\biggestpart{}
\begin{document}
\renewcommand*\biggestpart{
  \begin{bmatrix}
    t_1    & 1 \\
    \vdots & \vdots \\
    t_n    & 1
  \end{bmatrix}
}
\begin{align*}
\overset{A}{\biggestpart}
\overset{x}{
  \vphantom{\biggestpart}
  \begin{bmatrix}
    x_1 \\ x_2
  \end{bmatrix}
}
&=
\overset{b}{
  \begin{bmatrix}
    b_1 \\ \vdots \\ b_n
  \end{bmatrix}
}
\end{align*}
\end{document}

输出

在此处输入图片描述

解决方案 2

由于较大矩阵中的第二行不是具有相同高度的x_2命令\vphantom,因此再次使用它(尝试不使用它来查看效果或\vdots用“正常”数学内容替换x_0)。

代码

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\overset{A}{
  \begin{bmatrix}
    t_1    & 1 \\
    \vdots & \vdots \\
    t_n    & 1
  \end{bmatrix}}
\overset{x}{
\begin{array}{@{}c@{}}{
  \begin{bmatrix}
    x_1 \\ x_2 \vphantom{\vdots}
  \end{bmatrix}}\\
  \\
  \end{array}
}
&=
\overset{b}{
  \begin{bmatrix}
    b_1 \\ \vdots \\ b_n
  \end{bmatrix}
}
\end{align*}
\end{document}

输出

在此处输入图片描述

答案2

这里有一个-amsmath版本的Qrrbrbirlbel 的回答

在此处输入图片描述

\documentclass{article}
\newcommand{\matlabel}[2]{% \matlabel{<label>}{<stuff>}
  \begin{array}{@{}c@{}} \mbox{\small$#1$} \\ #2 \end{array}
}
\begin{document}
\[
  \matlabel{A}{\left[\begin{array}{@{}cc@{}}
      t_1 & 1 \\
      \vdots & \vdots \\
      t_n & 1
    \end{array}\right]}
  \matlabel{x}{\left[\begin{array}{@{}c@{}}
      x_1 \\ \vphantom\vdots x_2 \\
    \end{array}\right] \\
    \mathstrut}\mathrel{\raisebox{-.5\normalbaselineskip}{=}}
  \matlabel{b}{\left[\begin{array}{@{}c@{}}
      b_1 \\ \vdots \\ b_n
    \end{array}\right]}
\]
\end{document}

唯一的主要区别是将矩阵标签设置为“垂直array”中的元素,而不是“数学运算符中的上限”。因此,必须使用调整相对于数学轴的垂直对齐\mathrel{\raisebox{-.5\normalbaselineskip}{=}}...。

答案3

这很不稳定,但我想要一些非常简单的东西,所以我只是将其缠绕\raisebox{0.5em}{$ [matrix goes here] $}在太低的矩阵上并调整距离直到看起来正常为止。

注意,\raisebox似乎将您带回文本模式,因此您必须将矩阵包装在其中$ $

前:

在此处输入图片描述

\begin{align*}
x^T x:  
\begin{bmatrix} 
x_1 \\
x_2 \\
x_3
\end{bmatrix}
\begin{bmatrix} 
x_1 & x_2 & x_3\\
\end{bmatrix}
\end{align*}

后:

在此处输入图片描述

\begin{align*}
    x^T x:  
    \begin{bmatrix} 
    x_1 \\
    x_2 \\
    x_3
    \end{bmatrix}
    \raisebox{1.15em}{$
    \begin{bmatrix} 
    x_1 & x_2 & x_3\\
    \end{bmatrix}
    $}
\end{align*}

相关内容