![带有许多弯曲箭头的复杂图片](https://linux22.com/image/359464/%E5%B8%A6%E6%9C%89%E8%AE%B8%E5%A4%9A%E5%BC%AF%E6%9B%B2%E7%AE%AD%E5%A4%B4%E7%9A%84%E5%A4%8D%E6%9D%82%E5%9B%BE%E7%89%87.png)
答案1
这是一份简短的草稿。
\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[
draw = none,
rectangle,
inner sep = 0.2em,
node distance = 2em
]
\node (caco3) {CaCO$_3$};
\node[below = of caco3] (plusco2) {+CO$_2$};
\node[left = of plusco2] (cao) {CaO};
\node[below left = of cao] (h2o) {H$_2$O};
\node[below = of plusco2] (nahco3) {NaHCO$_3$};
\node[below = of nahco3] (cplush2o) {C+H$_2$O};
\node[below left = of cplush2o] (a) {A};
\node[below right = of plusco2] (b) {B};
\node[above right = of b] (nh3h2o) {NH$_3 \cdot$H$_2$O};
\node[below = of b] (plusd) {+D};
\node[below right = of b] (nacl) {NaCl};
\node[below = of nacl] (nh3h2oe) {NH$_3$+H$_2$O+E};
% Scope to add arrow tips.
\begin{scope}[-latex]
\draw (caco3) to (plusco2);
\draw[bend right] (cao) to node[midway] (midcaoa) {} (a);
\draw[bend left] (h2o) to (midcaoa);
\draw[bend right] (plusco2.south west) to node[pos = 0.3] (midplusco2cplush2o) {} (cplush2o.north west);
\draw[bend right] (nahco3) to (midplusco2cplush2o);
\draw[bend left] (plusco2) to node[midway] (midplusco2b) {} (b);
\draw[bend left] (midplusco2b) to (nh3h2o.west);
\draw (b) to node[midway] (midbplusd) {} (plusd);
\draw[bend right] (nacl) to (midbplusd);
\draw[bend left] (nh3h2o) to (nh3h2oe);
\end{scope}
\end{tikzpicture}
\end{document}
我会让你调整位置等。并尝试使用该chemmacros
包,按照 dexteritas 在评论中的建议,打印化学实体的名称。