複雑な随伴関数図

複雑な随伴関数図

次の図のような 2 つの図を作成するにはどうすればよいですか? ご協力をよろしくお願いします。

ここに画像の説明を入力してください

答え1

ようこそ!tikz-cdこれはかなり簡単です。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
 A \arrow[r,shift left=0.75ex] \arrow[r,draw=none,"\sim" marking]& 
    B \arrow[l,shift left=0.75ex]\arrow[r,shift left=0.75ex]
    \arrow[r,,draw=none,"\scriptstyle\perp" marking]& 
    C \arrow[l,shift left=0.75ex]\\
 C \arrow[r,"\scriptstyle\perp" {inner sep=0.1ex,rotate=180},
    "\scriptstyle\perp"' {inner sep=0.1ex,rotate=180}] \arrow[r,shift left=1.5ex] & 
    D \arrow[l,shift left=1.5ex] & \\
\end{tikzcd}
\end{document}

ここに画像の説明を入力してください

または、さらに小さな\perpシンボルを使用して矢印を互いに近づけることもできます。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
 A \arrow[r,shift left=0.4ex] \arrow[r,draw=none,"\scriptstyle\sim" marking]& 
    B \arrow[l,shift left=0.75ex]\arrow[r,shift left=0.4ex]
    \arrow[r,draw=none,"\scriptscriptstyle\perp" marking]& 
    C \arrow[l,shift left=0.75ex]\\
 C \arrow[r,"\scriptscriptstyle\perp" {inner sep=0.1ex,rotate=180},
    "\scriptscriptstyle\perp"' {inner sep=0.1ex,rotate=180}] 
    \arrow[r,shift left=1.1ex] & 
    D \arrow[l,shift left=1.1ex] & \\
\end{tikzcd}
\end{document}

ここに画像の説明を入力してください

あるいは曲がった矢で。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
 A \arrow[r,bend left=25,shift left=0.2ex] \arrow[r,draw=none,"\sim" marking]& 
    B \arrow[l,bend left=25,shift left=0.2ex]\arrow[r,bend left=25,shift left=0.2ex]
    \arrow[r,draw=none,"\perp" marking]& 
    C \arrow[l,bend left=25,shift left=0.2ex]\\
 C \arrow[r,"\perp" {inner sep=0.3ex,rotate=180},
    "\perp"' {inner sep=0.3ex,rotate=180}] 
    \arrow[r,bend left=25,shift left=0.2ex] & 
    D \arrow[l,bend left=25,shift left=0.2ex] & \\
\end{tikzcd}
\end{document}

ここに画像の説明を入力してください

関連情報