
Quiero colorear grupos funcionales simples en moléculas orgánicas usando el chemfig
paquete. Se me ocurrió una solución que logra lo que quiero (MWE), pero la encuentromuyincómodo. Pensé que sería posible agrupar a todo un grupo en una sola color
declaración.Esta pregunta sobre colorear el fondo.de un grupo de átomos chemfig
también da un claro énfasis gráfico de un grupo de átomos.
¿Es mi solución, y la solución a la pregunta anterior, la forma más fácil de colorear o marcar grupos de átomos (incluidos los enlaces) en chemfig
? En este momento, no necesito reproducir fácilmente muchos grupos funcionales coloreados, pero me gustaría saber si hay formas más fáciles de resolver este problema sin predefinir macros para cada grupo.
Creo entender que el problema de fondo es la forma en que chemfig
se utiliza Ti.kNodos Z para dibujar las estructuras, pero no puedo evitar pensar que debería haber una manera de definir algún entorno de color que se aplique a todos los Ti.kNodos Z hechos por chemfig
.
MWE:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-{\color{blue}C}(=[1,,,,blue] {\color{blue}O})(-[7,,,,blue] {\color{blue}OH})}
\end{document}
Productor
Respuesta1
Relacionado aesta publicación.
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\def\RED{\gdef\printatom##1{\color{red}\ensuremath{\mathrm{##1}}}}
\def\BLACK{\gdef\printatom##1{\color{black}\ensuremath{\mathrm{##1}}}}
\noindent
\chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)(-[,,,,draw=none]\RED)([,,,,,red]-[,,,,black]C(=[1]O)(-[7]OH))}\BLACK \\[1cm]
\chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)(-C(=[1]O)(-[7]OH))}
\end{document}
Dónde
[,,,,red]
es establecer el color de los enlaces dentro del COOH.[,,,,black]
es establecer el color del enlace entre C2H5 y COOH.(-[,,,,draw=none]\RED)
es crear un átomo ad hoc para cambiar el color.- Puedes cambiar el color en cualquier lugar, pero a veces puede causar un mal espaciado/posicionamiento.
- (por ejemplo,
chemfig
se lee\RED COOH
como cinco átomos, y el primer átomo tiene un ancho cero).