我对 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
你只需要画出\node
s (A,B,C,...) 和arc
s。要画出arc
你需要写
\draw (1,2) arc (0:90:3);
这意味着您正在绘制一个具有初始角度、终止角度和半径的arc
起点。(1,2)
0
90
3
像这样:
\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}
将绘制: