在 chemfig (或 tikz?) 中合并弯曲箭头

在 chemfig (或 tikz?) 中合并弯曲箭头

我对 Latex 还不太熟悉,到目前为止,我一直在使用 chemfig 绘制一些图表,但对于我尝试绘制的这个图表,我还没有找到方法。我以前没有使用过 tikz,但在我看来,这是更好的选择。尽管如此,我还是找不到任何我想要的示例,所以我想问问。

基本上我想要做的是这样的:

在此处输入图片描述

但我还无法接近目标,也没有一行代码可以展示。有人能帮忙吗?

编辑:我笨拙地拼凑了以下代码,这正是我想要的,但我希望有更简洁的方法来实现它。此外,我非常希望箭头能够以某种方式接触/合并。

\documentclass{scrartcl}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzpicture}
\node (a) at (0,0) {A};
\node (b) at (2,0) {B};
\draw[-latex,bend right]  (a) edge (b);
\end{tikzpicture}\\
\begin{tikzpicture}
\node (c) at (0,0) {C};
\node (d) at (2,0) {D};
\draw[-latex,bend left]  (c) edge (d);
\draw[-latex,bend left]  (d) edge (c);
\end{tikzpicture}\\
\begin{tikzpicture}
\node (e) at (0,0) {E};
\node (f) at (2,0) {F};
\draw[-latex,bend right]  (f) edge (e);
\draw[-latex,bend right]  (e) edge (f);
\end{tikzpicture}\\
\begin{tikzpicture}
\node (g) at (0,0) {G};
\node (h) at (2,0) {H};
\draw[-latex,bend left]  (g) edge (h);
\end{tikzpicture}


\end{document}

在此处输入图片描述

答案1

你只需要画出\nodes (A,B,C,...) 和arcs。要画出arc你需要写

\draw (1,2) arc (0:90:3);

这意味着您正在绘制一个具有初始角度、终止角度和半径的arc起​​点。(1,2)0903

像这样:

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{babel} % just in case
\begin{document}
\begin{tikzpicture}[y={(0,-1cm)}, shorten >= 2mm, shorten <= 2mm,]
  \def\s{1} % separation between nodes
  \node (A) at ( 0,   0) {$A$};
  \node (B) at (\s,   0) {$B$};
  \node (C) at ( 0,  \s) {$C$};
  \node (D) at (\s,  \s) {$D$};
  \node (E) at ( 0,2*\s) {$E$};
  \node (F) at (\s,2*\s) {$F$};
  \node (G) at ( 0,3*\s) {$G$};
  \node (H) at (\s,3*\s) {$H$};
  \draw[->] (A) arc (180:  0:0.5*\s);
  \draw[->] (C) arc (180:360:0.5*\s);
  \draw[->] (D) arc (  0:180:0.5*\s);
  \draw[->] (E) arc (180:  0:0.5*\s);
  \draw[->] (F) arc (360:180:0.5*\s);
  \draw[->] (H) arc (360:180:0.5*\s);
\end{tikzpicture}
\end{document}

将绘制:

在此处输入图片描述

相关内容