我很想能够像这样在一个正方形中表示一个反应网络(原谅我的涂鸦)
注意:我不关心反应节点周围的方块,没有它们我也可以生存。
我一直在使用mhchem
,我发现这个答案展示如何使用 显示化学反应网络chemfig
。但是,我需要反应中的箭头来显示反应速率,如上图所示,但我找不到如何用 chemfig 实现,也不与mhchem
。
答案1
这是一个tikz-cd
选项:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=1.5cm, column sep=1.5cm, cells={nodes={draw, outer sep=3mm, minimum height=8mm}}]
P_{00}\arrow[r, harpoon, shift left, "k_{H^+}"]\arrow[d, harpoon', shift right, "k_{S^+}"']
& |[red, text=black]|P_{10}\arrow[l, harpoon, shift left, "k_{H^-}"]\arrow[d, harpoon, shift left, "k_{HS^+}"]\\
P_{01}\arrow[r, harpoon', shift right, "k_{SH^+}"']\arrow[u, harpoon', shift right, "k_{S^-}"']
& |[red, dashed, text=black]|P_{11}\arrow[l, harpoon', shift right, "k_{SH^-}"']\arrow[u, harpoon, shift left, "k_{HS^-}"]
\end{tikzcd}
\end{document}
答案2
仅使用 chemfig
\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\usepackage{amsmath}
\begin{document}
\schemestart
\chemfig{@{a}P_{00}} \arrow{<=>[$R_{H+}$][$R_{H-}$]}[0,1.5] \chemfig{@{b}P_{10}}
\arrow(@{a}--){<=>[$K_{S+}$][$K_{S-}$]}[270,1.5] \chemfig{P_{01}} \arrow{<=>[$K_{SH+}$][$K_{SH-}$]}[0,1.5] \chemfig{P_{11}}
\arrow(@{b}--){<=>[$R_{HS+}$][$R_{HS-}$]}[270,1.5]
\schemestop
\end{document}
或者,使用命令 \tiny
\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\usepackage{amsmath}
\begin{document}
\schemestart
\chemfig{@{a}P_{00}} \arrow{<=>[{\tiny $R_{H+}$}][{\tiny$R_{H-}$}]}[0,1.5] \chemfig{@{b}P_{10}}
\arrow(@{a}--){<=>[*0{\tiny$K_{S+}$}][*0{\tiny$K_{S-}$}]}[270,1.5] \chemfig{P_{01}} \arrow{<=>[{\tiny$K_{SH+}$}][{\tiny$K_{SH-}$}]}[0,1.5] \chemfig{P_{11}}
\arrow(@{b}--){<=>[*0{\tiny$R_{HS+}$}][*0{\tiny$R_{HS-}$}]}[270,1.5]
\schemestop
\end{document}