将 Tikz 节点放在 chemfig 反应方案中的箭头上?

将 Tikz 节点放在 chemfig 反应方案中的箭头上?

我需要找到一种方法将 Tikz 节点放入反应方案的标签内,这样我就可以表示从试剂到催化剂的电子运动,例如在这种情况下:

\documentclass[12pt,paper=a4]{scrartcl}
\usepackage[version=4, arrows=pgf-filled]{mhchem}
\usepackage{chemfig}

\begin{document}

\schemestart
\chemfig{*6(----(-[2]\charge{65:1pt=\:, -15:1pt=\:}{O}-[3,0.7]H)--)}
\arrow{<=>[$\ce{H+}$]}
\chemfig{*6(----(-[2]\charge{90:2pt=+}{O}(-[3,0.7]H)(-[1,0.7]H))--)}
\schemestop

\end{document}

反应方案问题

到目前为止,我在 chemfig 文档中没有找到任何内容,但我可能错过了一些东西。我想要的是从第一个分子的氧原子到反应箭头上方的质子的箭头。我该怎么做?

答案1

\documentclass[12pt,paper=a4]{scrartcl}
%\usepackage[version=4, arrows=pgf-filled]{mhchem}
\usepackage{chemfig}

\begin{document}

\schemestart
\chemfig{*6(----(-[2]@{ep}\charge{65:1pt=\:, -15:1pt=\:}{O}-[3,0.7]H)--)}
\arrow{<=>[\chemfig{@{hy}H|^+}]}
\chemfig{*6(----(-[2]\charge{90:2pt=+}{O}(-[3,0.7]H)(-[1,0.7]H))--)}
\schemestop
\chemmove{\draw[red,shorten <=5pt,shorten >=2pt] (ep) .. controls +(65:1) and +(90:2) .. (hy);}

\end{document}

在此处输入图片描述

答案2

Chemfig:一个分子有多个箭头

你可以用语法来记住 chemfig 的元素@{<name>}{<element>}-- 在答案中,@{H} 已为此目的添加到 {H} 前缀,然后使用 calc 库绘制箭头

在此处输入图片描述

\documentclass[12pt,paper=a4]{scrartcl}
\usepackage[version=4, arrows=pgf-filled]{mhchem}
\usepackage{chemfig}
\usepackage{tikz}
%\usepackage{tikzpagenodes}
%\usetikzlibrary{matrix,chains,positioning,decorations.pathreplacing,arrows}
\usetikzlibrary{calc,tikzmark}

\begin{document}
    
    \schemestart
    \chemfig{*6(----(-[2]\charge{65:1pt=\:, -15:1pt=\:}{O}-[3,0.7]@{H}{H})--)}
    \arrow{<=>[$\ce{H+}$]}
    \chemfig{*6(----(-[2]\charge{90:2pt=+}{O}(-[3,0.7]H)(-[1,0.7]H))--)}
    \schemestop
    \begin{tikzpicture}[overlay,remember picture,]    
        \draw[->,red,ultra thick] ($(H)+(1,-0.5)$) to[out=45,in=90,looseness=1.2]+(1.6,-1);
        
\end{tikzpicture}

    
\end{document}

编辑

\documentclass[12pt,paper=a4]{scrartcl}
\usepackage[version=4, arrows=pgf-filled]{mhchem}
\usepackage{chemfig}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
    
    \schemestart
    \chemfig{*6(----(-[2]\charge{65:1pt=\:, -15:1pt=\:}{O}-[3,0.7]@{H}{H})--)}
    \arrow{<=>[$\ce{H+}$]}
    \chemfig{*6(----(-[2]\charge{90:2pt=+}{O}(-[3,0.7]H)(-[1,0.7]H))--)}
    \schemestop
    \begin{tikzpicture}[overlay,remember picture,]    
        \draw[->,red,thick,>=stealth] ($(H)+(0.8,-0.3)$) to[out=45,in=90,looseness=1.2]+(1.75,-1.3);
        
\end{tikzpicture}

    
\end{document}

在此处输入图片描述

相关内容