chemfig e MolDraw: incolla chemfig, modificalo visivamente, esporta in LaTeX
Risposta breve: copia il tuo codice \chemfig{…} (o un intero schema \schemestart … \schemestop, o il file .tex completo), apri l'editor MolDraw e premi Ctrl+V. MolDraw lo disegna, frecce curve comprese. Modificalo con il mouse, poi scegli Download → chemfig (.tex) per un file che compila con pdflatex, oppure Copy as chemfig (LaTeX) per avere codice da incollare nella tua tesi o nel tuo articolo.
A chi è rivolto
chemfig è il modo standard per disegnare molecole dentro LaTeX. Il risultato è bellissimo e sta nello stesso file del testo, ma scriverlo è lento. Digiti -[:30] e =[::-60], compili, guardi e correggi un angolo. Correggere il chemfig di qualcun altro è ancora più difficile, e una freccia curva in \chemmove può richiedere molti tentativi.
Ora MolDraw legge e scrive chemfig. Mantieni chemfig come formato e usi un'area di disegno per il disegno:
- Vedi cosa disegna uno snippet chemfig senza compilare.
- Correggilo con il mouse: sposta un atomo, inverti un doppio legame, aggiungi una carica o una freccia curva.
- Riottieni chemfig che compila con pdflatex, con gli stessi angoli che vedi sullo schermo.
- Parti da altri formati (SMILES, MOL, file ChemDraw, il nome di un composto) e ottieni chemfig in uscita.
Tutto funziona nel browser. Il tuo codice non viene inviato a un server per la conversione.
Incollare chemfig nell'area di disegno
- Copia il codice dal tuo editor o da Overleaf. Funzionano un singolo
\chemfig{…}, più comandi, un blocco\schemestart … \schemestopo un documento completo. - Apri l'editor MolDraw, fai clic su una parte vuota dell'area di disegno e premi Ctrl+V (Cmd+V su Mac). Puoi anche usare il pulsante Paste o il clic destro → Paste.
- Il disegno compare selezionato, accanto a quanto già presente nell'area di disegno. Trascinalo dove vuoi.
Provalo con questo schema:
\schemestart
\chemname{\chemfig{*6(=-=-=-)}}{benzene}
\+
\chemfig{Br-Br}
\arrow{->[FeBr$_3$][CH$_2$Cl$_2$]}
\chemname{\chemfig{*6(=-=(-Br)-=-)}}{bromobenzene}
\schemestop
MolDraw conserva gli angoli e le lunghezze di legame che hai scritto, quindi il disegno ha la stessa forma del tuo PDF. Etichette come H_3C, NH_2 o {CO_2Me}, cariche, doppietti liberi da \lewis o \charge e nodi @{name} vengono tutti mantenuti.
Modificalo come qualsiasi disegno
Il disegno incollato è una normale struttura MolDraw, quindi funzionano tutti gli strumenti:
- trascina gli atomi, oppure seleziona un gruppo e ruotalo;
- passa il mouse su un legame e premi 1, 2 o 3 per renderlo singolo, doppio o triplo, e fai clic su un doppio legame con lo strumento doppio legame per spostare la seconda linea dall'altro lato;
- aggiungi cariche, doppietti liberi e radicali dalla barra degli strumenti o dal menu del tasto destro;
- disegna frecce curve e frecce ad amo con lo strumento freccia. Si agganciano a doppietti liberi, legami e cariche e restano agganciate quando sposti gli atomi;
- modifica il testo sopra e sotto una freccia di reazione con un doppio clic.
Ottieni anche i controlli chimici che chemfig non può darti: avvisi di valenza, formula e massa, SMILES e una vista 3D di ogni struttura.
Esportare chemfig in LaTeX
Ci sono due modi per uscire:
- Download → chemfig (.tex) salva un file LaTeX completo e autonomo. Compilalo da solo per ottenere un PDF del disegno, oppure includi quel PDF nel tuo documento con
\includegraphics. - Copy as chemfig (LaTeX) (nel menu Copy e nel menu Copy as del tasto destro) copia solo il codice del disegno, senza
\documentclass. Incollalo direttamente nella tua tesi o nel tuo articolo.
Per il codice copiato, aggiungi una volta queste due righe al preambolo:
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
Se un disegno ha frecce curve o parentesi di polimero, compila due volte. chemfig le disegna a partire da posizioni che salva nella prima esecuzione. Se prima selezioni una parte dell'area di disegno, viene esportata solo la selezione.
Com'è fatto il codice esportato
Questo è il file che MolDraw scrive per lo schema SN2 della prima schermata:
% 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}
Alcune cose da notare:
- I legami usano angoli assoluti (
-[:90]), quindi ogni legame punta nella stessa direzione che nell'area di disegno. Un legame che non ha la lunghezza standard riceve un fattore di lunghezza come-[:30,1.2]. - Gli atomi e i legami toccati da una freccia curva ricevono nomi di nodo (
@{a1},@{b1}).\chemmovedisegna ogni freccia tra di essi, con un angolobendche corrisponde alla curva nell'area di disegno. - I nomi dei composti stanno sotto le strutture, lasciando spazio alle frecce curve che passano sotto.
- I legami degli anelli si chiudono con gli hook (
?[a]), e ogni doppio legame riceve=^o=_perché la seconda linea stia dallo stesso lato che in MolDraw, all'interno dell'anello per gli anelli.
Ottenere chemfig da SMILES, MOL o file ChemDraw
Poiché MolDraw legge molti formati, funziona anche come convertitore in chemfig:
- Importa la struttura: incolla SMILES o InChI, cerca il nome di un composto nella casella PubChem oppure apri un file MOL, SDF, RXN, CDXML o CDX (ChemDraw).
- Riordinala se serve. Clean-up e rotazione sono nella barra degli strumenti.
- Scegli Download → chemfig (.tex).
È il modo più rapido per portare una serie di figure ChemDraw in una tesi LaTeX: apri ogni file e scaricalo come chemfig.
Meccanismi di reazione e frecce curve
Le frecce curve sono la parte di chemfig più difficile da scrivere a mano. In MolDraw le disegni con il mouse, oppure chiedi all'assistente IA di disegnare un meccanismo, e l'esportazione scrive per te i nomi @{…} e il blocco \chemmove.
Quando incolli chemfig che contiene già frecce \chemmove, MolDraw legge quali atomi o legami unisce ogni freccia e verso quale lato curva il suo bend. Poi posiziona la freccia secondo le proprie regole di disegno: la coda parte dal doppietto libero, dalla carica o dal legame, e la punta si ferma poco prima del bersaglio. Non devi copiare l'esatta curva TikZ.
Per esempi completi, vedi gli esempi di meccanismi in chemfig: reazioni radicaliche a catena con frecce ad amo e meccanismi polari in più stadi, ciascuno come file .tex scaricabile.
Chiedi all'assistente IA
L'assistente chat dell'editor conosce chemfig. Per esempio, puoi chiedere:
- “Esporta questo come chemfig.” Restituisce il codice di ciò che c'è nell'area di disegno.
- “Disegna questo:
\chemfig{H_3C-C(=[:60]O)-[:-60]OH}.” Mette la struttura nell'area di disegno. - “Disegna il meccanismo dell'idrolisi acido-catalizzata di un estere, poi dammi il chemfig.”
Cosa si conserva in entrambe le direzioni
Ogni voce qui sotto viene esportata, compilata con pdflatex, riletta in MolDraw e confrontata con il disegno originale.
| Legami | Singolo -, doppio =, triplo ~; anelli aromatici in forma di Kekulé; il lato della seconda linea di un doppio legame (=^ / =_); legami a cuneo e tratteggiati con la loro direzione (< > <: >:). |
|---|---|
| Stili dei legami | Legami ondulati, in grassetto, punteggiati e dativi, e colori dei legami, scritti come opzioni TikZ sul legame. |
| Atomi | Etichette con H implicito, gruppi condensati (CO2Me, Ph), cariche, cariche cerchiate (\oplus), isotopi, D e T, doppietti liberi e puntini radicalici (\charge, \lewis), colori degli atomi. |
| Anelli | Qualsiasi anello e anelli condensati; in importazione anche *6(…), **6(…) e anelli annidati. |
| Schemi | ->, <-, equilibrio <=>, mezzo equilibrio <->>, risonanza <->, frecce retrosintetiche; condizioni sopra e sotto su più righe; \+; \chemname; schemi distribuiti su più righe. |
| Testo | Un titolo sopra lo schema e note sotto. |
| Parentesi quadre | Parentesi di stato di transizione con ‡ (\chemleft[ … \chemright]) e unità ripetitive di polimero (\polymerdelim). |
| Frecce curve | Frecce a due elettroni e frecce ad amo a un elettrone tra atomi e legami con nome (\chemmove). |
Quando incolli, MolDraw capisce anche \definesubmol con !{name}, un angolo di partenza come \chemfig{[:30]…}, legami invisibili (draw=none), frecce inclinate come \arrow{->}[-90] (il composto successivo va sotto), \subscheme e nomi di colori come red e blue.
Cosa chemfig non può contenere
Alcuni elementi di un'area di disegno MolDraw non hanno forma chemfig: immagini incollate, forme e vetreria di laboratorio, tratti a mano libera, orbitali, riempimenti degli anelli ed evidenziazioni. Vengono esclusi dall'esportazione, e dopo ogni download o copia la barra dei suggerimenti ti dice cosa è stato escluso, così nulla sparisce senza avviso.
Le frecce di schema curve o a S diventano frecce chemfig dritte. Il testo posto accanto al disegno (non sopra o sotto) viene conservato come commento % nel file.
Riferimento rapido di chemfig
Gli elementi di sintassi chemfig che incontrerai più spesso e cosa disegna MolDraw per ciascuno:
A-B=C~D | Legami singoli, doppi e tripli. Senza angolo, i legami vanno verso destra. |
|---|---|
-[2], -[:30], -[::60] | Angolo a passi di 45°, angolo assoluto o angolo relativo al legame precedente. |
-[:30,1.5] | Angolo e fattore di lunghezza (1,5 volte la lunghezza di legame normale). |
< <: > >: | Legami a cuneo e tratteggiati. < è stretto sull'atomo da cui parti. |
C(-[2]H)(-[6]H) | Ramificazioni tra parentesi. |
*6(=-=-=-) | Un anello a sei termini, qui il benzene. **6(------) disegna un cerchio all'interno; MolDraw lo legge come un anello benzenico con doppi legami alternati. |
?[a] … ?[a] | Un hook: lega i due atomi che portano la stessa lettera (chiude un anello). |
=^, =_ | Doppio legame con la seconda linea a sinistra o a destra rispetto alla direzione di percorrenza. |
\charge{90=\:}{O} | Un doppietto libero a 90° su O. \. è un singolo elettrone. |
@{a1} | Dà un nome a un atomo o a un legame così che \chemmove possa disegnarvi una freccia. |
\arrow{->[above][below]} | Una freccia di schema con testo sopra e sotto. |
Risoluzione dei problemi
- Quando incollo non succede nulla. Il testo deve contenere
\chemfigo\schemestart. Fai prima clic nell'area di disegno, così l'incolla va al disegno e non a una casella di testo. - Le frecce curve sono nel posto sbagliato nel PDF. Compila una seconda volta.
- “I do not know the key /tikz/Stealth”. Aggiungi
\usetikzlibrary{arrows.meta,decorations.pathmorphing}al preambolo. - Una struttura sembra schiacciata dopo l'incolla. Se il chemfig mette due atomi nello stesso punto, MolDraw ridispone la struttura e lo segnala nella barra dei suggerimenti. Usa il pulsante di clean-up per riordinarla.
- “B” o “D” sono diventati boro o deuterio. MolDraw legge le etichette degli atomi come chimica. Le lettere segnaposto del manuale di chemfig vengono lette come elementi quando ne esiste uno.
Domande e risposte
Posso convertire codice chemfig in un disegno?
Sì. Incolla codice \chemfig{…}, uno schema \schemestart o un intero file .tex nell'area di disegno di MolDraw. MolDraw legge legami, angoli, anelli, cariche, doppietti liberi, frecce, nomi dei composti e frecce curve \chemmove e li disegna.
MolDraw può esportare codice chemfig?
Sì. Download → chemfig (.tex) salva un file LaTeX autonomo, e Copy as chemfig (LaTeX) copia solo il codice del disegno per il tuo documento. Il codice compila con pdflatex e lualatex.
Quali pacchetti LaTeX mi servono?
chemfig, più le librerie TikZ arrows.meta e decorations.pathmorphing: \usepackage{chemfig} e \usetikzlibrary{arrows.meta,decorations.pathmorphing}. Il file scaricato contiene già queste righe.
Perché dopo la compilazione le frecce curve sono nel posto sbagliato?
Il comando \chemmove di chemfig disegna le frecce curve a partire da posizioni salvate nella prima esecuzione di LaTeX. Compila il file una seconda volta e le frecce si posizionano sui loro atomi e legami.
Posso trasformare un file ChemDraw o MOL in chemfig?
Sì. Apri il file MOL, SDF, CDXML o CDX in MolDraw, oppure incolla uno SMILES, poi scegli Download → chemfig (.tex).
Cosa non si converte in chemfig?
Immagini, forme e vetreria, tratti a mano libera, orbitali, riempimenti degli anelli ed evidenziazioni non hanno una forma chemfig. Dopo il download o la copia, MolDraw elenca nella barra dei suggerimenti tutto ciò che ha escluso.
È gratuito?
Sì. Incollare e modificare chemfig è gratuito nel browser. Per scaricare file serve un account MolDraw gratuito.