マトリックスの上に曲がった矢印を配置するにはどうすればよいでしょうか?

マトリックスの上に曲がった矢印を配置するにはどうすればよいでしょうか?

私は次のようなことを実現したいと思っています:

ここに画像の説明を入力してください

またはオプションで鋭い折れ目を付けます:

ここに画像の説明を入力してください

それは可能ですか?

偶然見つけたこの郵便受けtikz が使用された回答もありましたが、私のニーズに合わせて調整できませんでした。

答え1

TeX.se へようこそ。MWE の提出をご検討ください。これにより、お客様の質問に正確に回答できるようになり、また、私たちが占いをする時間を節約できます;-)

出発点

\documentclass{article}
\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay, remember picture] \coordinate (#1);}
%https://tex.stackexchange.com/questions/40535/matrix-with-arrows-and-labels
\begin{document}
\[
  X = \qquad \bordermatrix{~  &  ~ & ~ & ~ & ~
                        & ~  \cr
                    \tikzmark{varrowtop} ~ & 0 & 0 & 0 & 1 & 1\tikzmark{harrowright} \cr
                    ~ & 0 & 0 & 1 & 1 & 1 \cr
                    ~ & 0 & 0 & 1 & 1 & 0 \cr
                    ~ & 0 & 0 & 1 & 1 & 0 \cr
                    \tikzmark{varrowbottom}~ & 0 & 0 & 0 & 0 & 0 \cr
                    }
\]
\tikz[overlay,remember picture] {
  \draw[->] (varrowbottom) -- ([yshift=3ex]varrowtop)  -- ([yshift=3ex]harrowright)
            node[midway,above] {};
}
\end{document}

取得するため:

ここに画像の説明を入力してください

滑らかな角:

\documentclass{article}
\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay, remember picture] \coordinate (#1);}
\begin{document}
\[
  X = \qquad \bordermatrix{~  &  ~ & ~ & ~ & ~
                        & ~  \cr
                    \tikzmark{varrowtop} ~ & 0 & 0 & 0 & 1 & 1\tikzmark{harrowright} \cr
                    ~ & 0 & 0 & 1 & 1 & 1 \cr
                    ~ & 0 & 0 & 1 & 1 & 0 \cr
                    ~ & 0 & 0 & 1 & 1 & 0 \cr
                    \tikzmark{varrowbottom}~ & 0 & 0 & 0 & 0 & 0 \cr
                    }
\]
\tikz[overlay,remember picture] {
  \draw[->, rounded corners] (varrowbottom) -- ([yshift=3ex]varrowtop)  -- ([yshift=3ex]harrowright)
            node[midway,above] {};
}
\end{document}

取得するため:

ここに画像の説明を入力してください

答え2

ここでは、 によって作成された TikZ ノードを使用して矢印を描画するための、 と TikZ を使用{pNiceMatrix}したソリューションを示します。nicematrixnicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}

\[X = 
\quad 
\begin{pNiceMatrix}
0 & 0 & 0 & 1 & 1 \\
0 & 0 & 1 & 1 & 1 \\
0 & 0 & 1 & 1 & 0 \\
0 & 0 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 \\
\CodeAfter
  \tikz [-> , rounded corners = 2mm ]
     \draw ([xshift=-2mm]last-|1) |- ([yshift=2mm]1-|last) ; 
\end{pNiceMatrix}
\]

\end{document}

上記コードの出力

関連情報