Gráfico dirigido diferente

Gráfico dirigido diferente

gráfico deseado

Necesito hacer un gráfico similar al de la imagen de arriba pero no sé cómo hacer las líneas horizontales sin la flecha, ni la flecha vertical. Lo mejor que puedo hacer es lo siguiente:

\documentclass{amsart}
\usepackage{tikz} 
\begin{document}
\begin{center}
\begin{tikzpicture}
    \node (p1) at ( 0, 0) {}; 
    \node (p2) at ( 1, -0.2) {i};
    \node (p3) at ( 3,0) {};
    \node (p4) at ( 0,1) {};
    \node (p5) at ( 2,1.2) {n+j};
    \node (p6) at ( 3,1) {};
    \begin{scope}[every path/.style={->}]
       \draw (p1) -- (p3); 
       \draw (p4) -- (p6);
       \draw (p2) -- (p5);
    \end{scope}  
\end{tikzpicture}
\end{center}
\end{document}

Producción

ingrese la descripción de la imagen aquí

Respuesta1

¿Es este el resultado deseado?

ingrese la descripción de la imagen aquí

Notas:

  • Si no desea puntas de flecha al final de las líneas, cambie el estilo every path/.style={-}o simplemente elimine esa opción como lo hice a continuación. Las líneas no tienen puntas de flecha de forma predeterminada.
  • El estilo de flecha que deseas es -latex. Entonces, simplemente agregue esa opción cuando sea necesario (como es el caso de la línea naranja).
  • Añadido shorten <=y shorten >=para ampliar la línea naranja. Alternativamente, puede seleccionar manualmente puntos que esténenla línea.
  • La calcbiblioteca se utilizó para calcular los puntos intermedios coordinatecon los que se dibujó la línea negra vertical.
  • Hice que las etiquetas de los nodos estuvieran en modo matemático agregando el archivo $.
  • Se agregaron colores para que sea más fácil saber qué comando de dibujo está haciendo qué.

Código:

\documentclass{amsart}
\usepackage{tikz} 
\usetikzlibrary{calc}
\begin{document}
\begin{center}
\begin{tikzpicture}[thick]
    \node (p1) at ( 0, 0) {}; 
    \node (p2) at ( 1, -0.2) {$i$};
    \node (p3) at ( 3,0) {};
    \node (p4) at ( 0,1) {};
    \node (p5) at ( 2,1.2) {$n+j$};
    \node (p6) at ( 3,1) {};
    \coordinate (p1MidwayP3) at ($(p1)!0.5!(p3)$);
    \coordinate (p4MidwayP6) at ($(p4)!0.5!(p6)$);
    \begin{scope}%[every path/.style={-}]
       \draw [red] (p1) -- (p3); 
       \draw [blue] (p4) -- (p6);
       \draw [orange, shorten <=-0.08cm, shorten >=-0.10cm, -latex](p2) -- (p5);
       \draw  (p1MidwayP3) -- (p4MidwayP6);
    \end{scope}  
\end{tikzpicture}
\end{center}
\end{document}

Respuesta2

Una solución PSTricks, combinada conxfp:

\documentclass{article}

\usepackage{pstricks-add}
\usepackage{xfp}

\begin{document}

\def\Horizontal{5} % length of the horizontal line segments
\def\Vertical{3}   % length of the vertical   line segment
\def\Indent{0.5}   % indentation of the arrow from both sides
\begin{pspicture}(0,-0.4)(\Horizontal,\fpeval{\Vertical+0.45})
  \psline(0,0)(\Horizontal,0)
  \psline(0,\Vertical)(\Horizontal,\Vertical)
  \psline(\fpeval{\Horizontal/2},0)(\fpeval{\Horizontal/2},\Vertical)
  \psline{->}(\Indent,0)(\fpeval{\Horizontal-\Indent},\Vertical)
  \uput[270](\Indent,0){$i$}
  \uput[90](\fpeval{\Horizontal-\Indent},\Vertical){$n+j$}
\end{pspicture}

\end{document}

producción

Todo lo que tienes que hacer es elegir los valores de \Horizontal, \Verticaly \Indenty el dibujo se ajustará en consecuencia.

información relacionada