我正在修改 chemfig 包。我创建了宏
\documentclass{article}
\newcommand{\lmethyl}{C(-[2]H)(-[4]H)(-[6]H)}
\newcommand{\rmethyl}{C(-[2]H)(-[6]H)-H}
\newcommand{\tmethyl}{C(-[2]H)(-[4]H)-H}
\newcommand{\bmethyl}{C(-[4]H)(-[6]H)-H}
\usepackage{chemfig}
\begin{document}
\chemfig{\lmethyl-\rmethyl}
\end{document}
我以为我可以用它来创建甲烷的代码。我知道所有宏都是同时运行的,因此创建了以下内容。
答案1
您正在寻找的是\definesubmol{name}{code}
命令。您可以使用 在 chemfig 命令中插入子分子!{name}
。
\definesubmol{rmethyl}{C(-[0]H)(-[2]H)(-[6]H)}
\chemfig{R-!{rmethyl}}
您还可以使用该命令执行其他一些操作,例如根据键的方向定义不同的代码(因此 H_3C 和 CH_3 可以由一个 sumbol 处理)。
有关详细信息,请参阅chemfig 手册。
答案2
您应该使用chemfig
而\definesubmol
不是\newcommand
:
\documentclass{article}
\usepackage{chemfig}
\definesubmol{\lmethyl}{C(-[2]H)(-[4]H)(-[6]H)}
\definesubmol{\rmethyl}{C(-[2]H)(-[6]H)-H}
\definesubmol{\tmethyl}{C(-[2]H)(-[4]H)-H}
\definesubmol{\bmethyl}{C(-[4]H)(-[6]H)-H}
\begin{document}
\chemfig{!\lmethyl-!\rmethyl}
\end{document}