Líneas/flechas verticales paralelas

Líneas/flechas verticales paralelas

¿Cómo puedo dibujar contikz-cd

  1. dos líneas verticales paralelas
  2. ¿Dos rectas verticales paralelas que apuntan en direcciones opuestas?

Respuesta1

¿Algo como esto?

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
A\arrow[transform canvas={xshift=0.3ex},-]{d} \arrow[transform canvas={xshift=-0.4ex},-]{d} & B\arrow[transform canvas={xshift=0.9ex}]{d} \\
C  & D \arrow[transform canvas={xshift=-0.4ex}]{u} 
\end{tikzcd}

\end{document}

ingrese la descripción de la imagen aquí

Otra opción para las líneas dobles sería la de la equalflecha:

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
A\arrow[equal]{d} & B\arrow[transform canvas={xshift=0.9ex}]{d} \\
C  & D \arrow[transform canvas={xshift=-0.4ex}]{u} 
\end{tikzcd}

\end{document}

ingrese la descripción de la imagen aquí

Utilice el mismo valor de desplazamiento si desea una separación igual; en el siguiente ejemplo las flechas a la izquierda serán 0.7ex a la izquierda del ancla norte y las flechas a la derecha serán 0.7ex a la derecha del ancla norte (en lugar de 0.7expuedes usar cualquier otra longitud válida, según tus necesidades):

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
A\arrow[transform canvas={xshift=0.7ex},-]{d} \arrow[transform canvas={xshift=-0.7ex},-]{d} & B\arrow[transform canvas={xshift=0.7ex}]{d} \\
C  & D \arrow[transform canvas={xshift=-0.7ex}]{u} 
\end{tikzcd}

\end{document}

ingrese la descripción de la imagen aquí

De forma predeterminada, tikz-cdse utiliza \scriptstylepara las etiquetas; Si desea cambiar esto, puede usar la tecla de etiquetas para usar, por ejemplo \textstyle,:

\documentclass{article}
\usepackage{tikz-cd}

\tikzset{commutative diagrams/diagrams={%
  labels={font=\everymath\expandafter{\the\everymath\textstyle}}}}

\begin{document}

\begin{tikzcd}
A \arrow{r}{\eta} & B \\
\end{tikzcd}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

¡Con PSTricks, es sólo por diversión!

ingrese la descripción de la imagen aquí

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\offinterlineskip
$
\begin{psmatrix}[rowsep=1,colsep=2,mnode=circle,shortput=tablr,nodesep=2pt]
    Left & Right
\ncline[offset=3pt]{->}{1,1}{1,2}^{above}
\ncline[offset=-3pt]{<-}{1,1}{1,2}_{below}
\end{psmatrix}
$
\qquad
$
\begin{psmatrix}[rowsep=1,colsep=2,mnode=circle,shortput=tablr,nodesep=2pt]
    Top \\
    Bottom
\ncline[offset=3pt]{->}{1,1}{2,1}>{right}
\ncline[offset=-3pt]{<-}{1,1}{2,1}<{left}
\end{psmatrix}
$
\end{document}

Advertencia:

Hasta donde yo sé, el radio del nodo circular no se puede ajustar para que sea uniforme.

Respuesta3

El paquete/biblioteca TikZ-CD hoy en día viene con claves llamadas shift lefty shift right.

Aceptan:

  1. sin argumentos,
  2. un factor (sin unidades) y
  3. una dimensión (con unidades).

La tecla desplazará la línea ortogonalmente a la línea que conecta las coordenadas inicial y final originales (generalmente un punto en el borde de los nodos) por

  1. cuyo valor predeterminado shift leftes, por defecto, 0.56ex,
  2. dicho valor predeterminado multiplicado por el factor dado o
  3. la longitud dada.

Los nodos a lo largo de la flecha (llamados etiquetas por TikZ-CD) se colocarán a lo largo de la nueva ruta desplazada, no de la que no está desplazada.


El primer diagrama en el código siguiente muestra

  • dos líneas paralelas sin una punta de flecha entreAyC,
  • dos flechas paralelas hacia adelante (entreByD) de donde se extraeBaDy uno deDaB(ambos con shift left) y
  • dos flechas paralelas extraídas deCaBdonde uno tiene puntas de flecha invertidas ( leftarrow).

En el segundo diagrama muestro cómo funciona el cambio:
ingrese la descripción de la imagen aquí

La línea gris son las conexiones directas entre los nodos. La línea verde delgada es la curva sin desplazamiento, mientras que la línea verde gruesa es la curva desplazada.

La línea discontinua azul muestra la conexión entre el punto inicial y final de la curva, las flechas azules muestran la dirección del cambio (ortogonal a la línea discontinua).

Código

\documentclass[tikz]{standalone}
\usetikzlibrary{cd}
\begin{document}
\begin{tikzcd}
  A \ar[d, dash, shift left] \ar[d, dash, shift right]
& B \ar[d, shift left]\\
  C \ar[u, dash, shift left]
    \ar[ur, shift left]
    \ar[ur, shift right, leftarrow]
& D \ar[u, shift left]
\end{tikzcd}
\begin{tikzcd}[
  cells={nodes={draw, help lines}}, /tikz/>={Stealth[scale=.5]},
  /tikz/c/.style={shape=coordinate, name={#1}}, column sep=tiny, arrows=dash]
    & A \\
  B \ar[ur, help lines]
    \ar[ur, out=90, in=270, help lines, green,
        "" {at start, c=A }, "" {at end, c=B }]
    \ar[ur, out=90, in=270, shift left=3, green, thick,
        "" {at start, c=A'}, "" {at end, c=B'}]
    \ar[help lines, from=A, to=B, dashed, blue]
    \ar[help lines, blue, from=A, to=A', ->]
    \ar[help lines, blue, from=B, to=B', ->]
\end{tikzcd}
\end{document}

Producción

ingrese la descripción de la imagen aquí

información relacionada