バオングアーカイブス

バオングの記録

構造式や反応式を綺麗にかこう

はじめに

こんにちは。 これはリバケアドベントカレンダー1日目の記事です。

リバケ所属のバイト落ちと申します。

リバケの嫌なところはどこですか?

という質問は、答えが多過ぎて苦しいですが、その一つに「有機で構造式や反応式をレポートで描かされること」が挙げられます。

有機の反応式は、構造式が複雑であるためにPC上で作成するのが非常に面倒です。 そのくせして、有機の教官はその手段を提示してくれることは一切ありません(リバケではよくあること)。 手描きを想定しているのかもしれませんが、なんとなく気が引けます。 LaTeXの文書の中に突然手描きの構造式が現れたら少し変です。

そこで、綺麗に構造式を出力する試行錯誤を記事として残したいと思います。

Chemdraw

王道らしいです。 が、ライセンスは学生には与えられておらず、有料であり、実質使用不能です。 教官はchemdrawを使える前提で考えているんだろうなとは思いますが、使えないものはどうしようもないのであきらめましょう。

ChemSketch

そこで代替として挙げられるのがChemSketchです。 こちらは無料であり、公式ホームページ(https://www.acdlabs.com/resources/free-chemistry-software-apps/chemsketch-freeware/) からダウンロードすればすぐ使えます。 UIは分かりやすいですが、やや古さも感じられます。 百聞は一見に如かず、では千聞ではどうかな? 実際に使い方を見てみましょう。

まずは酢酸でも書いてみましょうか。 酢は体によいので、飲めば飲むほどよいとされていますからね。

炭素原子であるところのCが初めにセットされているので、適当に引っ張ります。

それらしい炭素鎖が描けます。 ここで酢酸の構造式が思い出せないので調べ、酸素原子であるところのOに適宜切り替え作業を進めます。

それっぽくなりました。 あとは二重結合を入れるだけです。 結合の鎖をクリックすると二重結合と単結合が切り替わり、気分がよいです。 ということで、酢酸が出来ました。 ついでにtools -> clean structure を実行しています。

酢酸そのもの

気分よし。 しかし、これを見たリバケはこう思います。 「構造式が描けて満足か?これだから三流はさ」 そう、レポートで構造式だけ書いて満足というシーンは多くなく、反応式を描かなくてはならないのです。 特に巻矢印記法というインチキ矢印を書かなくてはならず、コイツが一番面倒です。 しかし、chemsketchは優秀なのでなんとでもなります。

まず、反応のスキームを描きましょう。 reaction arrowを使います。 shiftを押しながら使うと水平にしやすくてよいです。

隣のlabelingから反応条件も書けます。

そして、肝心の巻矢印です。 まず、巻矢印の出ずる国であるところの電子を導入します。

老人には見えない小ささである

よく使う機能であるのに、分かりにくいことこのうえなし。 左下にある+とか-とかが表示されている部分を押します。 +の場合は右下の白三角で切り替えられます。 この状態でイオンにしたい原子をクリックすると切り替わります。

巻矢印を描きます!早く描け!

儀式

左上のモードをdrawに切り替え、矢印とクネクネをクリックします。 それでそれっぽく描くと、巻矢印が描けます。

この巻矢印の行く末、それは読者の課題であります

これを組み合わせると、こうなります。

怪物

これは半年前くらいに作った画像ですが、肝心の機構があまりにもめちゃくちゃです。 しかし、皆さんはChemSketchを使い反応式が描けることを理解したので、問題はありません。

chemfig

皆さんは、レポートを作成するときにLaTeXをよく利用しています。 LaTeXには様々な便利なpackageが存在しますが、構造式や反応式に使えるものも存在します。 それがchemfigです。 CTANのページはこれ(CTAN: Package chemfig)。 ドキュメンテーションにいろんな例があるので、この記事よりdocumentationを参考にするべきです。 日本語での使い方の紹介は chemfigパッケージによる構造式描画 - TeX Alchemist Online などがあります。 doratex氏は化学系のLaTeXの使い方をいろいろと紹介しているので、参考になったりならなかったりします。

それでは、実際に使ってみましょう。 まずpackageを読み込みます。

\usepackage{chemfig}

試しにエチレンを描きます。

審議在るなあ
\chemfig{=[::30]-[::-60]}

エチレンだ

描けました。 結合を-,=で描き、その後に::nと書いていくのが基本の使い方となります。 基本じゃない使い方?そんなのいいからサア

リバケの人に怒られないうちに、巻矢印を描きましょう。 まず電子を導入します。

\schemestart
\chemfig{@{a1}=[@{db}::30]@{b1}-[::-60]\charge{90=\|}{O}H}
\arrow{<->}
\chemfig{\chemabove{\vphantom{X}}{\ominus}-[::30]=_[::-60]
\chemabove{OH}{\scriptstyle\oplus}}
\schemestop

これはなに?

細々したおまじないはおまじないです。 これらを省くとどうなるかは読者の課題とします。 @{a1}とかはラベル付けです。 このあと使います。 電荷は\chargeで導入するよりは\chemaboveで導入するのがよさそうです。 使い方は見ての通り。

それでは、巻矢印を描きます。早く描きます。

\schemestart
\chemfig{@{a1}=[@{db}::30]@{b1}-[::-60]\charge{90=\|}{O}H}
\arrow{<->}
\chemfig{\chemabove{\vphantom{X}}{\ominus}-[::30]=_[::-60]
\chemabove{OH}{\scriptstyle\oplus}}
\schemestop
\chemmove{\draw(db).. controls +(100:5mm) and +(145:5mm).. (a1);}

相も変わらずめちゃくちゃ
最期に\chemmoveを付けただけです。 括弧内の数字で角度と長さを指定します。 適当にガチャガチャいじっていい感じにしましょう。

飽きてきたのでこのあたりでやめます。 chemfigを使うと結局はTikzで描画することになるので、画像を挿入するよりもいろいろと便利です。 軽い、文中に入れやすいなど。

おわりに

ここまでいろいろ書いたが、私は手描きというカスの手段を採用しました。 理由は簡単で、有機のレポートに時間を割くという行為が非常に滑稽に思えたためです。 あと有機の教官とかTAがあまり好きになれなかったというのも大きいです。 カスのレポートで皆ごめん!

ともあれ エンジョイ リバケライフ