chemfig กับ MolDraw: วาง chemfig แก้ไขด้วยภาพ แล้วส่งออก LaTeX

เผยแพร่: 17 ต.ค. 2026 · ผู้เขียน: Scidart Academy · เวลาอ่าน: ~9 นาที
โค้ด chemfig ของคาเฟอีนในแผงโค้ดสีเข้ม ข้างโครงสร้างคาเฟอีนที่ MolDraw วาดจากโค้ดนั้น พร้อมป้าย Paste chemfig และ Download .tex
วาง chemfig เพื่อวาดออกมา แก้ไขบนแคนวาส แล้วดาวน์โหลดกลับเป็นไฟล์ .tex

คำตอบสั้น ๆ: คัดลอกโค้ด \chemfig{…} ของคุณ (หรือแผนภาพ \schemestart … \schemestop ทั้งชุด หรือไฟล์ .tex ทั้งไฟล์) เปิดตัวแก้ไข MolDraw แล้วกด Ctrl+V MolDraw จะวาดออกมารวมถึงลูกศรโค้ง แก้ไขด้วยเมาส์ แล้วเลือก Download → chemfig (.tex) เพื่อรับไฟล์ที่คอมไพล์ด้วย pdflatex ได้ หรือ Copy as chemfig (LaTeX) เพื่อรับโค้ดไปวางในวิทยานิพนธ์หรือบทความของคุณ

เหมาะกับใคร

chemfig เป็นวิธีมาตรฐานในการวาดโมเลกุลภายใน LaTeX ผลลัพธ์สวยงามและอยู่ในไฟล์เดียวกับเนื้อหาของคุณ แต่เขียนได้ช้า คุณพิมพ์ -[:30] และ =[::-60] คอมไพล์ ดูผล แล้วปรับมุม การแก้ chemfig ของคนอื่นยิ่งยากกว่า และลูกศรโค้งใน \chemmove อาจต้องลองหลายครั้ง

ตอนนี้ MolDraw อ่านและเขียน chemfig ได้แล้ว คุณยังใช้ chemfig เป็นรูปแบบหลักได้ และใช้แคนวาสสำหรับการวาด:

  • ดูว่าโค้ด chemfig วาดอะไรออกมาโดยไม่ต้องคอมไพล์
  • แก้ด้วยเมาส์: ย้ายอะตอม พลิกพันธะคู่ เพิ่มประจุหรือลูกศรโค้ง
  • ได้ chemfig กลับมาที่คอมไพล์ด้วย pdflatex ได้ โดยมีมุมเดียวกับที่เห็นบนหน้าจอ
  • เริ่มจากรูปแบบอื่น (SMILES, MOL, ไฟล์ ChemDraw, ชื่อสารประกอบ) แล้วได้ chemfig ออกมา

ทุกอย่างทำงานในเบราว์เซอร์ของคุณ โค้ดของคุณไม่ถูกส่งไปยังเซิร์ฟเวอร์เพื่อแปลง

วาง chemfig ลงบนแคนวาส

ตัวแก้ไข MolDraw แสดงแผนภาพ SN2 ที่วางจาก chemfig: ไฮดรอกไซด์บวกโบรโมมีเทน ลูกศรปฏิกิริยาที่มีป้าย SN2 เหนือ acetone เมทานอลบวกโบรไมด์ พร้อมลูกศรโค้งสองอันและชื่อใต้สารประกอบแต่ละตัว
แผนภาพ chemfig ที่วางด้วย Ctrl+V ชื่อสาร ข้อความบนลูกศร และลูกศรโค้งทั้งสองถูกนำมาครบ
  1. คัดลอกโค้ดจากเอดิเตอร์ของคุณหรือ Overleaf ใช้ได้ทั้ง \chemfig{…} เดี่ยว หลายคำสั่ง บล็อก \schemestart … \schemestop หรือเอกสารฉบับสมบูรณ์
  2. เปิดตัวแก้ไข MolDraw คลิกส่วนที่ว่างของแคนวาสแล้วกด Ctrl+V (Cmd+V บน Mac) หรือใช้ปุ่ม Paste หรือคลิกขวา → Paste ก็ได้
  3. ภาพวาดจะปรากฏในสถานะถูกเลือก ข้างสิ่งที่อยู่บนแคนวาสอยู่แล้ว ลากไปวางตรงที่ต้องการ

ลองกับแผนภาพนี้:

