3

I need to find a way of putting a Tikz node inside the label of a reaction scheme, allowing me to represent the electron movement from a reagent to a catalyst, such as in this situation:

\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}

reaction scheme issue

As of now, I did not find anything in the chemfig documentation but I might have missed something. What I want is an arrow from the oxygen atom of the first molecule to the proton above the reaction arrow. How do I do this?

1
  • 2
    Welcome to TeX.SE. You are looking for \chemmove.
    – Ross
    Aug 14, 2020 at 16:33

2 Answers 2

4
\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}

enter image description here

2
  • This is perfect!
    – Sebastiano
    Aug 14, 2020 at 22:16
  • Yes, this will do nicely! Thank you very much! Aug 17, 2020 at 1:15
1

Chemfig: multiple arrows from one molecule

You can remember elements of a chemfig with the @{<name>}{<element>} syntax -- in answer @{H} has been prefixed to {H} for this purpose and then the arrow is drawn using the calc library

enter image description here

\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}

EDIT

\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}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .