![使用简单的、与 MathJax 兼容的 TeX 将矩阵括在括号中](https://linux22.com/image/264487/%E4%BD%BF%E7%94%A8%E7%AE%80%E5%8D%95%E7%9A%84%E3%80%81%E4%B8%8E%20MathJax%20%E5%85%BC%E5%AE%B9%E7%9A%84%20TeX%20%E5%B0%86%E7%9F%A9%E9%98%B5%E6%8B%AC%E5%9C%A8%E6%8B%AC%E5%8F%B7%E4%B8%AD.png)
我试图解释单位矩阵数学 StackExchange我最终使用了下面的方法。
$${\bf I_n} = \underbrace{
\left.\left(
\begin{array}{ccccc}
1&0&0&\cdots &0\\
0&1&0&\cdots &0\\
0&0&1&\cdots &0\\
\vdots&&&\ddots&\\
0&0&0&\cdots &1
\end{array}
\right)\right\}
}_{n\text{ columns}}
\,n\text{ rows}
$$
结果还不错,但不是我想要的:
我希望能够将下括号的末端移动到括号内,而不会让它变成这样:
现在,我看到这里有几个类似的问题(例如:1 2) 处理同样的问题。但是,它们都使用了一些花哨的东西,而我无法在在线论坛 TeX 中使用它们。
有没有办法仅使用 MathJax 中可用的命令将矩阵括在括号中?
我不确定这些到底是什么命令,但我猜测一个好的经验法则是尽可能简单的命令。
答案1
这是我在常规 LaTeX 中执行的操作(尽管我会用它\[...\]
来括起显示数学):
$$\mathbf{I}_n = \left.\left(
\vphantom{\begin{array}{c}1\\1\\1\\1\\1\end{array}}
\smash{\underbrace{
\begin{array}{ccccc}
1&0&0&\cdots &0\\
0&1&0&\cdots &0\\
0&0&1&\cdots &0\\
\vdots&&&\ddots&\\
0&0&0&\cdots &1
\end{array}
}_{n\text{ columns}}}
\right)\right\}
\,n\text{ rows}
$$
该\vphantom
行创建了一个框,其高度等于 nx1 个 1 数组。\smash
矩阵周围的行排版矩阵(包括下支撑),但将其高度和深度设为零。将它们放在一起,您将得到一个包含下支撑的框,但其宽度和高度等于没有下支撑的矩阵的宽度和高度。
看Alexander R. Perlis 在《对\smash
、\llap
、 和的补充》中写道\rlap
拖船有关所有这些命令的更多信息,以及\mathclap
。
我将其粘贴到MathJax 演示页面而且它似乎也有效。