2

At right, the vertical arrow from ethylene to M is a coordination bond. Is it possible to centrally align the two molecules (ethylene and the solid catalyst surface), aligning their centers with the coordination bond arrow?

\documentclass[12pt]{article}

\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{chemfig}
  
\usetikzlibrary{shapes,positioning,intersections,quotes}    


\setchemfig{%
        arrow offset=9pt,
        arrow coeff=0.7,
        + sep left=0.3em,
        + sep right=0.3em,
        atom sep=1.5em,
        fixed length=true
}

\begin{document}
\schemestart
\chemfig{C(-[3]H)(-[5]H)=C(-[1]H)-[7]H}
\arrow{0}[,0] \+
\chemfig{ M (-[0]M{\sim}) (-[4]{\sim}M) }
\arrow
\subscheme{
    \chemfig{H_2C=[@{bond}]CH_2}
    \arrow{0}[-90,.23]
    \chemfig{ M (-[0]M{\sim}) (-[4]{\sim}M) }
    \chemmove{
        \node[below=3px of bond] (double_bond) {};
        \node[below=19px of bond] (solid_surface) {};
        \draw[-stealth](double_bond)--(solid_surface);
    }
}
\schemestop
\end{document}

enter image description here

2 Answers 2

4

The issue is a space that you don't want after \chemfig{ M(-[0]M{\sim}) (-[4]{\sim}M) }. Add a % to remove the whitespace at the end of the line.

enter image description here

\subscheme{
    \chemfig{H_2C=[@{bond}]CH_2}
    \arrow{0}[-90,.23]
    \chemfig{ M(-[0]M{\sim}) (-[4]{\sim}M) }% <--------NEED THIS!!
    \chemmove{
        \node[below=3px of bond] (double_bond) {};
        \node[below=19px of bond] (solid_surface) {};
        \draw[-stealth](double_bond)--(solid_surface);
    }
}
\schemestop
3

It is not necessary to use \subscheme or \chemmove, shorter code is possible. It is possible to insert the arrow inside the molecule without the \arrow command

    \documentclass[12pt]{article}
    \usepackage{tikz}
    \usetikzlibrary{arrows.meta}
    \usepackage{chemfig}

\usetikzlibrary{shapes,positioning,intersections,quotes}    


\setchemfig{%
    arrow offset=9pt,
    arrow coeff=0.7,
    + sep left=0.3em,
    + sep right=0.3em,
    atom sep=1.5em,
    fixed length=true
}


\begin{document}
\schemestart
    \chemfig{C(-[3]H)(-[5]H)=C(-[1]H)-[7]H}
    \arrow{0}[,0] \+
    \chemfig{ M(-[0]M{\sim})(-[4]{\sim}M)}
    \arrow
\chemfig{H_2C=[,.5](-[6,,,,->,shorten <=2pt]M(-[0]M{\sim})(-[4]{\sim}M))=[,.5]CH_2}
\schemestop
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.