chemfig ve MolDraw: chemfig Yapıştırın, Görsel Olarak Düzenleyin, LaTeX'e Aktarın
Kısa yanıt: \chemfig{…} kodunuzu (ya da bütün bir \schemestart … \schemestop şemasını veya .tex dosyasının tamamını) kopyalayın, MolDraw editörünü açın ve Ctrl+V'ye basın. MolDraw onu kıvrık oklar dahil çizer. Fareyle düzenleyin, ardından pdflatex ile derlenen bir dosya için Download → chemfig (.tex)'i ya da tezinize veya makalenize yapıştıracağınız kod için Copy as chemfig (LaTeX)'i seçin.
Kimler için
chemfig, LaTeX içinde molekül çizmenin standart yoludur. Çıktısı güzeldir ve metninizle aynı dosyada yaşar, ancak yazması yavaştır. -[:30] ve =[::-60] yazarsınız, derlersiniz, bakarsınız ve bir açıyı düzeltirsiniz. Başkasının chemfig kodunu düzeltmek daha da zordur ve \chemmove içindeki bir kıvrık ok çok sayıda deneme gerektirebilir.
MolDraw artık chemfig okuyup yazabiliyor. Biçiminiz olarak chemfig'i korursunuz ve çizim için bir tuval kullanırsınız:
- Bir chemfig parçasının ne çizdiğini derlemeden görün.
- Fareyle düzeltin: bir atomu taşıyın, bir çift bağı çevirin, bir yük veya kıvrık ok ekleyin.
- Ekranda gördüğünüz açılarla pdflatex ile derlenen chemfig kodunu geri alın.
- Başka biçimlerden başlayın (SMILES, MOL, ChemDraw dosyaları, bir bileşik adı) ve chemfig elde edin.
Her şey tarayıcınızda çalışır. Kodunuz dönüştürülmek üzere bir sunucuya gönderilmez.
chemfig kodunu tuvale yapıştırın
- Kodu editörünüzden veya Overleaf'ten kopyalayın. Tek bir
\chemfig{…}, birkaç tane, bir\schemestart … \schemestopbloğu veya eksiksiz bir belge çalışır. - MolDraw editörünü açın, tuvalin boş bir yerine tıklayın ve Ctrl+V'ye (Mac'te Cmd+V) basın. Paste düğmesini veya sağ tık → Paste'i de kullanabilirsiniz.
- Çizim, tuvalde zaten bulunanların yanında seçili olarak görünür. İstediğiniz yere sürükleyin.
Bu şemayla deneyin:
\schemestart
\chemname{\chemfig{*6(=-=-=-)}}{benzene}
\+
\chemfig{Br-Br}
\arrow{->[FeBr$_3$][CH$_2$Cl$_2$]}
\chemname{\chemfig{*6(=-=(-Br)-=-)}}{bromobenzene}
\schemestop
MolDraw yazdığınız bağ açılarını ve uzunluklarını korur, böylece çizim PDF'inizdekiyle aynı şekle sahip olur. H_3C, NH_2 veya {CO_2Me} gibi etiketler, yükler, \lewis ya da \charge ile verilen ortaklanmamış çiftler ve @{name} düğümleri olduğu gibi aktarılır.
Herhangi bir çizim gibi düzenleyin
Yapıştırılan çizim normal bir MolDraw yapısıdır, bu yüzden her araç üzerinde çalışır:
- atomları sürükleyin veya bir grubu seçip döndürün;
- bir bağın üzerine gelip tekli, ikili veya üçlü yapmak için 1, 2 ya da 3'e basın; ikinci çizgisini diğer tarafa taşımak için çift bağ aracıyla bir çift bağa tıklayın;
- araç çubuğundan veya sağ tık menüsünden yükler, ortaklanmamış çiftler ve radikaller ekleyin;
- ok aracıyla kıvrık oklar ve olta ucu oklar çizin. Bunlar ortaklanmamış çiftlere, bağlara ve yüklere bağlanır ve atomları taşıdığınızda bağlı kalır;
- bir tepkime okunun üstündeki ve altındaki metne çift tıklayarak düzenleyin.
chemfig'in veremediği kimya kontrollerini de alırsınız: değerlik uyarıları, formül ve kütle, SMILES ve her yapının 3B görünümü.
chemfig'i yeniden LaTeX'e aktarın
İki çıkış yolu var:
- Download → chemfig (.tex) eksiksiz, bağımsız bir LaTeX dosyası kaydeder. Çizimin PDF'ini almak için tek başına derleyin veya bu PDF'i
\includegraphicsile belgenize ekleyin. - Copy as chemfig (LaTeX) (Copy menüsünde ve sağ tık Copy as menüsünde)
\documentclassolmadan yalnızca çizim kodunu kopyalar. Doğrudan tezinize veya makalenize yapıştırın.
Kopyalanan kod için bu iki satırı önsözünüze (preamble) bir kez ekleyin:
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
Bir çizimde kıvrık oklar veya polimer parantezleri varsa iki kez derleyin. chemfig bunları ilk çalıştırmada kaydettiği konumlardan çizer. Önce tuvalin bir kısmını seçerseniz yalnızca seçim dışa aktarılır.
Dışa aktarılan kod nasıl görünür
MolDraw'un ilk ekran görüntüsündeki SN2 şeması için yazdığı dosya şudur:
% 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}
Dikkat edilecek birkaç nokta:
- Bağlar mutlak açılar (
-[:90]) kullanır, böylece her bağ tuvaldekiyle aynı yöne bakar. Standart uzunlukta olmayan bir bağ-[:30,1.2]gibi bir uzunluk çarpanı alır. - Kıvrık okun dokunduğu atomlar ve bağlar düğüm adları (
@{a1},@{b1}) alır.\chemmoveher oku bunlar arasında, tuvaldeki eğriyle eşleşen birbendaçısıyla çizer. - Bileşik adları yapıların altında durur ve altta kavis yapan kıvrık oklar için yer bırakılır.
- Halka bağları kancalarla (
?[a]) kapatılır ve her çift bağ=^veya=_alır; böylece ikinci çizgisi MolDraw'dakiyle aynı tarafta, halkalarda halkanın içinde olur.
SMILES, MOL veya ChemDraw dosyalarından chemfig elde edin
MolDraw birçok biçimi okuduğu için aynı zamanda bir chemfig dönüştürücüsü olarak da çalışır:
- Yapıyı içeri alın: SMILES veya InChI yapıştırın, PubChem kutusunda bir bileşik adı arayın ya da bir MOL, SDF, RXN, CDXML veya CDX (ChemDraw) dosyası açın.
- Gerekirse düzenleyin. Temizleme ve döndürme araç çubuğundadır.
- Download → chemfig (.tex)'i seçin.
Bir dizi ChemDraw şeklini LaTeX tezine taşımanın en hızlı yolu budur: her dosyayı açın ve chemfig olarak indirin.
Tepkime mekanizmaları ve kıvrık oklar
Kıvrık oklar, chemfig'in elle yazılması en zor kısmıdır. MolDraw'da bunları fareyle çizersiniz ya da yapay zekâ asistanından bir mekanizma çizmesini istersiniz; dışa aktarma @{…} adlarını ve \chemmove bloğunu sizin için yazar.
Zaten \chemmove okları içeren chemfig kodunu yapıştırdığınızda MolDraw her okun hangi atomları veya bağları birleştirdiğini ve bend değerinin hangi tarafa kıvrıldığını okur. Ardından oku kendi çizim kurallarına göre yerleştirir: kuyruk ortaklanmamış çift, yük veya bağ üzerinde başlar, uç ise hedefinin hemen önünde durur. TikZ eğrisini birebir kopyalamanız gerekmez.
Eksiksiz çözümlü örnekler için chemfig mekanizma örneklerine bakın: olta ucu oklu radikal zincir tepkimeleri ve çok adımlı polar mekanizmalar, her biri indirilebilir bir .tex dosyası olarak.
Yapay zekâ asistanına sorun
Editördeki sohbet asistanı chemfig'i bilir. Örneğin şunları sorabilirsiniz:
- “Export this as chemfig.” (Bunu chemfig olarak dışa aktar.) Tuvaldekinin kodunu döndürür.
- “Draw this:
\chemfig{H_3C-C(=[:60]O)-[:-60]OH}.” (Bunu çiz.) Yapıyı tuvale yerleştirir. - “Asit katalizli ester hidrolizinin mekanizmasını çiz, sonra bana chemfig kodunu ver.”
İki yönde de aktarılanlar
Aşağıdaki her öğe dışa aktarılmış, pdflatex ile derlenmiş, MolDraw'a geri okunmuş ve özgün çizimle karşılaştırılmıştır.
| Bağlar | Tekli -, ikili =, üçlü ~; Kekulé biçiminde aromatik halkalar; bir çift bağın ikinci çizgisinin tarafı (=^ / =_); yönleriyle kama ve kesikli bağlar (< > <: >:). |
|---|---|
| Bağ stilleri | Bağ üzerinde TikZ seçenekleri olarak yazılan dalgalı, kalın, noktalı ve datif bağlar ile bağ renkleri. |
| Atomlar | Örtük H içeren etiketler, kısaltılmış gruplar (CO2Me, Ph), yükler, daire içinde yükler (\oplus), izotoplar, D ve T, ortaklanmamış çiftler ve radikal noktaları (\charge, \lewis), atom renkleri. |
| Halkalar | Her türlü halka ve kaynaşık halkalar; içe aktarmada ayrıca *6(…), **6(…) ve iç içe halkalar. |
| Şemalar | ->, <-, denge <=>, yarım denge <->>, rezonans <->, retrosentez okları; birkaç satırda üstte ve altta koşullar; \+; \chemname; birkaç satıra sarılmış şemalar. |
| Metin | Şemanın üstünde bir başlık ve altında notlar. |
| Köşeli parantezler | ‡ işaretli geçiş hâli parantezleri (\chemleft[ … \chemright]) ve polimer tekrar birimleri (\polymerdelim). |
| Kıvrık oklar | Adlandırılmış atomlar ve bağlar arasında iki elektronlu oklar ve tek elektronlu olta ucu oklar (\chemmove). |
Yapıştırırken MolDraw ayrıca !{name} ile \definesubmol'u, \chemfig{[:30]…} gibi bir başlangıç açısını, görünmez bağları (draw=none), \arrow{->}[-90] gibi açılı okları (sonraki bileşik aşağıya gider), \subscheme'i ve red ile blue gibi renk adlarını da anlar.
chemfig'in tutamadıkları
MolDraw tuvalindeki bazı şeylerin chemfig karşılığı yoktur: yapıştırılmış görüntüler, şekiller ve laboratuvar cam malzemeleri, serbest el çizgileri, orbitaller, halka dolguları ve vurgulamalar. Bunlar dışa aktarmanın dışında bırakılır ve ipucu çubuğu her indirme veya kopyalamadan sonra neyin dışarıda kaldığını söyler; böylece hiçbir şey habersizce kaybolmaz.
Kavisli veya S biçimli şema okları düz chemfig oklarına dönüşür. Çizimin yanına (üstüne veya altına değil) yerleştirilen metin, dosyada bir % yorumu olarak tutulur.
chemfig hızlı başvuru
En sık karşılaşacağınız chemfig sözdizimi parçaları ve MolDraw'un her biri için çizdikleri:
A-B=C~D | Tekli, ikili ve üçlü bağlar. Açı verilmezse bağlar sağa doğru gider. |
|---|---|
-[2], -[:30], -[::60] | 45°'lik adımlarla açı, mutlak açı veya önceki bağa göre açı. |
-[:30,1.5] | Açı ve uzunluk çarpanı (normal bağ uzunluğunun 1,5 katı). |
< <: > >: | Kama ve kesikli bağlar. <, başladığınız atomda dardır. |
C(-[2]H)(-[6]H) | Parantez içinde dallar. |
*6(=-=-=-) | Altı üyeli bir halka, burada benzen. **6(------) içine bir daire çizer; MolDraw bunu dönüşümlü çift bağlı bir benzen halkası olarak okur. |
?[a] … ?[a] | Bir kanca: aynı harfi taşıyan iki atomu bağlar (halkayı kapatır). |
=^, =_ | İkinci çizgisi ilerleme yönünün solunda veya sağında olan çift bağ. |
\charge{90=\:}{O} | O üzerinde 90°'de bir ortaklanmamış çift. \. tek bir elektrondur. |
@{a1} | \chemmove ona ok çizebilsin diye bir atomu veya bağı adlandırır. |
\arrow{->[above][below]} | Üstünde ve altında metin bulunan bir şema oku. |
Sorun giderme
- Yapıştırınca hiçbir şey olmuyor. Metin
\chemfigveya\schemestartiçermelidir. Yapıştırma bir metin kutusuna değil çizime gitsin diye önce tuvale tıklayın. - Kıvrık oklar PDF'te yanlış yerde. İkinci kez derleyin.
- “I do not know the key /tikz/Stealth”. Önsözünüze
\usetikzlibrary{arrows.meta,decorations.pathmorphing}ekleyin. - Yapıştırdıktan sonra bir yapı ezilmiş görünüyor. chemfig iki atomu aynı noktaya koyuyorsa MolDraw yapıyı yeniden düzenler ve bunu ipucu çubuğunda belirtir. Düzeltmek için temizleme düğmesini kullanın.
- “B” veya “D” bora ya da döteryuma dönüştü. MolDraw atom etiketlerini kimya olarak okur. chemfig kılavuzundaki yer tutucu harfler, karşılık gelen bir element varsa element olarak okunur.
Sorular ve yanıtlar
chemfig kodunu bir çizime dönüştürebilir miyim?
Evet. \chemfig{…} kodunu, bir \schemestart şemasını veya bütün bir .tex dosyasını MolDraw tuvaline yapıştırın. MolDraw bağları, açıları, halkaları, yükleri, ortaklanmamış çiftleri, okları, bileşik adlarını ve \chemmove kıvrık oklarını okur ve çizer.
MolDraw chemfig kodu dışa aktarabilir mi?
Evet. Download → chemfig (.tex) bağımsız bir LaTeX dosyası kaydeder; Copy as chemfig (LaTeX) ise kendi belgeniz için yalnızca çizim kodunu kopyalar. Kod pdflatex ve lualatex ile derlenir.
Hangi LaTeX paketlerine ihtiyacım var?
chemfig ile birlikte TikZ kütüphaneleri arrows.meta ve decorations.pathmorphing: \usepackage{chemfig} ve \usetikzlibrary{arrows.meta,decorations.pathmorphing}. İndirilen dosya bu satırları zaten içerir.
Derlemeden sonra kıvrık oklarım neden yanlış yerde?
chemfig'in \chemmove komutu kıvrık okları ilk LaTeX çalıştırmasında kaydedilen konumlardan çizer. Dosyayı ikinci kez derleyin; oklar atomlarına ve bağlarına oturur.
Bir ChemDraw veya MOL dosyasını chemfig'e dönüştürebilir miyim?
Evet. MOL, SDF, CDXML veya CDX dosyasını MolDraw'da açın ya da SMILES yapıştırın, ardından Download → chemfig (.tex) seçin.
chemfig'e neler dönüştürülemez?
Görüntülerin, şekillerin ve cam malzemelerin, serbest el çizgilerinin, orbitallerin, halka dolgularının ve vurgulamaların chemfig karşılığı yoktur. MolDraw, indirme veya kopyalamadan sonra dışarıda bıraktığı her şeyi ipucu çubuğunda listeler.
Ücretsiz mi?
Evet. chemfig yapıştırmak ve düzenlemek tarayıcıda ücretsizdir. Dosya indirmek ücretsiz bir MolDraw hesabı gerektirir.