저는 Beamer와 LaTeX를 처음 접했습니다. 첨부한 대로 계단 행렬을 그리고 싶습니다. 꽤 간단해야 하는데 어떻게 그리는지 모르겠어요. tikZ(및 매트릭스)만 사용하고 다른 라이브러리는 사용하지 마세요. 매우 감사합니다 ]1
답변1
합리적으로 최소한:
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\tikz[x=1em, y=1em, inner sep=1em/6]]
\matrix [left delimiter={[}, right delimiter={]}] {
\draw (0,0) \foreach \i [count=\j] in {1,2,1,3,1,2,2,1,1}{
\ifnum\j>1-- ++(0,-1)\fi node [above right] (x-\j) {$x$} -- ++(\i,0)
}
(x-1 -| x-\j) node [left] {possibly nonzero entries}
(x-1 |- x-\j) node [right] {zero entries};
\\};
\end{document}
답변2
Tikz 노드를 사용하여 TikZ를 사용하면 {NiceTabular}
다음과 같은 방법 으로 생성됩니다 nicematrix
.
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{[*{14}c]}[margin=1em]
x \\
& x && & &&& & \clap{possibly non zero entries} \\
& && x \\
& && & x \\
& && & &&& x \\
& && & &&& & x \\
& && & &&& & && x \\
& && \clap{zero entries}
& &&& & && && x \\
& && & &&& & && && & x \\
\CodeAfter
\tikz \draw (2-|1) -| (3-|2) -| (4-|4) -| (5-|5)
-| (6-|8) -| (7-|9) -| (8-|11) -| (9-|13) -| (10-|14) -- (10-|15) ;
\end{NiceTabular}
\end{document}
답변3
한 가지 옵션:
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix (A) [matrix of nodes, left delimiter=[,right delimiter={]}]{
x \\
& x\hspace*{3mm}\\
& & x \\
& & & x\hspace*{6mm}\\
& & & & x\\
& & & & & x\hspace*{3mm}\\
& & & & & & x\hspace*{3mm}\\
& & & & & & & x\\
& & & & & & & & x\\};
\foreach \i [remember=\i as \j (initially 1)] in {2,...,9}
\draw (A-\j-\j.south west) -|(A-\i-\i.south west);
\draw (A-9-9.south west)--(A-9-9.south east);
\node[anchor=south west] at ([shift={(5mm,5mm)}]A.south west) {zero entries};
\node[anchor=north east] at ([shift={(-3mm,-3mm)}]A.north east) {possibly nonzero entries};
\end{tikzpicture}
\end{document}