Chemfig、TikZ、圆形图

Chemfig、TikZ、圆形图

我在使用 Chemfig 绘制如此复杂的图表时遇到了问题(应附上图表图片)。Chemfig 手册描述了如何绘制弯曲和 U 型箭头,但我尝试将它们组合成所需的图表的所有尝试都失败了。如果有人能提出如何做到这一点的想法,我将不胜感激。

谢谢。

Circle diagram

答案1

chemfig不提供弯曲箭头。可以定义一些东西\definearrow- 文档给出了一个例子。这用起来不舒服,而且只是你的方案的一部分:组合弯曲箭头。

也许也可以定义这样的箭头,但我认为它们使用起来并不会更方便。我会尝试完全避免使用它们,而是使用现有的箭头。

enter image description here

\documentclass{article}
\usepackage{chemfig}
\usepackage{chemmacros}
\chemsetup[ox]{pos=super}
\DeclareChemIUPAC\tBu{\textsuperscript{\textit{t}}Bu}

% \usepackage{showframe}

\begin{document}

\begin{center}
 \small
 \schemestart[,2]
   \chemfig{R_2-\ox{2,Pd}-R_1}
   \arrow(start--)[45]
   \ox{0,Pd}
   \arrow(--X){->[*{0.180} $+$ \chemfig{R_2-X}]}[-45]
   \chemfig{R_2-\ox{2,Pd}-X}
   \arrow(--tBu){->[*{0.0} $+$ NaO\tBu][*{0.180} $-$ NaX]}[-135]
   \chemfig{R_2-\ox{2,Pd}-O\tBu}
   \arrow(@tBu--@start){->}
   %%
   % remember this point, \mbox to actually create an empty node
   \arrow(@tBu--rem1){0}[135,1] \mbox{}
   \arrow(@rem1--)[180]
   \chemfig{
     \tBu O-\chemabove{B}{\qquad\fscrm}
     (-[2]OH)(-[6]OH)(-[3,,,,draw=none]Na^{\fplus})
     -O\tBu
   }
   \arrow(@rem1--){<-}[-120,1.25]
   \chemfig{
     R_1-\chemabove{B}{\qquad\fscrm}
     (-[2]OH)(-[6]OH)(-[3,,,,draw=none]Na^{\fplus})
     -O\tBu
   }
   \arrow{<-}[180,1]
   \chemfig{R_1-B(-[:-60]OH)-[:60]OH}
   %%
   % remember this point, \mbox to actually create an empty node
   \arrow(@start--rem2){0}[45,1] \mbox{}
   \arrow(@rem2--)[135,1]
   \chemfig{R_1-R_2}
 \schemestop
\end{center}

\end{document}

相关内容