如何在乳胶中写出聚合物反应

如何在乳胶中写出聚合物反应

是否可以在乳胶中写出这个反应?

在此处输入图片描述

我使用了此代码,但是 raction 的“图像”非常大。我该如何减小它?

    \documentclass[12pt,twoside,a4paper,openright]{report}
    \usepackage[portuguese]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[inner=3cm,outer=2cm,tmargin=2.0cm,bmargin=2.0cm, includefoot, includehead]{geometry}
    \usepackage{chemfig}
    \usepackage{chemmacros}
    \usepackage{enumitem}


    \begin{document}
    \newcommand\setpolymerdelim[2]{\def\delimleft{#1}\def\delimright{#2}}
    \def\makebraces[#1,#2]#3#4#5{%
    \edef\delimhalfdim{\the\dimexpr(#1+#2)/2}%
    \edef\delimvshift{\the\dimexpr(#1-#2)/2}%
    \chemmove{%
    \node[at=(#4),yshift=(\delimvshift)]
    {$\left\delimleft\vrule height\delimhalfdim depth\delimhalfdim
    width0pt\right.$};%
    \node[at=(#5),yshift=(\delimvshift)]
    {$\left.\vrule height\delimhalfdim depth\delimhalfdim
    width0pt\right\delimright_{\rlap{$\scriptstyle#3$}}$};}}
    \setpolymerdelim()

    \begin{enumerate}[label=(\arabic*)]
\setcounter{enumi}{3}
 \item\setatomsep{1.8em}
\chemfig{R-O-Si(-[2]OR)(-[6]OR)-[@{downleft,0.9},2]O-Si(-[2]OH)(-[6]OR)-[@{downright,0.4},2]OH}

%\schemestart
%\arrow(.mid east--.mid west){->[\parbox{5cm}{\centering -m \si{H_2O}\\-k ROH}]}[,1.8]
%\schemestop
%\arrow(.mid east--.mid west){->[\parbox{5cm}{\centering -m \si{H_2O}\\-k ROH}]}[,1.8]
%\setchemrel{1pt}{}{6em}
\chemrel[-m {\si{H_2O}//-k ROH}]{->}
%\chemrel[$-\mathrm{m\,H_2O}$]{->}
%\arrow{->[\parbox{5cm}{\centering -m \si{H_2O}\\-k ROH}]}
 \chemfig{-O-Si(-[2]O-[2]Si([2]-)([4]-)-)(-[6]O-[4]R)-O-Si(-[2]O-[8]H)(-[6]O-[6]Si([6]-)([4]-)-)-O-Si(-[2]O-[2]Si([2]-)([4]-)-)(-[6]O-[8]H)-O-Si([2]-)([6]-)([8]-)}

\makebraces[40pt,40pt]{n}{downleft}{downright}
\end{enumerate}

    \end{document}

在此处输入图片描述

答案1

我提出以下解决方案。我做了一些更改:

  • 首先,我发现你的用法enumerate有点奇怪。它看起来就像你想要反应的方程式编号一样。如果是这样,那么我会使用环境equation。使用类选项,leqno其数字将放在左侧。
  • 我仍然会使用chemfig\schemestart ... \schemestop机制。在其中,\arrow可以使用命令使反应向下而不是向左。这可以通过使用可选参数来实现<angle>

    \arrow{<arrow spec>}[<angle>,<length>]
    

    我使用下面的角度-90。为了标签不是要旋转,您可以使用标签*的语法\arrow

    \arrow{->[*{<angle>}<label>]}[-90]
    

    使用*{0}将使标签具有水平方向。

  • 这个更像是一种化妆品:我用很多内部有更多的缩进\chemfig{},使公式更具可读性。

  • 为了在箭头上放置多条线,我使用tabular。这比 更方便,\parbox因为不需要指定宽度。
  • 我使用数学模式来计算化学计量因子。
  • 最后,我将 的语法\makebraces稍微改成了更像 LaTeX 的语法,并将其重命名为\makepolymerbraces。这只是我的个人品味......

完整示例如下:

在此处输入图片描述

代码如下:

\documentclass[12pt,leqno]{article}
\usepackage[utf8]{inputenc}

\usepackage{chemfig}
\usepackage{chemformula}

% polymer delimiters:
\makeatletter
\newcommand*\setpolymerdelim[2]{\def\polymer@delimleft{#1}\def\polymer@delimright{#2}}

\newcommand*\makepolymerbraces[5]{%
  \edef\polymer@delimhalfdim{\the\dimexpr(#1+#2)/2}%
  \edef\polymer@delimvshift{\the\dimexpr(#1-#2)/2}%
  \chemmove{
    \node[at=(#4),yshift=(\polymer@delimvshift)]
      {$
       \left\polymer@delimleft
         \vrule height\polymer@delimhalfdim depth\polymer@delimhalfdim width0pt
       \right.
      $};
    \node[at=(#5),yshift=(\polymer@delimvshift)]
      {$
        \left.
          \vrule height\polymer@delimhalfdim depth\polymer@delimhalfdim width0pt
        \right\polymer@delimright_{\rlap{#3}}
      $};
  }%
}
\makeatother

\usepackage{lipsum}% dummy text

\begin{document}

\lipsum[2]

\begin{equation}
  \setpolymerdelim[]\setatomsep{2em}
  \schemestart
    $x$
    \chemfig{
      R-O-Si
        (-[2]OR)
        (-[6]OR)
      -[@{b1,.6},1.5]
      O-Si
        (-[2]OH)
        (-[6]OR)
      -[@{b2},2]
      OH
    }
    \arrow{%
      ->[*{0}%
      \begin{tabular}{c}
        \ch{$-m$ H2O} \\
        \ch{$-k$ ROH}
      \end{tabular}%
      ]%
    }[-90,1.5]
    $z$
    \chemfig{
      -O-Si
        (-[2]O-[2]Si([2]-)([4]-)-)
        (-[6]O-[4]R)
      -O-Si
        (-[2]O-[8]H)
        (-[6]O-[6]Si([6]-)([4]-)-)
      -O-Si
        (-[2]O-[2]Si([2]-)([4]-)-)
        (-[6]O-[8]H)
      -O-Si
        ([2]-)
        ([6]-)
      -
    }
  \schemestop
  \makepolymerbraces{30pt}{30pt}{$n$}{b1}{b2}
\end{equation}

\lipsum[2]

\end{document}

答案2

请使用这个包chemfig。关于括号,你应该看看第 12.5 章其文档

以下是一些可以开始的代码:

% arara: pdflatex

\documentclass{article}
\usepackage{chemfig}

\begin{document}
\setatomsep{7mm}
\chemfig{x\,Et-O-Si(-[2]OEt)(-[6]OEt)-O-Si(-[2]OH)(-[6]OEt)-OH}
\chemrel[$-\mathrm{m\,H_2O}$]{->}
\chemfig{z-O-Si(-[2]O-[2]Si([2]-)([4]-)-)(-[6]O-[4]Et)-O-Si-O-Si-O-Si-}
\end{document}

相关内容