chemfig y MolDraw: pega chemfig, edítalo visualmente y exporta a LaTeX
Respuesta corta: copia tu código \chemfig{…} (o un esquema \schemestart … \schemestop completo, o el archivo .tex entero), abre el editor de MolDraw y pulsa Ctrl+V. MolDraw lo dibuja, flechas curvas incluidas. Edítalo con el ratón y después elige Download → chemfig (.tex) para obtener un archivo que compila con pdflatex, o Copy as chemfig (LaTeX) para obtener código que pegar en tu tesis o artículo.
Para quién es
chemfig es la forma estándar de dibujar moléculas dentro de LaTeX. El resultado es precioso y vive en el mismo archivo que tu texto, pero escribirlo es lento. Escribes -[:30] y =[::-60], compilas, miras y ajustas un ángulo. Corregir el chemfig de otra persona es aún más difícil, y una flecha curva en \chemmove puede requerir muchos intentos.
Ahora MolDraw lee y escribe chemfig. Mantienes chemfig como formato y usas un lienzo para el dibujo:
- Ve lo que dibuja un fragmento de chemfig sin compilar.
- Corrígelo con el ratón: mueve un átomo, cambia de lado un doble enlace, añade una carga o una flecha curva.
- Recupera chemfig que compila con pdflatex, con los mismos ángulos que ves en pantalla.
- Parte de otros formatos (SMILES, MOL, archivos de ChemDraw, un nombre de compuesto) y obtén chemfig.
Todo funciona en tu navegador. Tu código no se envía a ningún servidor para convertirlo.
Pega chemfig en el lienzo
- Copia el código de tu editor o de Overleaf. Funciona con un solo
\chemfig{…}, con varios, con un bloque\schemestart … \schemestopo con un documento completo. - Abre el editor de MolDraw, haz clic en una parte vacía del lienzo y pulsa Ctrl+V (Cmd+V en Mac). También puedes usar el botón Paste o clic derecho → Paste.
- El dibujo aparece seleccionado, junto a lo que ya haya en el lienzo. Arrástralo adonde quieras.
Pruébalo con este esquema:
\schemestart
\chemname{\chemfig{*6(=-=-=-)}}{benzene}
\+
\chemfig{Br-Br}
\arrow{->[FeBr$_3$][CH$_2$Cl$_2$]}
\chemname{\chemfig{*6(=-=(-Br)-=-)}}{bromobenzene}
\schemestop
MolDraw conserva los ángulos y las longitudes de enlace que escribiste, así que el dibujo tiene la misma forma que en tu PDF. Se conservan las etiquetas como H_3C, NH_2 o {CO_2Me}, las cargas, los pares solitarios de \lewis o \charge y los nodos @{name}.
Edítalo como cualquier dibujo
El dibujo pegado es una estructura normal de MolDraw, así que todas las herramientas funcionan sobre él:
- arrastra átomos, o selecciona un grupo y gíralo;
- sitúa el puntero sobre un enlace y pulsa 1, 2 o 3 para hacerlo sencillo, doble o triple, y haz clic en un doble enlace con la herramienta de doble enlace para pasar su segunda línea al otro lado;
- añade cargas, pares solitarios y radicales desde la barra de herramientas o el menú contextual;
- dibuja flechas curvas y flechas de anzuelo con la herramienta de flechas. Se unen a pares solitarios, enlaces y cargas y siguen unidas cuando mueves átomos;
- edita el texto encima y debajo de una flecha de reacción haciendo doble clic en él.
Además obtienes las comprobaciones químicas que chemfig no puede darte: avisos de valencia, la fórmula y la masa, el SMILES y una vista 3D de cada estructura.
Exporta chemfig de nuevo a LaTeX
Hay dos formas de exportar:
- Download → chemfig (.tex) guarda un archivo LaTeX completo e independiente. Compílalo por separado para obtener un PDF del dibujo, o incluye ese PDF en tu documento con
\includegraphics. - Copy as chemfig (LaTeX) (en el menú Copy y en el menú contextual Copy as) copia solo el código del dibujo, sin
\documentclass. Pégalo directamente en tu tesis o artículo.
Para el código copiado, añade una vez estas dos líneas a tu preámbulo:
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
Si un dibujo tiene flechas curvas o corchetes de polímero, compila dos veces. chemfig los dibuja a partir de posiciones que guarda en la primera compilación. Si seleccionas antes parte del lienzo, solo se exporta la selección.
Cómo es el código exportado
Este es el archivo que escribe MolDraw para el esquema SN2 de la primera captura:
% Exported from MolDraw — compile with pdflatex / lualatex (twice: arrows and brackets use positions from the first run)
\documentclass[border=22pt,varwidth=60cm]{standalone}
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
\begin{document}
\setchemfig{+ sep left=2em, + sep right=2em, arrow offset=6pt}
{\centering \textbf{SN2 of bromomethane}\par}
\par\bigskip
\schemestart
\chemname[2em]{\chemfig{@{a1}HO^{-}}}{hydroxide}
\+
\chemname[2em]{\chemfig{@{a2}-[@{b1}:90]@{a3}Br}}{bromomethane}
\arrow{->[SN2][acetone]}
\chemname[2em]{\chemfig{-[:90,,,1]OH}}{methanol}
\+
\chemfig{Br^{-}}
\schemestop
\chemmove{
\draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(1.07em,0.77em)}]a1) to[bend right=47] ([shift={(-0.39em,-0.23em)}]a2);
\draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.21em,-0.36em)}]b1) to[bend right=77] ([shift={(0.64em,-0.23em)}]a3);
}
\end{document}
Algunas cosas en las que fijarse:
- Los enlaces usan ángulos absolutos (
-[:90]), así que cada enlace apunta en la misma dirección que en el lienzo. Un enlace que no tiene la longitud estándar recibe un factor de longitud como-[:30,1.2]. - Los átomos y enlaces que toca una flecha curva reciben nombres de nodo (
@{a1},@{b1}).\chemmovedibuja cada flecha entre ellos, con un ángulobendque coincide con la curva del lienzo. - Los nombres de los compuestos quedan bajo las estructuras, dejando sitio para las flechas curvas que se arquean por debajo.
- Los enlaces de los anillos se cierran con ganchos (
?[a]), y cada doble enlace recibe=^o=_para que su segunda línea quede del mismo lado que en MolDraw, hacia dentro en los anillos.
Obtén chemfig a partir de SMILES, MOL o archivos de ChemDraw
Como MolDraw lee muchos formatos, también funciona como conversor a chemfig:
- Introduce la estructura: pega un SMILES o un InChI, busca el nombre de un compuesto en el cuadro de PubChem o abre un archivo MOL, SDF, RXN, CDXML o CDX (ChemDraw).
- Ordénala si hace falta. La limpieza y la rotación están en la barra de herramientas.
- Elige Download → chemfig (.tex).
Es la forma más rápida de pasar un conjunto de figuras de ChemDraw a una tesis en LaTeX: abre cada archivo y descárgalo como chemfig.
Mecanismos de reacción y flechas curvas
Las flechas curvas son lo más difícil de escribir a mano en chemfig. En MolDraw las dibujas con el ratón, o pides al asistente de IA que dibuje un mecanismo, y la exportación escribe por ti los nombres @{…} y el bloque \chemmove.
Cuando pegas chemfig que ya tiene flechas \chemmove, MolDraw lee qué átomos o enlaces une cada flecha y hacia qué lado se curva su bend. Después coloca la flecha según sus propias reglas de dibujo: la cola empieza en el par solitario, la carga o el enlace, y la punta se detiene justo antes de su destino. No tienes que copiar la curva exacta de TikZ.
Para ejemplos completos, consulta los ejemplos de mecanismos con chemfig: reacciones radicalarias en cadena con flechas de anzuelo y mecanismos polares de varios pasos, cada uno como un archivo .tex que puedes descargar.
Pregunta al asistente de IA
El asistente de chat del editor conoce chemfig. Por ejemplo, puedes pedirle:
- “Exporta esto como chemfig.” Devuelve el código de lo que hay en el lienzo.
- “Dibuja esto:
\chemfig{H_3C-C(=[:60]O)-[:-60]OH}.” Coloca la estructura en el lienzo. - “Dibuja el mecanismo de la hidrólisis de ésteres catalizada por ácido y dame el chemfig.”
Qué se conserva en ambas direcciones
Cada elemento de la lista se exporta, se compila con pdflatex, se vuelve a leer en MolDraw y se compara con el dibujo original.
| Enlaces | Sencillo -, doble =, triple ~; anillos aromáticos en forma de Kekulé; el lado de la segunda línea de un doble enlace (=^ / =_); enlaces en cuña y discontinuos con su dirección (< > <: >:). |
|---|---|
| Estilos de enlace | Enlaces ondulados, gruesos, punteados y dativos, y colores de enlace, escritos como opciones de TikZ en el enlace. |
| Átomos | Etiquetas con H implícitos, grupos condensados (CO2Me, Ph), cargas, cargas en círculo (\oplus), isótopos, D y T, pares solitarios y puntos de radical (\charge, \lewis), colores de átomos. |
| Anillos | Cualquier anillo y anillos fusionados; al importar, también *6(…), **6(…) y anillos anidados. |
| Esquemas | ->, <-, equilibrio <=>, semiequilibrio <->>, resonancia <->, flechas de retrosíntesis; condiciones encima y debajo en varias líneas; \+; \chemname; esquemas repartidos en varias filas. |
| Texto | Un título encima del esquema y notas debajo. |
| Corchetes | Corchetes de estado de transición con ‡ (\chemleft[ … \chemright]) y unidades repetitivas de polímeros (\polymerdelim). |
| Flechas curvas | Flechas de dos electrones y flechas de anzuelo de un electrón entre átomos y enlaces con nombre (\chemmove). |
Al pegar, MolDraw también entiende \definesubmol con !{name}, un ángulo inicial como \chemfig{[:30]…}, enlaces invisibles (draw=none), flechas en ángulo como \arrow{->}[-90] (el siguiente compuesto va debajo), \subscheme y nombres de colores como red y blue.
Lo que chemfig no puede contener
Algunos elementos de un lienzo de MolDraw no tienen equivalente en chemfig: imágenes pegadas, formas y material de vidrio de laboratorio, trazos a mano alzada, orbitales, rellenos de anillos y resaltados. Se omiten en la exportación, y la barra de avisos te dice qué se ha omitido tras cada descarga o copia, para que nada desaparezca sin aviso.
Las flechas de esquema curvas o en forma de S se convierten en flechas rectas de chemfig. El texto colocado al lado del dibujo (no encima ni debajo) se conserva como comentario % en el archivo.
Referencia rápida de chemfig
Las piezas de la sintaxis de chemfig que encontrarás más a menudo, y lo que dibuja MolDraw para cada una:
A-B=C~D | Enlaces sencillos, dobles y triples. Sin ángulo, los enlaces van hacia la derecha. |
|---|---|
-[2], -[:30], -[::60] | Ángulo en pasos de 45°, ángulo absoluto o ángulo relativo al enlace anterior. |
-[:30,1.5] | Ángulo y factor de longitud (1,5 veces la longitud normal del enlace). |
< <: > >: | Enlaces en cuña y discontinuos. < es estrecho en el átomo desde el que empiezas. |
C(-[2]H)(-[6]H) | Ramificaciones entre paréntesis. |
*6(=-=-=-) | Un anillo de seis miembros, aquí el benceno. **6(------) dibuja un círculo dentro; MolDraw lo lee como un anillo de benceno con dobles enlaces alternos. |
?[a] … ?[a] | Un gancho: une los dos átomos que llevan la misma letra (cierra un anillo). |
=^, =_ | Doble enlace con la segunda línea a la izquierda o a la derecha del sentido de avance. |
\charge{90=\:}{O} | Un par solitario a 90° sobre el O. \. es un electrón solo. |
@{a1} | Da nombre a un átomo o enlace para que \chemmove pueda dibujar una flecha hasta él. |
\arrow{->[above][below]} | Una flecha de esquema con texto encima y debajo. |
Solución de problemas
- No pasa nada al pegar. El texto debe contener
\chemfigo\schemestart. Haz clic antes en el lienzo, para que lo pegado vaya al dibujo y no a un cuadro de texto. - Las flechas curvas quedan en el lugar equivocado en el PDF. Compila una segunda vez.
- “I do not know the key /tikz/Stealth”. Añade
\usetikzlibrary{arrows.meta,decorations.pathmorphing}a tu preámbulo. - Una estructura se ve aplastada tras pegarla. Si el chemfig coloca dos átomos en el mismo punto, MolDraw vuelve a distribuir la estructura y lo indica en la barra de avisos. Usa el botón de limpieza para ordenarla.
- “B” o “D” se convirtieron en boro o deuterio. MolDraw lee las etiquetas de los átomos como química. Las letras de ejemplo del manual de chemfig se leen como elementos cuando existe uno con ese símbolo.
Preguntas y respuestas
¿Puedo convertir código chemfig en un dibujo?
Sí. Pega código \chemfig{…}, un esquema \schemestart o un archivo .tex completo en el lienzo de MolDraw. MolDraw lee los enlaces, ángulos, anillos, cargas, pares solitarios, flechas, nombres de compuestos y flechas curvas \chemmove y los dibuja.
¿MolDraw puede exportar código chemfig?
Sí. Download → chemfig (.tex) guarda un archivo LaTeX independiente, y Copy as chemfig (LaTeX) copia solo el código del dibujo para tu propio documento. El código compila con pdflatex y lualatex.
¿Qué paquetes de LaTeX necesito?
chemfig, además de las bibliotecas de TikZ arrows.meta y decorations.pathmorphing: \usepackage{chemfig} y \usetikzlibrary{arrows.meta,decorations.pathmorphing}. El archivo descargado ya contiene estas líneas.
¿Por qué mis flechas curvas quedan en el lugar equivocado tras compilar?
El \chemmove de chemfig dibuja las flechas curvas a partir de posiciones guardadas en la primera compilación de LaTeX. Compila el archivo una segunda vez y las flechas quedarán sobre sus átomos y enlaces.
¿Puedo convertir un archivo de ChemDraw o MOL en chemfig?
Sí. Abre el archivo MOL, SDF, CDXML o CDX en MolDraw, o pega un SMILES, y elige Download → chemfig (.tex).
¿Qué no se convierte a chemfig?
Las imágenes, formas y material de vidrio, los trazos a mano alzada, los orbitales, los rellenos de anillos y los resaltados no tienen equivalente en chemfig. MolDraw indica en la barra de avisos todo lo que ha omitido después de descargar o copiar.
¿Es gratis?
Sí. Pegar chemfig y editarlo es gratis en el navegador. Descargar archivos requiere una cuenta gratuita de MolDraw.