我现在正尝试使用“chemfig”包绘制一些基本的化学图。我尝试绘制如下图: 实际上我通过以下代码成功创建了上面的图像:
\documentclass[12pt]{article}
\usepackage{chemfig,chemmacros}
\usepackage{amsmath}
\begin{document}
\schemestart
E\arrow(enzyme--){0}[0,0]\+S\arrow{<=>[$k_{1}$][$k_{2}$]}ES\arrow{->[$ k_{3} $][]}E\+P
\arrow(@enzyme--){0}[-90,0.15]+\arrow{0}[-90,0.15]I\arrow{<=>[*{0}$ k_{4} $][*{0}$ k_{5} $]}[-90]EI
\schemestop
\end{document}
但我觉得用隐形箭头在“E”和“+”和“I”之间留出足够的空间并不是一个好主意。(此外,如果我改用\+
,它会稍微向右移动。)还有其他方法可以安排这种垂直反应吗?另外,有没有其他方法可以在不使用隐形数组的情况下分别命名“E”和“S”?非常感谢。
答案1
tex.stackexchange 认为你的问题与我的问题很相似,所以这里有一个基于这个答案使用\definearrow
:
\documentclass[12pt]{standalone}
\usepackage{chemfig}
\makeatletter
\definearrow{2}{p}{%
\expandafter\path\expandafter[\CF@arrow@current@style,-CF](\CF@arrow@start@node)--(\CF@arrow@end@node)
node[midway, anchor=center]{+};
\CF@arrow@display@label{#1}{0.5}{+}{\CF@arrow@start@node}{#2}{0.5}{-}{\CF@arrow@end@node}
}
\makeatother
\begin{document}
\schemestart
E\arrow(enzyme--){p}[0,0.5]S\arrow{<=>[$k_{1}$][$k_{2}$]}ES\arrow{->[$ k_{3} $][]}E\arrow{p}[,0.5]P
\arrow(@enzyme--){p}[-90,0.5]I\arrow{<=>[*{0}$ k_{4} $][*{0}$ k_{5} $]}[-90]EI
\schemestop
\end{document}