
以前我通常是用繪圖程式metaPost來畫化學結構式,然後在文章中把圖形引入。metaPost有缺點是有可能相容性不好,由其是中文,以前我用Type1中文字形,拿到現在的xelatex來做排版動作時,就會找不到字形使排版失敗。但TiKz的圖就沒有問題,使用現代的中文opentype字體也沒有問題。
使用chemfig套件,在文件前置區引:
\usepackage{chemfig}
然後在文件裡會,要用化學結構式時,就是
\chemfig{結構式的內容}
例如 paraquat
\chemname{\chemfig{CH_3-N^+*6(-=-(-*6(-=-N^+(-CH_3)=-=))=-=)}}{巴拉刈 paraquat}\par
就可以順利的畫出paraquat的化學結構,使用中文也沒有問題。可以對它做旋轉,縮放的動作,文字的表現也正常,如旋轉30度:
\chemname{\chemfig{[:30]CH_3-N^+*6(-=-(-*6(-=-N^+(-CH_3)=-=))=-=)}}{巴拉刈 paraquat}\par
結構式以外,也可以用來劃路徑,這常見生物化學反應上面,使用schemestart, schemestop來路徑。例如a反應成b:
\schemestart
a \arrow b
\shemestop
其中的箭頭,有很多控制要素在裡面,這是我的練習,糖解反應的幾個部驟:
\schemestart
葡萄糖
\arrow{-U>[*{0.180}ATP][*{0.180}ADP]}[-90]葡萄糖-6-磷酸
\arrow{<->}[-90]果糖-6-磷酸
\arrow{-U>[*{0.180}ATP][*{0.180}ADP]}[-90]果糖-1-6-磷酸
\arrow{<->}[-60]磷酸二羥丙酮
\arrow{<->}[180]甘油-3-磷酸
\arrow{-U>[NAD$^+$][NADH]}[180,2]1,3-二磷酸甘油酸
\arrow{-U>[ADP][ATP]}[110,2]3-磷酸甘油酸
\arrow{}[120,2,dashed]
\arrow(@c4--@c6){<->}
\arrow(@c6--@c7){<-}
\schemestop
chemfig套件的說明文件裡面有很多的範例,花一點時間看文件,找幾個範例練習一下,很快就能上手,最後是聚合物,這完全是範例照搬。
總之,chemfig用來寫含有化學結構式、有機化學、生物化學等等的文章,書本時,是極為方便的工具。

