Dibujar una flecha de bloque en látex.

Dibujar una flecha de bloque en látex.

En un diagrama de bloques, quiero conectar dos bloques con una flecha de bloque en lugar de una sola flecha. ¿Existe algún comando de LaTex para eso?

 \documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\usepackage{adjustbox}
\usetikzlibrary{shapes,shadows,arrows,decorations.markings}
\begin{document}
\tikzstyle{decision}=[diamond,draw,fill=blue!50]
\tikzstyle{line}=[draw, -stealth,thick]
\tikzstyle{block}=[draw,rectangle,  text width=4.5 em, minimum height=10 mm,text centered,node distance=4 em] 
\begin{figure}[htbp]
\begin{adjustbox}{max width=0.9\textheight,center}   %% adjust max height
\begin{tikzpicture}[thick]
\node [block] (a) {A};
\node [block,right of=a,xshift=6em] (b) {B};
\node [block,right of=b,xshift=3.5em] (c) { C};
\node [block,right of=c,xshift=3.5em] (d) {D};
\node [block,right of=d,xshift=3.5em] (e) {E};
\node [block,right of=e,xshift=3.5em] (f) {Accomodating Text inside a block needed};
% ARROWS
\path [line] (a) -- (b);
\path [line] (b) -- (c);
\path [line] (c) -- (d);
\path [line] (d) -- (e);
\path [line] (e) -- (f);
\end{tikzpicture}
\end{adjustbox}
\end{figure}
\end{document}

Tengo dos problemas principales:

  1. Entre los bloques C y D y entre E y F, quiero bloquear la flecha dentro de la flecha obtenida del código.
  2. Quiero que el texto largo del último bloque se acomode dentro del bloque o se oriente en dirección vertical.

Respuesta1

¿Te importa la flecha como la roja en la imagen de abajo?

ingrese la descripción de la imagen aquí

 \documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\usepackage[margin=25mm,showframe]{geometry}
%\usepackage{adjustbox}% <--- not needed
\usetikzlibrary{arrows,
                chains,% <--- new
                decorations.markings,
                shadows, shapes.arrows}

\tikzset{% <--- modified
    decision/.style = {diamond,draw, fill=blue!50},
        line/.style = {draw, -stealth, thick},
       block/.style = {rectangle, draw,  text width=4 em, minimum height=10 mm,
                       align=center}
        }
\makeatletter
\tikzset{suspend join/.code={\def\tikz@after@path{}}}
\makeatother

    \begin{document}              
\begin{figure}[htbp]
    \begin{tikzpicture}[thick,
          node distance = 0ex and 3em,
            start chain = A going right,
      every join/.style = {draw, -stealth, thick},
    block/.append style = {on chain=A, join}
                        ]
\node [block]   {A};% <-- A-1
\node [block,right=5em of A-1]    {B};
\node [block]   {C};
\node [block]   {D};
\node [block]   {E};% <-- A-5
\node [block,suspend join]  {Accom\-modating Text
                             inside a block needed};
\node [single arrow, draw=red, minimum height=3em, outer sep=0pt,
       right=0pt of A-5.east] {\vphantom{x}};
    \end{tikzpicture}
\end{figure}
    \end{document}

Modifiqué su MWE con el objetivo de hacer que el código sea lo más conciso posible. Para la flecha uso la forma single arrowde tikzlibrary shapes.arrows. Puede adjustboxconvertirse en una fuente de problemas inesperados, por lo que una mejor solución es adaptar el nodo y el tamaño de fuente en consecuencia. Como puedes ver, lo borro.

información relacionada