我一直在努力解决矩阵下支撑问题,并且在所有 LaTeX 问题中找到有关如何在没有数组包的情况下在矩阵中使用下支撑的任何方法。
到目前为止,我已经使用这些新命令来到这里,但是下支撑/上支撑没有正确地放置在第二个矩阵中。
平均能量损失
\documentclass[12pt]{report}
\usepackage{amsmath, amssymb, etoolbox}
\newcommand\aug{\fboxsep=-\fboxrule\!\!\!\fbox{\strut}\!\!\!}
\newcommand\undermat[2]
{\makebox[0pt][l]{$\smash{\underbrace{\phantom{\begin{matrix}#2\end{matrix}}}_{\text{$#1$}}}$}#2}
\newcommand\overmat[2]{
\makebox[0pt][l]{$\smash{\overbrace{\phantom{\begin{matrix}#2\end{matrix}}}^{\text{$#1$}}}$}#2}
\begin{document}
$$\begin{pmatrix}
2 & 3 & 1 & \aug & 1 & 0 & 0 \\
1 & 0 & 1 & \aug & 0 & 1 & 0 \\
\undermat{A}{ 5 & 4 & 6 } & \aug & \undermat{I}{ 0 & 0 & 0 }\\
\end{pmatrix}
\xrightarrow[\rm{Jordan}]{\rm{Gauss}}
\begin{pmatrix}
\overmat{I}{ 1 & 0 & 0 }& \aug & \overmat{A^{-1}}{ 4/7 & 2 & -3/7 }\\
0 & 1 & 0 & \aug & 1/7 & -1 & 1/7 \\
0 & 0 & 1 & \aug & -4/7 & -1 & 3/7 \\
\end{pmatrix}$$
\end{document}
在第二个矩阵中,如果我使用\undermat{}{}
它,会产生相同的结果。
答案1
从语法上来说,这可能更好,但我认为您的文档中没有太多这样的结构。仅支持正常大小的单元格。
\documentclass[12pt]{report}
\usepackage{amsmath}
\usepackage{lipsum}
\NewDocumentCommand{\undermat}{mm}{%
\vphantom{\begin{matrix}#2\end{matrix}}%
\smash{\,\underbrace{\begin{matrix}#2\end{matrix}}_{#1}\,}%
}
\NewDocumentCommand{\overmat}{mm}{%
\vphantom{\begin{matrix}#2\end{matrix}}%
\smash{\,\overbrace{\begin{matrix}#2\end{matrix}}^{#1}\,}%
}
\ExplSyntaxOn
\cs_set_eq:NN \Replicate \prg_replicate:nn
\ExplSyntaxOff
\NewDocumentCommand{\fixunder}{m}{%
\vphantom{%
\underbrace{\begin{matrix}\Replicate{#1-1}{\\}\end{matrix}}_{\mathstrut}%
}%
}
\NewDocumentCommand{\fixover}{m}{%
\vphantom{%
\overbrace{\begin{matrix}\Replicate{#1-1}{\\}\end{matrix}}^{\mathstrut}%
}%
}
\begin{document}
\lipsum[1][1-4]
\[
\fixunder{3}\fixover{3}
\left(
\undermat{A}{
2 & 3 & 1 \\
1 & 0 & 1 \\
5 & 4 & 6
}
\;\middle|\;
\undermat{I}{
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 0
}
\right)
\xrightarrow[\textrm{Jordan}]{\textrm{Gauss}}
\left(
\overmat{I}{
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
}
\;\middle|\;
\overmat{A^{-1}}{
4/7 & 2 & -3/7 \\
1/7 & -1 & 1/7 \\
-4/7 & -1 & 3/7
}
\right)
\]
\lipsum[1][1-4]
\end{document}
请注意\fixover
和\fixunder
命令将应考虑的行数作为参数。
避免$$
在 LaTeX 中使用,请参阅为什么 \[ ... \] 比 $$ ... $$ 更可取?. 你应该绝不在里面使用它document
(在定义命令或环境时有些情况下$$...$$
很有用)。
在此特别的在这种情况下,当显示前的行很短时,您可能会避免\fixover{3}
得到