我尝试在数学模式环境中将文本置于两行数组的中心,以便数组第二列中的文本出现在第一列第一行和第二行之间的中间。以下是我目前所做的示例。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
A = \left[
\begin{array}{c|c}
B & \\
a^{T} & b \\
\end{array}
\right]
\]
\end{document}
我希望它显示如下内容:
如能就如何执行此操作提供任何帮助/建议,我们将不胜感激。
答案1
一个简单的方法是嵌套两个array
环境:
\documentclass{article}
\begin{document}
\[
A = \left[
\begin{array}{c|c}
\begin{array}{@{}c@{}}
B \\
a^{T}
\end{array} & b \\
\end{array}
\right]
\]
\end{document}
@{}
请注意在最内列规范周围使用array
。这将删除列间间距。否则,由于嵌套,第一列的间距将加倍array
- 但您的问题中的示例似乎并非如此。或者,makecell
包裹还提供了一种执行此操作的方法(使用命令\makecell{<array/tab>}
),产生类似的结果:
\documentclass{article}
\usepackage{makecell}% http://ctan.org/pkg/makecell
\begin{document}
\[
A = \left[
\begin{array}{c|c}
\makecell{B \\ a^{T}} & b \\
\end{array}
\right]
\]
\end{document}
答案2
另一个选择是使用包\multirow
中的选项multirow
:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\[
A = \left[
\begin{array}{c|c}
B & \multirow{2}{*}{$b$} \\
a^{T} \\
\end{array}
\right]
\]
\end{document}
答案3
或者,您也可以在方程式中使用 amsmath 的对齐。看起来如下:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
A= \left[ \left.
\begin{aligned}
B \\
a^T
\end{aligned}
\right|
b
\right]
\end{equation}
\end{document}
但坦率地说,我认为沃纳的解决方案看起来更好一些。