Como colocar uma seta dobrada acima de uma matriz?

Como colocar uma seta dobrada acima de uma matriz?

Eu gostaria de conseguir algo assim:

insira a descrição da imagem aqui

ou opcionalmente com uma dobra acentuada:

insira a descrição da imagem aqui

Isso é possível?

Eu tropeceiesta postageme algumas respostas onde o tikz foi usado, mas não consegui ajustá-lo às minhas necessidades.

Responder1

Bem-vindo ao TeX.se, considere dar um MWE. Isso nos ajudará muito a responder sua pergunta com precisão, além de nos poupar tempo de ir até nossas bolas de cristal ;-).

Um ponto de partida

\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}

obter:

insira a descrição da imagem aqui

Cantos suaves:

\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}

obter:

insira a descrição da imagem aqui

Responder2

Aqui está uma solução com {pNiceMatrix}of nicematrixe TikZ para desenhar a seta usando os nós TikZ criados por nicematrix.

\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}

Saída do código acima

informação relacionada