=
使用时,\multirow
命令的内容会自动调整为等于\multirow
出现的列。但这似乎不是我的情况。array
为了说明目的,我尝试使用环境构建带有列和行分隔符的详细矩阵。我得到以下输出
我通过手动调整宽度来获得输出\multirow
。如果我将其调整为=
,则输出会超出边距
我的源代码
\documentclass[11pt, a4paper]{book}
\usepackage{amsmath}
\usepackage{amssymb, amsfonts}
\usepackage{makecell}
\usepackage{multirow}
\newlength{\arraycolsepdefaultl}
\setlength{\arraycolsepdefaultl}{2.12mm}
\newcommand{\arraycolsepdefault}{ \setlength{\arraycolsep}{\arraycolsepdefaultl} }
\arraycolsepdefault
\newcommand {\arraystretchdefaultl} {1.3}
\newcommand{\arraystretchdefault}{ \renewcommand {\arraystretch} {\arraystretchdefaultl} }
\arraystretchdefault
\usepackage{bm}
\begin{document}
\begin{equation}
\setlength{\arraycolsep}{1.06mm}
\left[
\begin{array}{c}
V_{1}
\\
\vdots
\\
V_{k}
\\
\vdots
\\
V_{p}
\\
\vdots
\\ \Xhline{0.25mm}
0
\end{array}
\right]
%
=
%
\renewcommand{\arraystretch}{1.7}
\left[
\begin{array}{c >{\medspace}c !{\vrule width 0.25mm}>{\medspace}c}
\multirow{5}{=}{\centering \LARGE $\bm{Z}_{orig}$} & & \multirow{5}{=}{\centering $col. \thinspace k - col. \thinspace p$}
\\
& &
\\
& &
\\
& &
\\
& &
\\
\Xhline{0.25mm}
row. \thinspace k - row. \thinspace p & & Z_{th, \thinspace kp} + Z_{b}
\end{array}
\right]
\arraystretchdefault
\left[
\begin{array}{c}
I_{1}
\\
\vdots
\\
I_{k}
\\
\vdots
\\
I_{p}
\\
\vdots
\\
\Xhline{0.25mm}
I_{q}
\end{array}
\right]
\arraycolsepdefault
\end{equation}
\end{document}
答案1
下面的例子避免了multirow
但使用\vphantom
s 来确保矩阵构造彼此匹配(垂直)。居中元素升高 1/2 基线,将其置于行的中间(因为 上方有偶数行\Xhline
)。
\documentclass{article}
\usepackage{bm,makecell,amsmath}
\begin{document}
\[
\renewcommand{\arraystretch}{1.3}
\left[\begin{array}{ c }
V_1 \\
\vdots \\
V_k \\
\vdots \\
V_p \\
\vdots \\
\Xhline{0.25mm}
0
\end{array}\right]
=
\left[\begin{array}{ c !{\vrule width 0.25mm} c }
\vphantom{V_1} & \\
\vphantom{\vdots} & \\
\vphantom{V_k} & \\
\vphantom{\vdots}\raisebox{.5\normalbaselineskip}[0pt][0pt]{$\bm{Z}_{\text{orig}}$} &
\raisebox{.5\normalbaselineskip}[0pt][0pt]{\text{col.\ k - col.\ p}} \\
\vphantom{V_p} & \\
\vphantom{\vdots} \\
\Xhline{0.25mm}
\text{row.\ k - row.\ p} & Z_{\text{th, kp}} + Z_b
\end{array}\right]
\left[\begin{array}{ c }
I_1 \\
\vdots \\
I_k \\
\vdots \\
I_p \\
\vdots \\
\Xhline{0.25mm}
I_q
\end{array}\right]
\]
\end{document}
答案2
\multirow{5}{=}{...}
考虑使用的列宽- 因为在你的情况下它没有提前定义(如在列中
p{<width>}
),它为它考虑\linewidth
,因此你得到的结果 解决方法:改用
\multirow{5}{*}{...}
:\documentclass[11pt, a4paper]{book} \usepackage{amsmath} \usepackage{amssymb} \usepackage{makecell} \usepackage{multirow} \newlength{\arraycolsepdefaultl} \setlength{\arraycolsepdefaultl}{2.12mm} \newcommand{\arraycolsepdefault}{ \setlength{\arraycolsep}{\arraycolsepdefaultl} } \arraycolsepdefault \newcommand {\arraystretchdefaultl} {1.3} \newcommand{\arraystretchdefault}{ \renewcommand {\arraystretch} {\arraystretchdefaultl} } \usepackage{bm} \begin{document} \begin{equation} \setlength{\arraycolsep}{1.06mm} \arraystretchdefault \left[ \begin{array}{c} V_{1} \\ \vdots \\ V_{k} \\ \vdots \\ V_{p} \\ \vdots \\ \Xhline{0.25mm} 0\rule{0pt}{3.5ex} \end{array} \right] = \renewcommand{\arraystretch}{1.7} \left[ \begin{array}{c >{\medspace}c !{\vrule width 0.25mm}>{\medspace}c} \multirow{5}{*}{\centering \LARGE $\bm{Z}_{orig}$} & & \multirow{5}{*}{$\text{col. } k - \text{col. } p$} \\ & & \\ & & \\ & & \\ & & \\ \Xhline{0.25mm} $\text{col. } k - \text{col. } p$ & & Z_{th,\, kp} + Z_{b} \end{array} \right] \arraystretchdefault \left[ \begin{array}{c} I_{1} \\ \vdots \\ I_{k} \\ \vdots \\ I_{p} \\ \vdots \\ \Xhline{0.25mm} I_{q}\rule{0pt}{3.5ex} \end{array} \right] \end{equation} \end{document}
哪五个:
然而,方法表明沃纳在类似情况下,答案很常见。