写化学反应?

写化学反应?

我想展示苯甲酸钠和钠石灰之间的反应,生成苯和 na2co3

这是我的代码

\documentclass[11pt]{article}

\usepackage{fullpage}

\usepackage{chemfig,chemmacros}

\def\benzene{\chemfig{**6(------)}}
\def\upsidebenzene{\chemfig{[2]**6(------)}}
\def\sodiumbenzoate{\chemfig{[2]**6(-(-COONa)-----)}}
\def\NaOH{\chemfig{NaOH}}
\def\CaO{\chemfig{CaO}}

\begin{document}
\schemestart
       \sodiumbenzoate 
       + 
       \NaOH
       \arrow{->[\footnotesize\chemfig{CaO}][$\Delta$]}
       \benzene +  \CaO
    \schemestop
\end{document}

主要问题是 + 和 CaO 之间没有空格(在反应物侧),我找不到在符号下方写名称的任何想法。我的意思是,我不知道如何在其结构下方写苯甲酸钠。而且 CaO 和 Na2C03 不相对于苯环在中心对齐

有人可以给我代码来修复它吗谢谢

答案1

可以用 来在分子下方放置名称\chemname{<molecule>}{<name>}

在一个方案中,不同\arrows 之间的一切都被视为化合物,箭头位于整个结构的中心。可以使用以下方式显示\schemedebug{true}

在此处输入图片描述

\arrow{0}[,0]因此,一种可能性是在中间放置长度为零的不可见箭头( ):

\schemedebug{true}
\schemestart
  \sodiumbenzoate \arrow{0}[,0]
  + 
  \NaOH
  \arrow{->[\footnotesize\chemfig{CaO}][$\Delta$]}
  \benzene \arrow{0}[,0] + \CaO
\schemestop

在此处输入图片描述

结合起来,将得到(请注意,我使用了不同的可能性来绘制苯甲酸钠,以便给它一个不同的基线(手册第 4 页chemfig:“ChemFig 始终将分子的第一个原子放在前面的代码的基线上。”)):

\schemedebug{true}
\schemestart
  \chemname{\chemfig{COONa-[4]**6(------)}}{sodium benzoate}
  \+
  NaOH
  \arrow{->[\footnotesize\chemfig{CaO}][$\Delta$]}
  \chemfig{**6(------)}
  \arrow{0}[,0]
  \+
  CaO
\schemestop

在此处输入图片描述

名称再次扰乱了对齐。现在您可以不使用名称,\chemname而是在下面放置带有更多不可见箭头的名称,或者您可以调整起始处的锚点\arrow(查看(.{4.85}--)论点\arrow并研究手册中“反应方案”部分中的“锚定”部分chemfig):

\schemedebug{true}
\schemestart
  \chemname{\chemfig{COONa-[4]**6(------)}}{sodium benzoate}
  \+
  NaOH
  \arrow(.{4.85}--){->[\footnotesize\chemfig{CaO}][$\Delta$]}
  \chemfig{**6(------)}
  \arrow{0}[,0]
  \+
  CaO
\schemestop

可能还有其他解决方案。我总是会忘记一种或多种方法……

在此处输入图片描述

相关内容