\schemestart
  \chemname{\chemfig{*6(=-=-=-)}}{benzene}
  \+
  \chemfig{Br-Br}
  \arrow{->[FeBr$_3$][CH$_2$Cl$_2$]}
  \chemname{\chemfig{*6(=-=(-Br)-=-)}}{bromobenzene}
\schemestop

MolDraw คงมุมและความยาวพันธะที่คุณเขียนไว้ ภาพวาดจึงมีรูปร่างเหมือนใน PDF ของคุณ ป้ายกำกับอย่าง H_3C, NH_2 หรือ {CO_2Me} ประจุ อิเล็กตรอนคู่โดดเดี่ยวจาก \lewis หรือ \charge และโหนด @{name} จะถูกนำมาทั้งหมด

แก้ไขเหมือนภาพวาดทั่วไป

ภาพวาดที่วางเป็นโครงสร้าง MolDraw ปกติ เครื่องมือทุกอย่างจึงใช้ได้:

  • ลากอะตอม หรือเลือกหมู่แล้วหมุน
  • ชี้ที่พันธะแล้วกด 1, 2 หรือ 3 เพื่อทำให้เป็นพันธะเดี่ยว คู่ หรือสาม และคลิกพันธะคู่ด้วยเครื่องมือพันธะคู่เพื่อย้ายเส้นที่สองไปอีกด้าน
  • เพิ่มประจุ อิเล็กตรอนคู่โดดเดี่ยว และอนุมูลจากแถบเครื่องมือหรือเมนูคลิกขวา
  • วาดลูกศรโค้งและลูกศรเบ็ดตกปลาด้วยเครื่องมือลูกศร ลูกศรจะยึดกับอิเล็กตรอนคู่โดดเดี่ยว พันธะ และประจุ และยังติดอยู่เมื่อคุณย้ายอะตอม
  • แก้ไขข้อความเหนือและใต้ลูกศรปฏิกิริยาด้วยการดับเบิลคลิก

คุณยังได้การตรวจสอบทางเคมีที่ chemfig ให้ไม่ได้: คำเตือนเรื่องเวเลนซ์ สูตรและมวล SMILES และมุมมอง 3 มิติของแต่ละโครงสร้าง

ส่งออก chemfig กลับเป็น LaTeX

เมนู Download ของ MolDraw เปิดอยู่ พร้อมกลุ่ม Image, Chemistry และ Text รายการสุดท้ายในกลุ่ม Text คือ chemfig .tex ถูกไฮไลต์ไว้
Download → chemfig (.tex) อยู่ท้ายกลุ่ม Text

มีสองวิธีในการส่งออก:

  • Download → chemfig (.tex) บันทึกไฟล์ LaTeX แบบสแตนด์อโลนที่สมบูรณ์ คอมไพล์แยกเพื่อได้ PDF ของภาพวาด หรือใส่ PDF นั้นในเอกสารของคุณด้วย \includegraphics
  • Copy as chemfig (LaTeX) (ในเมนู Copy และในเมนูคลิกขวา Copy as) คัดลอกเฉพาะโค้ดภาพวาด ไม่มี \documentclass วางลงในวิทยานิพนธ์หรือบทความได้ทันที

สำหรับโค้ดที่คัดลอก ให้เพิ่มสองบรรทัดนี้ใน preamble หนึ่งครั้ง:

\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}

หากภาพวาดมีลูกศรโค้งหรือวงเล็บพอลิเมอร์ ให้คอมไพล์สองครั้ง chemfig วาดสิ่งเหล่านี้จากตำแหน่งที่บันทึกไว้ในการรันครั้งแรก หากคุณเลือกส่วนหนึ่งของแคนวาสก่อน จะส่งออกเฉพาะส่วนที่เลือก

หน้าตาของโค้ดที่ส่งออก

นี่คือไฟล์ที่ MolDraw เขียนสำหรับแผนภาพ SN2 ในภาพหน้าจอแรก:

% 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}

สิ่งที่ควรสังเกต:

  • พันธะใช้มุมสัมบูรณ์ (-[:90]) แต่ละพันธะจึงชี้ไปทางเดียวกับบนแคนวาส พันธะที่ไม่ใช่ความยาวมาตรฐานจะได้ตัวคูณความยาว เช่น -[:30,1.2]
  • อะตอมและพันธะที่ลูกศรโค้งแตะจะได้ชื่อโหนด (@{a1}, @{b1}) \chemmove วาดลูกศรแต่ละอันระหว่างโหนดเหล่านั้น โดยมีมุม bend ที่ตรงกับความโค้งบนแคนวาส
  • ชื่อสารประกอบอยู่ใต้โครงสร้าง โดยเว้นที่ไว้สำหรับลูกศรโค้งที่โค้งลงด้านล่าง
  • พันธะในวงปิดด้วย hook (?[a]) และพันธะคู่แต่ละพันธะได้ =^ หรือ =_ เพื่อให้เส้นที่สองอยู่ด้านเดียวกับใน MolDraw สำหรับวงแหวนคืออยู่ด้านในวง
