Ich muss innerhalb einer Matrix einige gerade Linien hinzufügen, um die Beschriftung der Zeilen anzuzeigen, etwa so:
Wie mache ich das?
Antwort1
Leaders ist für diese Situation optimal geeignet.amsmath
bietet \hdotsfor{<cols>}
die Möglichkeit, einen gepunkteten Strich über <cols>
die Spalten zu ziehen. Es ist auch möglich, eine Zeilennummer zu überlagern, indem man diese bestimmte Zeile zweimal einstellt (einmal mit \hdotsfor
und einmal mit einer Zeilennummer, sagen wir). Ich habe auch hinzugefügt, \numberrowwithline{<cols>}{<stuff>}
dass eine Linie (anstelle von Punkten) als Strich-Füller gezogen und <stuff>
in der Mitte der <cols>
Spalten eingefügt wird. Der Standardabstand auf beiden Seiten beträgt \fboxsep
.
Das folgende ist ein modifiziertes Beispiel aus Herbertsmathmode
dokumentieren:
\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}
Mit der Hinzufügung vonxhfill
Sie können mit den Farben und Arten von Anführern verrückt spielen. Sehen Sie sich diexhfill
Dokumentationfür die verschiedenen Linienarten als Beispiel.
Antwort2
\multicolumn{3}{c}{\hrulefill R_2 \hrulefill}
wenn es sich um ein 3-Spalten-Array handelt
Antwort3
Mit 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}