![数组内部 \bordermatrix 的问题](https://linux22.com/image/235337/%E6%95%B0%E7%BB%84%E5%86%85%E9%83%A8%20%5Cbordermatrix%20%E7%9A%84%E9%97%AE%E9%A2%98.png)
当 a\bordermatrix
放在 内时array
,行间距会出错(参见下面的 MWE)。是什么导致了这个问题?有解决方案吗?
\documentclass{book}
\begin{document}
A simple matrix created with \verb+\bordermatrix+; right spacing between rows:
\[
\bordermatrix{%
& 1 & 2 \cr
1 & x1 & x2 \cr
2 & x3 & x4 \cr
3 & x5 & x6}
\]
The same matrix inside an \texttt{array}; wrong spacing between rows:
\[
\begin{array}{c}
\bordermatrix{%
& 1 & 2 \cr
1 & x1 & x2 \cr
2 & x3 & x4 \cr
3 & x5 & x6}
\end{array}
\]
\end{document}
答案1
这是因为\bordermatrix
使用\baselineskip
作为间距并将array
其设置为 0pt。
恢复单元格中的值\baselineskip
可修复此问题:
\documentclass{book}
\begin{document}
\[
\edef\savedbaselineskip{\the\baselineskip\relax}
\begin{array}{c}
{\baselineskip=\savedbaselineskip
\bordermatrix{%
& 1 & 2 \cr
1 & x1 & x2 \cr
2 & x3 & x4 \cr
3 & x5 & x6}}
\end{array}
\]
\end{document}
这是在组内完成的,以保持本地定义。
答案2
\baselineskip
Martin 展示了恢复 的另一种方法,即使用\parbox
或minipage
将 嵌入\bordermatrix
数组中。这也会恢复间距。