ปฏิกิริยาการกำจัดแบบ E2 วาดสองแบบ: บนแคนวาสของ MolDraw ด้านบน และด้านล่างคือแผนภาพเดียวกันที่คอมไพล์ด้วย pdflatex จาก chemfig ที่ส่งออก โดยมีมุมพันธะ ลูกศรโค้ง ชื่อเรื่อง และสภาวะเหมือนกัน
การกำจัดแบบ E2 บนแคนวาส (บน) และ chemfig ที่ส่งออกแล้วคอมไพล์ด้วย pdflatex (ล่าง)

รับ chemfig จาก SMILES, MOL หรือไฟล์ ChemDraw

เนื่องจาก MolDraw อ่านได้หลายรูปแบบ จึงใช้เป็นตัวแปลงเป็น chemfigได้ด้วย:

  1. นำโครงสร้างเข้ามา: วาง SMILES หรือ InChI ค้นหาชื่อสารประกอบในช่อง PubChem หรือเปิดไฟล์ MOL, SDF, RXN, CDXML หรือ CDX (ChemDraw)
  2. จัดให้เรียบร้อยหากจำเป็น การจัดโครงสร้าง (Clean up) และการหมุนอยู่ในแถบเครื่องมือ
  3. เลือก Download → chemfig (.tex)

นี่คือวิธีที่เร็วที่สุดในการย้ายภาพ ChemDraw ทั้งชุดเข้าไปในวิทยานิพนธ์ LaTeX: เปิดแต่ละไฟล์แล้วดาวน์โหลดเป็น chemfig

กลไกปฏิกิริยาและลูกศรโค้ง

ลูกศรโค้งเป็นส่วนที่เขียนด้วยมือใน chemfig ยากที่สุด ใน MolDraw คุณวาดด้วยเมาส์ หรือขอให้ผู้ช่วย AI วาดกลไก แล้วการส่งออกจะเขียนชื่อ @{…} และบล็อก \chemmove ให้คุณ

เมื่อคุณวาง chemfig ที่มีลูกศร \chemmove อยู่แล้ว MolDraw จะอ่านว่าลูกศรแต่ละอันเชื่อมอะตอมหรือพันธะใด และ bend โค้งไปทางไหน แล้ววางลูกศรตามกฎการวาดของตัวเอง: หางเริ่มที่อิเล็กตรอนคู่โดดเดี่ยว ประจุ หรือพันธะ และหัวหยุดก่อนถึงเป้าหมายเล็กน้อย คุณไม่ต้องคัดลอกเส้นโค้ง TikZ ให้ตรงเป๊ะ

ตัวอย่างฉบับสมบูรณ์ดูได้ที่ตัวอย่างกลไกด้วย chemfig: ปฏิกิริยาลูกโซ่อนุมูลอิสระพร้อมลูกศรเบ็ดตกปลา และกลไกมีขั้วหลายขั้น แต่ละตัวอย่างเป็นไฟล์ .tex ที่ดาวน์โหลดได้

ถามผู้ช่วย AI

ผู้ช่วยแชตในตัวแก้ไขรู้จัก chemfig ตัวอย่างเช่น คุณถามได้ว่า:

  • “Export this as chemfig.” ผู้ช่วยจะส่งโค้ดของสิ่งที่อยู่บนแคนวาสกลับมา
  • “Draw this: \chemfig{H_3C-C(=[:60]O)-[:-60]OH}.” ผู้ช่วยจะวางโครงสร้างลงบนแคนวาส
  • “Draw the mechanism of acid-catalysed ester hydrolysis, then give me the chemfig.”

สิ่งที่แปลงได้ทั้งสองทิศทาง

แต่ละรายการด้านล่างถูกส่งออก คอมไพล์ด้วย pdflatex อ่านกลับเข้า MolDraw และตรวจเทียบกับภาพวาดต้นฉบับ

