Contents ...
udn網路城邦
LaTeX 套件 chemfig
2015/03/26 17:28
瀏覽1,081
迴響1
推薦3
引用0

chemfig算是一個繪圖工具,它是由TiKz套件開發出來的專門用來繪化學結構式的。TiKz是一個強大的繪圖套件,是由TeX的程式碼寫成的,所以和TeX的相容性最好。

以前我通常是用繪圖程式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用來寫含有化學結構式、有機化學、生物化學等等的文章,書本時,是極為方便的工具。

有誰推薦more
你可能會有興趣的文章:

限會員,要發表迴響,請先登入
迴響(1) :
1樓. paraquat
2015/03/27 09:50
% !TEX TS-program = XeLaTeX

\documentclass[10pt,a4]{ctexart}

\usepackage{chemfig}

\begin{document}

%{\setchemrel{1pt}{2em}{6em} \chemfig{a \chemrel{<>}b}}\par

%\chemfig{a \chemrel{<>}b}\par

\chemname{\chemfig{CH_3-N^+*6(-=-(-*6(-=-N^+(-CH_3)=-=))=-=)}}{巴拉刈 paraquat}\par

\chemname{\chemfig{[:30]CH_3-N^+*6(-=-(-*6(-=-N^+(-CH_3)=-=))=-=)}}{巴拉刈 paraquat}\par

n-\chemfig{C_4H_5} \chemsign{+} \chemfig{C_2H_2} \chemrel{->} {\tiny\chemfig{[:-30]*6(-=-=-=)}} \chemsign{+} H\par



\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>[*{0.0}ADP][*{0.0}ATP]}[110,2]3-磷酸甘油酸

\arrow{}[120,2,dashed]

\arrow(@c4--@c6){<->}

\arrow(@c6--@c7){<-}

\schemestop

\end{document}

後面聚合物完全是範例,一字不改,就不貼在這裡了。