用于表示化学反应的弯曲箭头(作为交换图)

用于表示化学反应的弯曲箭头(作为交换图)

以下代码生成形成特定产品的反应序列。

\begin{tikzpicture}[
start chain = going below,
block/.style = {text width=2em,
    font=\linespread{1.5}\selectfont, align=center,
    on chain, join=by line},
line/.style = {-Stealth, semithick}
]
\begin{scope}[every node/.style = {block}]
\node (start) {CaCl$_{2}$} ; 
\node (c1) [below=of start, suspend join] {CaOHCl} ;
\node (c2) [left=of start, suspend join] {H$_{2}$O} ;
\node (c3) [below =of c2, suspend join] {CaO} ; 
\node (c4) [right=of start, suspend join] {CaCl$_2$.2H$_2$O} ; 
\node (c5) [below=of c4, suspend join] {Ca(OH)$_2$} ; 
\node (c6) [below =of c5, suspend join] {HCl} ; 
\end{scope} 
\draw[line] (start) -- (c1) ; 
\draw[line] (start) -- (c2) ; 
\draw[line] (c2) -- (c3) ; 
\draw[line] (c2) -- (c5) ; 
\draw[line] (c5) -- (start) ; 
\draw[line] (c5) -- (c4) ; 
\draw[line] (c4) -- (c1) ; 
\draw[line] (c5) -- (c6) ; 
\draw[line] (c6) -- (c1) ;  
\end{tikzpicture}

我想使用 tikzcd 包将序列重新绘制为交换图,使用弯曲箭头,如附图所示。我尝试修改以下代码:http://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/tikz-cd/tikz-cd-doc.pdf

我不确定该命令如何\arrow[bend left]工作,以及如何根据图像要求对其进行修改。 有没有可能的解决方案?

在此处输入图片描述

答案1

在这里使用tikz-cd。我不知道这是否值得,也不知道内容是否有意义。正如 daleif 所建议的,您可能需要使用一些允许您排版分子的工具。至于似乎是主要的问题,您可以使用bend leftbend right,并在需要的地方添加弯曲角度,例如bend left=20。您还可以重新定义箭头。

\documentclass{article}
\usepackage{chemformula}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[/tikz/>=stealth,/tikz/column 1/.style={column sep=2em}]
 & & &  \ch{H2O} \arrow[dr,->,bend left] \arrow[dddr,->,bend left=20] & \\
 & & &   & \ch{CaO}\\
 & & \ch{CaCl2} \arrow[uur,->,bend left] \arrow[dll,->,bend right] &   & \\
 \ch{CaOHCl} & & & & \ch{Ca(OH)2} \arrow[ddll,->,bend left] \arrow[dll,->] 
 \arrow[ull,->]\\
 & &  \ch{CaCl2. 2 H2O}\arrow[ull,->,bend right]  & &\\ 
 & &  \ch{HCl} \arrow[uull,->,bend left] & &\\ 
\end{tikzcd}
\end{document}

在此处输入图片描述

相关内容