如何在 chemfig 中对齐阿司匹林合成的以下反应机制?
代码:
\schemestart
\definesubmol\nobond{-[2,0.2,,,draw=none]}
\chembelow[5mm]{\chemfig[][scale=0.7]{HO-[:-30]@{5}(!\nobond\scriptstyle\oplus)(-[:-90]CH_3)(-[@{2}:30]O-[:-30](-[:-90]CH_3)=[:30]O)}}{\chembelow[5mm]{+}{\chemfig[][scale=0.7]{*6(=-=(-([:90]=O)([:-40]-OH))-(-@{4}O@{3}H)=-)}}}
\qquad\qquad
\arrow(.base east--.base west){->[\tiny\chemfig{{-}CH_3COOH}][][4pt]}
\chemfig[][scale=0.7]{*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](-[:90]@{7}O-[@{6}:360]H)(-[:210]CH_3))=-)}
\chemmove[->,shorten <=2pt]{
\draw[shorten >=8pt](2)..controls +(-50:2.5cm)and+(45:1cm)..(3);}
\chemmove[->,shorten <=2pt]{
\draw[shorten >=3pt](4)..controls +(180:1cm)and+(-135:1cm)..(5);}
\chemmove[->,shorten <=2pt]{
\draw[shorten >=5pt](6)..controls +(90:5mm)and+(90:5mm)..(7);}
\arrow{->[\tiny\chemfig{{-}\chemabove{H}\oplus}]}
\chemfig[][scale=0.7]{*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](=[:90]O)(-[:210]CH_3))=-)}
\schemestop
谢谢您的回答!
答案1
这个怎么样:
\documentclass{article}
\usepackage{chemfig}
\definesubmol\nobond{-[2,0.2,,,draw=none]}
\begin{document}
\schemestart
\subscheme[-90]{
\chemfig[atom style={scale=0.7}]{
HO-[:-30]@{5}(!\nobond\scriptstyle\oplus)(-[:-90]CH_3)(-[@{2}:30]O
-[:-30](-[:-90]CH_3)=[:30]O)
}
\arrow{0[+][][-10pt]}
\chemfig[atom style={scale=0.7}]{*6(=-=(-([:90]=O)([:-40]-OH))-(-@{4}O@{3}H)=-)}
}
\arrow{->[\tiny\chemfig{{-}CH_3COOH}]}[,1.5]
\chemfig[atom style={scale=0.7}]{
*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](-[:90]@{7}O-[@{6}:360]H)(-[:210]CH_3))=-)
}
\arrow{->[\tiny\chemfig{{-}\chemabove{H}\oplus}]}
\chemfig[atom style={scale=0.7}]{
*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](=[:90]O)(-[:210]CH_3))=-)
}
\schemestop
\chemmove[->,shorten <=2pt]{
\draw[shorten >=8pt](2)..controls +(-50:2.5cm)and+(45:1cm)..(3);
\draw[shorten >=3pt](4)..controls +(180:1cm)and+(-135:1cm)..(5);
\draw[shorten >=5pt](6)..controls +(90:5mm)and+(90:5mm)..(7);
}
\end{document}
尽管箭头标签的缩放比例和\tiny
字体大小都经过调整,但该方案仍然超出了页面宽度。我个人会尝试使用chemfig
(atom sep
和bond offset
),但也许会选择更大的字体大小\footnotesize
。(下面的示例中showframe
显示了页面尺寸。)
该示例使用chemmacros
包(也加载了chemformula
包)。它提供了并提供了将公式中的所有电荷()打印为正式电荷()\scrp
的可能性chemformula
\ch
\chemsetup{ charges/circled = all }
\documentclass{article}
\usepackage{chemfig,chemmacros,showframe}
\definesubmol\pchargeup{-[2,0.4,,,draw=none]\scrp}
\definesubmol\pchargedown{-[6,0.4,,,draw=none]\scrp}
\begin{document}
\begin{center}
\chemsetup{charges/circled=all}
\setchemfig{atom sep = 1.7em , bond offset = 0.5pt}
\footnotesize
\schemestart
\subscheme[-90]{
\chemfig{
HO-[:-30]@{C1}(!\pchargeup)
(-[:-90]CH_3)
(-[@{b}:30]O-[:-30](-[:-90]CH_3)=[:30]O)
}
\arrow{0[+][][-10pt]}
\chemfig{*6(=-=(-([:90]=O)([:-40]-OH))-(-@{OH}OH)=-)}
}
\arrow{->[${}-\ch{CH3COOH}$]}[,1.7]
\chemfig{
*6(
=-=(-([:90]=O)([:-40]-OH))
-(-O-[:-210]@{C2}(-[:90]O-[@{H}:360]H)(!\pchargedown)-[:210]CH_3)
=-
)
}
\arrow{->[${}-\ch{H+}$]}
\chemfig{*6(=-=(-([:90]=O)([:-40]-OH))-(-O-[:-210](=[:90]O)(-[:210]CH_3))=-)}
\schemestop
\chemmove[red,-el,shorten <=2pt,shorten >=2pt]{
\draw[shorten >=8pt] (b) ..controls +(-50:2.5cm) and +(10:1cm) .. (OH) ;
\draw (OH)..controls +(180:1cm) and +(-135:1cm).. (C1) ;
\draw (H) ..controls +(-90:3mm) and +(30:5mm) .. (C2) ;
}
\end{center}
\end{document}