พันธะพันธะเดี่ยว - คู่ = สาม ~ วงอะโรมาติกในรูป Kekulé ด้านของเส้นที่สองของพันธะคู่ (=^ / =_) พันธะลิ่มทึบและลิ่มขีดพร้อมทิศทาง (< > <: >:)
รูปแบบพันธะพันธะหยัก หนา จุด และพันธะโคออร์ดิเนต รวมถึงสีพันธะ เขียนเป็นตัวเลือก TikZ บนพันธะ
อะตอมป้ายกำกับที่มี H แฝง หมู่แบบย่อ (CO2Me, Ph) ประจุ ประจุในวงกลม (\oplus) ไอโซโทป D และ T อิเล็กตรอนคู่โดดเดี่ยวและจุดอนุมูล (\charge, \lewis) และสีอะตอม
วงวงแหวนทุกแบบและวงเชื่อม เมื่อนำเข้ายังรองรับ *6(…), **6(…) และวงซ้อน
แผนภาพปฏิกิริยา->, <- สมดุล <=> สมดุลครึ่ง <->> เรโซแนนซ์ <-> ลูกศรการสังเคราะห์ย้อนกลับ สภาวะด้านบนและล่างหลายบรรทัด \+ \chemname และแผนภาพที่ตัดขึ้นหลายแถว
ข้อความชื่อเรื่องเหนือแผนภาพและหมายเหตุใต้แผนภาพ
วงเล็บเหลี่ยมวงเล็บสถานะทรานซิชันพร้อม ‡ (\chemleft[ … \chemright]) และหน่วยซ้ำของพอลิเมอร์ (\polymerdelim)
ลูกศรโค้งลูกศรสองอิเล็กตรอนและลูกศรเบ็ดตกปลาหนึ่งอิเล็กตรอนระหว่างอะตอมและพันธะที่ตั้งชื่อไว้ (\chemmove)

เมื่อคุณวาง MolDraw ยังเข้าใจ \definesubmol กับ !{name} มุมเริ่มต้นอย่าง \chemfig{[:30]…} พันธะที่มองไม่เห็น (draw=none) ลูกศรที่ทำมุม เช่น \arrow{->}[-90] (สารประกอบถัดไปอยู่ด้านล่าง) \subscheme และชื่อสีอย่าง red และ blue

สิ่งที่ chemfig เก็บไม่ได้

บางอย่างบนแคนวาสของ MolDraw ไม่มีรูปแบบใน chemfig: รูปภาพที่วาง รูปทรงและเครื่องแก้ว เส้นวาดอิสระ ออร์บิทัล การเติมสีในวง และไฮไลต์ สิ่งเหล่านี้จะถูกตัดออกจากการส่งออก และแถบคำแนะนำจะบอกว่าตัดอะไรออกหลังการดาวน์โหลดหรือคัดลอกแต่ละครั้ง จึงไม่มีอะไรหายไปโดยไม่แจ้ง

ลูกศรแผนภาพที่โค้งหรือเป็นรูปตัว S จะกลายเป็นลูกศร chemfig แบบตรง ข้อความที่วางข้างภาพวาด (ไม่ใช่ด้านบนหรือล่าง) จะถูกเก็บเป็นคอมเมนต์ % ในไฟล์

สรุปไวยากรณ์ chemfig โดยย่อ

ส่วนของไวยากรณ์ chemfig ที่คุณจะพบบ่อยที่สุด และสิ่งที่ MolDraw วาดสำหรับแต่ละแบบ:

A-B=C~Dพันธะเดี่ยว คู่ และสาม หากไม่ระบุมุม พันธะจะชี้ไปทางขวา
-[2], -[:30], -[::60]มุมแบบขั้นละ 45° มุมสัมบูรณ์ หรือมุมสัมพัทธ์กับพันธะก่อนหน้า
-[:30,1.5]มุมและตัวคูณความยาว (1.5 เท่าของความยาวพันธะปกติ)
< <: > >:พันธะลิ่มทึบและลิ่มขีด < แคบที่อะตอมที่คุณเริ่ม
C(-[2]H)(-[6]H)กิ่งอยู่ในวงเล็บ
*6(=-=-=-)วงหกเหลี่ยม ในที่นี้คือเบนซีน **6(------) วาดวงกลมด้านใน MolDraw อ่านเป็นวงเบนซีนที่มีพันธะคู่สลับ
?[a] … ?[a]hook: สร้างพันธะระหว่างอะตอมสองตัวที่มีตัวอักษรเดียวกัน (ปิดวง)
=^, =_พันธะคู่ที่มีเส้นที่สองอยู่ทางซ้ายหรือขวาของทิศทางการเดิน
\charge{90=\:}{O}อิเล็กตรอนคู่โดดเดี่ยวที่ 90° บน O \. คืออิเล็กตรอนเดี่ยว
@{a1}ตั้งชื่ออะตอมหรือพันธะเพื่อให้ \chemmove วาดลูกศรไปหาได้
\arrow{->[above][below]}ลูกศรแผนภาพพร้อมข้อความด้านบนและล่าง

