Complete el fondo de los grupos funcionales en chemfig.

Complete el fondo de los grupos funcionales en chemfig.

Quiero completar el fondo de algunos grupos funcionales o átomos, incluidos enlaces para enfatizarlos. Por ejemplo, para enfatizar el grupo carbonilo en una cetona, complete el fondo de C=O como:

ingrese la descripción de la imagen aquí

Estoy usando chemfig para dibujar ecuaciones químicas y tengo una solución alternativa que cubre con superposición (chemmove):

\chemfig{R|_1-@{kc}C(=[:90]O)-R|_2}
\chemmove{
    \node[fill=purple!20,anchor=text,inner sep=0.1em]
        at (kc.text) {\chemfig{C(=[:90]O)}};
}

Sin embargo, necesito una forma más sencilla e inteligente ya que, de esta manera, tengo que escribir el mismo código dos veces (lo que podría ser muy largo si los átomos y los enlaces son largos y complicados) y no funciona con anclajes incorrectos de vez en cuando. .

Respuesta1

podrías marcardosnodos con la @{<name>}sintaxis y luego dibuja un rectángulo con fill opacity=.2(o lo que más te convenga):

\documentclass{article}
\usepackage{chemfig,tikz}
\begin{document}
\chemfig{R_1-@{C}C(=[:90]@{O}O)-R_2}
\chemmove{
  \draw[
    fill=purple,
    draw=purple,
    fill opacity=.2,
    rounded corners=2pt
  ]
    ([xshift=-3pt,yshift=-1pt]C.south west)
    rectangle
    ([xshift=3pt,yshift=3pt]O.north east) ;
}
\end{document}

resultado

información relacionada