如何借助化学图形包创建以下反应?

如何借助化学图形包创建以下反应?

我正在尝试借助乳胶中的化学图形包来绘制以下反应。 在此处输入图片描述 我无法弄清楚如何绘制 π 所对应的分子(最后五个分子中 Pt 通过某种键连接)。所以,请帮我完成以下任务:

  1. 编写适当的乳胶代码以正确绘制上图中的反应。
  2. 如何以类似上图的方式在反应的左侧包含“Gas”和“Ads”。

我是一名初学者chemfig,我已经能够创建类似的东西 在此处输入图片描述

\documentclass{scrartcl}
\usepackage{chemfig,mlmodern}

\begin{document}
    \noindent
    \schemestart
    \chemfig{[:30]*6(------)}
    \arrow{<=>[*{0}--H][*{0}+H]}[-90]
    \chemname{\chemfig{(-[::90,0.4])(-[::180,0.4])-(-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::0,0.4]Pt)(-[::90,0.4])-[::-90](-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::-112.5,0.4])(-[::67.5,0.4])-[::-45]}}{$\alpha$}
    \arrow(.0 --.base west){<=>[--H][+H]}   
    \chemname[-5ex]{\chemfig{[:45](-[::90,0.4])(-[::180,0.4])-(-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::0,0.4])(-[::90,0.4])-[::-90](-[::-112.5,0.4])(-[::67.5,0.4]Pt)-[::-45](-[::-112.5,0.4])(-[::67.5,0.4]Pt)-[::-45]}}{$\beta \alpha$}
    \arrow(.base east--.base west){<=>[--H][+H]}
    \chemname[-5ex]{\chemfig{[:45](-[::90,0.4])(-[::180,0.4])-(-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::-112.5,0.4])(-[::67.5,0.4])-[::-45](-[::0,0.4])(-[::90,0.4])-[::-90]-[::-45]-[::-45]}}{$\pi$}
    \schemestop
\end{document}

但我创建它的方式感觉像是一种黑客行为,而不是正确的解决方案。

答案1

我创建了一个“独立”文档,这将生成一个可以插入到另一个文档中的 PDF 图形。我没有使用 \chemname,因为使用此命令,分子的名称将成为分子的一部分,这使得定位分子变得困难。为了放置名称,我在分子上放置了标记 (@{}),并使用方框 \parbox 创建了不可见的箭头。分子的设计略有不同,但我认为效果不错。

要知道哪个分子是 C4,请启用 \setchemfig{scheme debug=true}

\documentclass[border=2mm]{standalone}
\usepackage{chemfig,mlmodern}

%to make double-pointed bonds
\usetikzlibrary{decorations.pathmorphing}
\pgfdeclaredecoration{ddbond}{initial}
{
    \state{initial}[width=4pt]
    {
        \pgfpathlineto{\pgfpoint{4pt}{0pt}}
        \pgfpathmoveto{\pgfpoint{2pt}{2pt}}
        \pgfpathlineto{\pgfpoint{4pt}{2pt}}
        \pgfpathmoveto{\pgfpoint{4pt}{0pt}}
    }
    \state{final}
    {
        \pgfpathlineto{\pgfpointdecoratedpathlast}
    }
}
\tikzset{lddbond/.style={decorate,decoration=ddbond}}
\tikzset{rddbond/.style={decorate,decoration={ddbond,mirror}}}

\begin{document}
%   \setchemfig{scheme debug=true}
    \schemestart
    \chemfig{[:30]*6(------)}
    %
    \arrow(--){<=>[*{0}--H][*{0}+H]}[-90]
    %
    \chemfig[cram width=2pt]{?(-[3,0.4])(-[5,0.4])<[7,0.7](-[2,0.4])(-[6,0.4])-[@{a}0,,,,line width=2pt](-[2,0.4])(-[6,0.4])>[1,0.7](-[1,0.4])(-[7,0.4])-[3,0.7](-[2,0.4])(-[6,0.4])-[4]?(-[2,0.4])(-[6,0.4])}
    %
    \arrow( --.mid west){<=>[$-$H][+H]}  
    % 
    \chemfig[cram width=2pt]{?(-[3,0.4])(-[5,0.4])<[7,0.7](-[2,0.4])(-[6,0.4]Pt)-[@{b}0,,,,line width=2pt](-[2,0.4])(-[6,0.4]Pt)>[1,0.7](-[1,0.4])(-[7,0.4])-[3,0.7](-[2,0.4])(-[6,0.4])-[4]?(-[2,0.4])(-[6,0.4])}
    %
    \arrow(.base east--.base west){<=>[--H][+H]}
    %
    \chemfig[cram width=2pt]{?(-[3,0.4])(-[5,0.4])<[7,0.7]-[0,.5,,,line width=1pt,lddbond](-[2,.4])(-[6,.4]@{c}Pt)-[0,.5,,,line width=1pt,lddbond]>[1,0.7]@{x}(-[1,0.4])(-[7,0.4])-[3,0.7](-[2,0.4])(-[6,0.4])-[4]?(-[2,0.4])(-[6,0.4])}
    %
    \arrow(c4 --){<=>}[90] 
    %
    \chemfig{[:30]*6(=-----)}
    %
    \arrow(@{x}--){<=>[$-$H][+H]}[0]
%----------------------------------------------------
\arrow(@{a}--){0}[290,.6]\parbox{1cm}{$\alpha$}
\arrow(@{b}--){0}[290,.5]\parbox{1cm}{$\beta\alpha$}
\arrow(@{c}--){0}[300,.2]\parbox{1cm}{$pi$}
    \schemestop
\end{document}

在此处输入图片描述

相关内容