次のように、行のラベルを示すために、マトリックス内にいくつかの直線を追加する必要があります。
それ、どうやったら出来るの?
答え1
この状況にはリーダーが最適です。amsmath
は、列\hdotsfor{<cols>}
全体に点線のリーダーを描画します<cols>
。特定の行を 2 回設定して (1 回は 、もう 1 回は行番号)、行番号を重ねることもできます。また、点線ではなく線をダッシュ リーダーとして描画し、列の中央に挿入する も\hdotsfor
追加しました。両側のデフォルトのスペースは です。\numberrowwithline{<cols>}{<stuff>}
<stuff>
<cols>
\fboxsep
以下はハーバートのmathmode
書類:
\documentclass{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\numberrowwithline}[2]{%
\multicolumn{#1}c%
{\xleaders\hbox{-\kern-1pt}\hfill\kern\fboxsep%
#2\hspace*{\fboxsep}%
\xleaders\hbox{-\kern-1pt}\hfill\kern0pt%
}%
}
\begin{document}
\begin{equation}
\underline{A}=\left[\begin{array}{ccccccc}
a_{11} & a_{12} & 0 & \ldots & \ldots & \ldots & 0 \\
a_{21} & a_{22} & a_{23} & 0 & \ldots & \ldots & 0 \\
0 & a_{32} & a_{33} & a_{34} & 0 & \ldots & 0 \\
\hdotsfor{7} \\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
\hdotsfor{7} \\[-\normalbaselineskip]
\multicolumn{7}{c}{\colorbox{white}{\ $R_n$\ }} \\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
\numberrowwithline{7}{R_i} \\
0 & \ldots & 0 & a_{n-2,n-3} & a_{n-2,n-2} & a_{n-2,n-1} & 0 \\
0 & \ldots & \ldots & 0 & q_{n-1,n-2} & a_{n-1,n-1} & a_{n-1,n} \\
0 & \ldots & \ldots & \ldots & 0 & a_{n,n-1} & a_{nn}
\end{array}\right]
\end{equation}
\end{document}
追加によりxhfill
リーダーの色やタイプを自由に選択できます。xhfill
ドキュメンテーションさまざまなスタイルの線をサンプルとして示します。
答え2
\multicolumn{3}{c}{\hrulefill R_2 \hrulefill}
3列配列の場合
答え3
とnicematrix
。
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix,tikz}
\begin{document}
$\begin{bNiceArray}{cc@{\hspace{7mm}}ccc}
a_{11} &a_{12} & \Cdots[shorten=5pt] & a_{1,n-1} & a_{1n} \\
\Cdots[line-style=solid] && R_2 & \Cdots[line-style=solid] \\
&& \vdots \\
\Cdots[line-style=solid] && R_n & \Cdots[line-style=solid] \\
\end{bNiceArray}$
\end{document}