Vertikale parallele Linien/Pfeile

Vertikale parallele Linien/Pfeile

Wie kann ich zeichnen mittikz-cd

  1. zwei vertikale parallele Linien
  2. zwei vertikale parallele Linien, die in entgegengesetzte Richtungen zeigen?

Antwort1

Etwas wie das?

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

Bildbeschreibung hier eingeben

Eine weitere Möglichkeit für die Doppellinien wäre der equalPfeil:

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

Bildbeschreibung hier eingeben

Verwenden Sie denselben Verschiebungswert, wenn ein gleichmäßiger Abstand gewünscht ist. Im folgenden Beispiel befinden sich die Pfeile nach links 0,7 Ex links vom Nordanker und die Pfeile nach rechts 0,7 Ex rechts vom Nordanker (stattdessen 0.7exkönnen Sie je nach Bedarf jede andere gültige Länge verwenden):

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

Bildbeschreibung hier eingeben

Standardmäßig wird für die Beschriftungen tikz-cdverwendet \scriptstyle. Wenn Sie dies ändern möchten, können Sie mit dem Schlüssel „labels“ beispielsweise Folgendes verwenden \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}

Bildbeschreibung hier eingeben

Antwort2

Mit PSTricks geht es einfach nur um den Spaß!

Bildbeschreibung hier eingeben

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

Warnung:

Soweit ich weiß, kann der Radius von Kreisknoten nicht einheitlich eingestellt werden.

Antwort3

Das TikZ-CD-Paket/die TikZ-Bibliothek wird heutzutage mit Schlüsseln namens shift leftund geliefert shift right.

Sie akzeptieren:

  1. kein Argument,
  2. ein Faktor (ohne Einheiten) und
  3. eine Dimension (mit Einheiten).

Die Taste verschiebt die Linie orthogonal zur Linie, die die ursprüngliche Start- und Endkoordinate verbindet (normalerweise ein Punkt am Rand der Knoten) um

  1. Der Standardwert hierfür shift leftist standardmäßig 0,56ex,
  2. dieser Standardwert multipliziert mit dem angegebenen Faktor oder
  3. die angegebene Länge.

Knoten entlang des Pfeils (von TikZ-CD „Labels“ genannt) werden entlang des neuen verschobenen Pfads platziert, nicht entlang des unverschobenen.


Das erste Diagramm im folgenden Code zeigt

  • zwei parallele Linien ohne Pfeilspitze dazwischenAUndC,
  • zwei parallele Vorwärtspfeile (zwischenBUndD), aus dem man gezogen wirdBZuDund einer vonDZuB(beide mit shift left) und
  • zwei parallele Pfeile ausCZuBwobei man umgekehrte Pfeilspitzen hat ( leftarrow).

Im zweiten Diagramm zeige ich, wie die Schaltung funktioniert:
Bildbeschreibung hier eingeben

Die graue Linie stellt die direkte Verbindung zwischen den Knoten dar. Die dünne grüne Linie ist die unveränderte Kurve, während die dicke grüne Linie die verschobene Kurve darstellt.

Die blaue gestrichelte Linie stellt die Verbindung zwischen Start- und Endpunkt der Kurve dar, die blauen Pfeile zeigen die Verschieberichtung (orthogonal zur gestrichelten Linie).

Code

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

Ausgabe

Bildbeschreibung hier eingeben

verwandte Informationen