chemfigとMolDraw:chemfigを貼り付け、視覚的に編集し、LaTeXで書き出す
要点:\chemfig{…}のコード(または\schemestart … \schemestopのスキーム全体、または.texファイル全体)をコピーし、MolDrawエディターを開いてCtrl+Vを押します。MolDrawが巻き矢印も含めて描画します。マウスで編集してから、pdflatexでコンパイルできるファイルならDownload → chemfig (.tex)を、学位論文や論文に貼り付けるコードならCopy as chemfig (LaTeX)を選びます。
対象となる人
chemfigはLaTeXの中で分子を描く標準的な方法です。出力は美しく、本文と同じファイルに置けますが、書くのに時間がかかります。-[:30]や=[::-60]と入力し、コンパイルし、確認し、角度を調整する、の繰り返しです。他人のchemfigを直すのはさらに大変で、\chemmoveの巻き矢印1本に何度も試行錯誤が必要なこともあります。
MolDrawはchemfigの読み込みと書き出しに対応しました。形式はchemfigのまま、描画にはキャンバスを使えます:
- コンパイルせずに、chemfigのスニペットが何を描くかを確認できます。
- マウスで修正できます:原子を動かす、二重結合を反転する、電荷や巻き矢印を追加する。
- 画面で見たのと同じ角度で、pdflatexでコンパイルできるchemfigを取り戻せます。
- 他の形式から始めて(SMILES、MOL、ChemDrawファイル、化合物名)chemfigを出力できます。
すべてブラウザ内で動作します。コードが変換のためにサーバーへ送信されることはありません。
chemfigをキャンバスに貼り付ける
- エディターやOverleafからコードをコピーします。単一の
\chemfig{…}、その複数個、\schemestart … \schemestopブロック、完全な文書のどれでも使えます。 - MolDrawエディターを開き、キャンバスの空いている場所をクリックしてCtrl+V(MacではCmd+V)を押します。Pasteボタンや、右クリック → Pasteも使えます。
- 図は選択された状態で、キャンバス上の既存の内容の横に表示されます。好きな位置にドラッグしてください。
このスキームで試してみましょう:
\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を押すと単結合、二重結合、三重結合になります。二重結合ツールで二重結合をクリックすると、2本目の線が反対側に移ります。
- ツールバーや右クリックメニューから電荷、非共有電子対、ラジカルを追加できます。
- 矢印ツールで巻き矢印や片羽矢印を描けます。矢印は非共有電子対、結合、電荷に付き、原子を動かしても付いたままです。
- 反応矢印の上下の文字は、ダブルクリックで編集できます。
chemfigでは得られない化学的なチェックも使えます:原子価の警告、分子式と質量、SMILES、各構造の3D表示です。
chemfigをLaTeXに書き戻す
書き出す方法は2つあります:
- Download → chemfig (.tex)は、完全な単体のLaTeXファイルを保存します。単独でコンパイルして図のPDFを得たり、そのPDFを
\includegraphicsで文書に取り込んだりできます。 - Copy as chemfig (LaTeX)(Copyメニューと右クリックのCopy asメニューにあります)は、
\documentclassなしで図のコードだけをコピーします。学位論文や論文にそのまま貼り付けられます。
コピーしたコードを使う場合は、プリアンブルに次の2行を一度だけ追加します:
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
図に巻き矢印やポリマーの括弧がある場合は2回コンパイルしてください。chemfigは1回目の実行で保存した位置からそれらを描きます。先にキャンバスの一部を選択しておくと、選択範囲だけがエクスポートされます。
エクスポートされるコードの例
これは、最初のスクリーンショットのSN2スキームについてMolDrawが書き出すファイルです:
% 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の角度はキャンバス上の曲線に合わせられます。 - 化合物名は構造式の下に置かれ、下側に弧を描く巻き矢印のための余白が確保されます。
- 環の結合はフック(
?[a])で閉じられ、各二重結合には=^または=_が付いて、2本目の線がMolDrawと同じ側(環では環の内側)に来るようになります。
SMILES、MOL、ChemDrawファイルからchemfigを得る
MolDrawは多くの形式を読み込めるので、chemfigへの変換ツールとしても使えます:
- 構造を取り込みます:SMILESやInChIを貼り付ける、PubChemボックスで化合物名を検索する、またはMOL、SDF、RXN、CDXML、CDX(ChemDraw)ファイルを開きます。
- 必要に応じて整えます。Clean upと回転はツールバーにあります。
- Download → chemfig (.tex)を選びます。
ChemDrawの図をまとめてLaTeXの学位論文に移す最も手早い方法です:各ファイルを開いてchemfigとしてダウンロードするだけです。
反応機構と巻き矢印
巻き矢印は、chemfigで手書きするのが最も難しい部分です。MolDrawではマウスで描くか、AIアシスタントに反応機構を描いてもらえば、エクスポート時に@{…}の名前と\chemmoveブロックが自動で書き出されます。
すでに\chemmoveの矢印があるchemfigを貼り付けると、MolDrawは各矢印がどの原子や結合をつなぐか、bendがどちら側に曲がるかを読み取ります。そして独自の描画ルールで矢印を配置します:尾は非共有電子対、電荷、結合から始まり、頭は目標の少し手前で止まります。TikZの曲線を正確に写す必要はありません。
完全な例については、chemfigの反応機構サンプルをご覧ください:片羽矢印を使ったラジカル連鎖反応や、多段階の極性反応機構が、それぞれダウンロードできる.texファイルとして用意されています。
AIアシスタントに頼む
エディターのチャットアシスタントはchemfigを理解しています。例えば次のように頼めます:
- 「これをchemfigでエクスポートして。」キャンバス上の内容のコードを返します。
- 「これを描いて:
\chemfig{H_3C-C(=[:60]O)-[:-60]OH}。」構造をキャンバスに配置します。 - 「酸触媒によるエステル加水分解の反応機構を描いて、そのchemfigをちょうだい。」
双方向で引き継がれるもの
以下の各項目は、エクスポートし、pdflatexでコンパイルし、MolDrawに読み込み直して、元の図と照合して確認しています。
| 結合 | 単結合-、二重結合=、三重結合~。ケクレ形式の芳香環。二重結合の2本目の線の側(=^ / =_)。向き付きのくさび形結合と破線結合(< > <: >:)。 |
|---|---|
| 結合のスタイル | 波線、太線、点線、配位結合、結合の色。結合のTikZオプションとして書き出されます。 |
| 原子 | 暗黙のHを含むラベル、縮約した基(CO2Me、Ph)、電荷、丸囲みの電荷(\oplus)、同位体、DとT、非共有電子対とラジカルの点(\charge、\lewis)、原子の色。 |
| 環 | 任意の環と縮合環。インポート時は*6(…)、**6(…)、入れ子の環にも対応。 |
| スキーム | ->、<-、平衡<=>、偏った平衡<->>、共鳴<->、逆合成の矢印。複数行にわたる上下の反応条件。\+。\chemname。複数行に折り返したスキーム。 |
| テキスト | スキームの上のタイトルと下の注記。 |
| 角かっこ | ‡付きの遷移状態の括弧(\chemleft[ … \chemright])とポリマーの繰り返し単位(\polymerdelim)。 |
| 巻き矢印 | 名前付きの原子や結合の間の2電子の矢印と1電子の片羽矢印(\chemmove)。 |
貼り付け時には、!{name}を使った\definesubmol、\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員環、ここではベンゼン。**6(------)は内側に円を描きます。MolDrawはこれを二重結合が交互に並ぶベンゼン環として読み取ります。 |
?[a] … ?[a] | フック:同じ文字を持つ2つの原子を結合します(環を閉じる)。 |
=^, =_ | 進行方向に対して2本目の線が左または右にある二重結合。 |
\charge{90=\:}{O} | Oの90°の位置にある非共有電子対。\.は電子1個です。 |
@{a1} | \chemmoveで矢印を描けるように、原子や結合に名前を付けます。 |
\arrow{->[above][below]} | 上下に文字が付いたスキームの矢印。 |
トラブルシューティング
- 貼り付けても何も起こらない。テキストに
\chemfigまたは\schemestartが含まれている必要があります。貼り付けがテキストボックスではなく図に入るよう、先にキャンバスをクリックしてください。 - PDFで巻き矢印の位置がずれる。もう一度コンパイルしてください。
- 「I do not know the key /tikz/Stealth」。プリアンブルに
\usetikzlibrary{arrows.meta,decorations.pathmorphing}を追加してください。 - 貼り付け後に構造がつぶれて見える。chemfigが2つの原子を同じ位置に置いている場合、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}。ダウンロードしたファイルにはすでにこれらの行が含まれています。
コンパイル後に巻き矢印の位置がずれるのはなぜですか?
chemfigの\chemmoveは、LaTeXの1回目の実行で保存された位置から巻き矢印を描きます。ファイルをもう一度コンパイルすると、矢印が原子や結合の上に正しく配置されます。
ChemDrawやMOLファイルをchemfigに変換できますか?
はい。MOL、SDF、CDXML、CDXファイルをMolDrawで開くか、SMILESを貼り付けてから、Download → chemfig (.tex)を選びます。
chemfigに変換されないものは?
画像、図形、ガラス器具、手書きの線、軌道、環の塗りつぶし、ハイライトにはchemfigでの表現がありません。ダウンロードやコピーの後、MolDrawは省略したものをヒントバーに一覧表示します。
無料ですか?
はい。chemfigの貼り付けと編集はブラウザで無料です。ファイルのダウンロードには無料のMolDrawアカウントが必要です。