我有以下与 MWE 相关的化学反应方案:
平均能量损失
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\schemestart
P \arrow(P--Q){<=>[$\mathrm{k_{pq}}$]} Q
\arrow{<=>[$\mathrm{k_{qs}}$]}[30] S \arrow(S--T){<=>[][$\mathrm{k_{st}}$]}[-30] T
\arrow(@Q--R){<=>[][$\mathrm{k_{qr}}$]}[-30] R
\arrow(@R--@T){<=>[][$\mathrm{k_{rt}}$]}
\arrow(@T--U){<=>[][$\mathrm{k_{tu}}$]} U
\arrow(@U--V){->[$\mathrm{k_{uv}}$]} V
\schemestop
\end{document}
如何将阴影多边形添加到特定方案中?举例来说,请参见下图:
答案1
chemfig
使用 TikZ,您可以将普通\draw
宏放在 中。这样做的好处是节点名称可直接使用,因此不需要\chemmove
以 s 形式添加额外标记。\tikzmark
\documentclass{article}
\usepackage{chemfig}
\begin{document}
%\schemedebug{true} % uncomment to see node names
\schemestart
P \arrow(P--Q){<=>[$\mathrm{k_{pq}}$]} Q
\arrow{<=>[$\mathrm{k_{qs}}$]}[30] S \arrow(S--T){<=>[][$\mathrm{k_{st}}$]}[-30] T
\arrow(@Q--R){<=>[][$\mathrm{k_{qr}}$]}[-30] R
\arrow(@R--@T){<=>[][$\mathrm{k_{rt}}$]}
\arrow(@T--U){<=>[][$\mathrm{k_{tu}}$]} U
\arrow(@U--V){->[$\mathrm{k_{uv}}$]} V
%
\chemmove{%
\draw [red,thick] ([shift={(-5pt,1em)}]Q.north west) -- ([yshift=1em]S.north) --
([yshift=1em]T.north) -- ([shift={(5pt,1em)}]U.north east) --
([shift={(5pt,-1.5em)}]U.south east) --
([yshift=-1.5em]T.south) -- ([yshift=-2em]R.south) --
([shift={(-5pt,-2em)}]Q.south west) -- cycle;
}
\schemestop
\end{document}
答案2
以下是使用 tikzmark 的方法:
\documentclass{article}
\usepackage{chemfig}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\begin{document}
\schemestart
P \arrow(P--Q){<=>[$\mathrm{k_{pq}}$]} \tikzmark{myA}Q
\arrow{<=>[$\mathrm{k_{qs}}$]}[30] \tikzmark{myB}S \arrow(S--T){<=>[][$\mathrm{k_{st}}$]}[-30] T\tikzmark{myC}
\arrow(@Q--R){<=>[][$\mathrm{k_{qr}}$]}[-30] R \tikzmark{myD}
\arrow(@R--@T){<=>[][$\mathrm{k_{rt}}$]}
\arrow(@T--U){<=>[][$\mathrm{k_{tu}}$]} U \tikzmark{myE}
\arrow(@U--V){->[$\mathrm{k_{uv}}$]} V
\schemestop
\begin{tikzpicture}[overlay,remember picture]
\coordinate (A) at ([xshift=-5pt,yshift=-10pt]myA);
\coordinate (B) at ([xshift=-5pt,yshift=15pt]myA);
\coordinate (C) at ([xshift=5pt,yshift=20pt]myB);
\coordinate (D) at ([xshift=5pt,yshift=15pt]myC);
\coordinate (E) at ([xshift=5pt,yshift=-10pt]myC);
\coordinate (F) at ([xshift=-5pt,yshift=-15pt]myD);
\coordinate (G) at ([xshift=5pt,yshift=15pt]myE);
\coordinate (H) at ([xshift=5pt,yshift=-10pt]myE);
\draw[red,thick] (A)--(B)--(C)--(D)--(G)--(H)--(E)--(F)--(A);
\end{tikzpicture}
\end{document}