化学图变量替换

化学图变量替换

我想编写一个利用变量替换的脚本来完成我的生物化学作业。例如,我可以使用 ChemFig 创建一个带有 X 的基本分子,然后将该 X 替换为适当的基团。

\documentclass[graphicx,longbibliography,notitlepage]{revtex4-1}
\usepackage{chemfig}
\newcommand{\X}{}
\newcommand{\propyl}{\chemfig{CH_3-[:30]-[:-30]\X}}
\begin{document}
%if input=propane:
\renewcommand{\X}{CH_3}
\propyl\\ %substitute 'CH_3' for X
%if input=propanol
\renewcommand{\X}{-[:30]OH}
\propyl %substitute '-[:30]OH' for X
\end{document}

然后,如果输入的是丙烷,则“X”将被替换为“CH_3”,如果输入的是丙醇,则“X”将被替换为“-[:30]OH”。但是,它不会使用 OH 创建新分支,而只会显示 -[:30]OH

我得到的是: 30OH 我想要的是: 哦

使用 latex/chemfig 可以实现类似的效果吗?我查看了这里的一些变量替换内容,但似乎与我所寻找的不太接近。抱歉没有提供更多代码,但我甚至不知道这是否可行。如果可以,如果有人能给我指明正确的方向,那就太好了(不需要为我编写代码)。谢谢!

答案1

也许是这样的?

\documentclass{article}
\usepackage{chemfig}
\newcommand{\propyl}[1]{\chemfig{H_3C-[:30]-[:-30]!{#1}}}

\definesubmol{propane}{CH_3}
\definesubmol{propanol}{-[:30]OH}
\begin{document}
%if input=propane:
\propyl{propane} %substitute 'CH_3' for X

\bigskip

%if input=propanol
\propyl{propanol} %substitute '-[:30]OH' for X
\end{document}

化学无花果

\definesubmol命令扮演着您的角色X

相关内容