การแก้ปัญหา

  • วางแล้วไม่มีอะไรเกิดขึ้น ข้อความต้องมี \chemfig หรือ \schemestart คลิกแคนวาสก่อน เพื่อให้การวางเข้าไปที่ภาพวาด ไม่ใช่กล่องข้อความ
  • ลูกศรโค้งอยู่ผิดตำแหน่งใน PDF คอมไพล์อีกครั้ง
  • “I do not know the key /tikz/Stealth” เพิ่ม \usetikzlibrary{arrows.meta,decorations.pathmorphing} ใน preamble ของคุณ
  • โครงสร้างดูบีบหลังวาง หาก chemfig วางอะตอมสองตัวที่จุดเดียวกัน MolDraw จะจัดเลย์เอาต์โครงสร้างใหม่และแจ้งในแถบคำแนะนำ ใช้ปุ่ม Clean up เพื่อจัดให้เรียบร้อย
  • “B” หรือ “D” กลายเป็นโบรอนหรือดิวเทอเรียม MolDraw อ่านป้ายกำกับอะตอมเป็นเคมี ตัวอักษรแทนที่จากคู่มือ chemfig จะถูกอ่านเป็นธาตุหากมีธาตุนั้นอยู่

คำถามและคำตอบ

แปลงโค้ด chemfig เป็นภาพวาดได้หรือไม่

ได้ วางโค้ด \chemfig{…} แผนภาพ \schemestart หรือไฟล์ .tex ทั้งไฟล์ลงบนแคนวาสของ MolDraw MolDraw จะอ่านพันธะ มุม วงแหวน ประจุ อิเล็กตรอนคู่โดดเดี่ยว ลูกศร ชื่อสาร และลูกศรโค้ง \chemmove แล้ววาดออกมา

MolDraw ส่งออกโค้ด chemfig ได้หรือไม่

ได้ Download → chemfig (.tex) บันทึกไฟล์ LaTeX แบบสแตนด์อโลน และ Copy as chemfig (LaTeX) คัดลอกเฉพาะโค้ดภาพวาดไปใช้ในเอกสารของคุณ โค้ดคอมไพล์ได้ด้วย pdflatex และ lualatex

ต้องใช้แพ็กเกจ LaTeX ใดบ้าง

chemfig และไลบรารี TikZ arrows.meta กับ decorations.pathmorphing: \usepackage{chemfig} และ \usetikzlibrary{arrows.meta,decorations.pathmorphing} ไฟล์ที่ดาวน์โหลดมีบรรทัดเหล่านี้อยู่แล้ว

ทำไมลูกศรโค้งอยู่ผิดตำแหน่งหลังคอมไพล์

\chemmove ของ chemfig วาดลูกศรโค้งจากตำแหน่งที่บันทึกไว้ในการรัน LaTeX ครั้งแรก คอมไพล์ไฟล์อีกครั้งแล้วลูกศรจะไปอยู่บนอะตอมและพันธะของมัน

เปลี่ยนไฟล์ ChemDraw หรือ MOL เป็น chemfig ได้หรือไม่

ได้ เปิดไฟล์ MOL, SDF, CDXML หรือ CDX ใน MolDraw หรือวาง SMILES แล้วเลือก Download → chemfig (.tex)

อะไรบ้างที่แปลงเป็น chemfig ไม่ได้

รูปภาพ รูปทรงและเครื่องแก้ว เส้นวาดอิสระ ออร์บิทัล การเติมสีในวง และไฮไลต์ ไม่มีรูปแบบใน chemfig MolDraw จะแสดงรายการสิ่งที่ตัดออกไว้ในแถบคำแนะนำหลังดาวน์โหลดหรือคัดลอก

ใช้ฟรีหรือไม่

ใช่ การวาง chemfig และแก้ไขใช้ฟรีในเบราว์เซอร์ การดาวน์โหลดไฟล์ต้องมีบัญชี MolDraw ฟรี

คู่มือที่เกี่ยวข้อง

อัปเดตล่าสุด: