如何在 chemfig 中的芳香环中放置吸电基团或供体基团?

如何在 chemfig 中的芳香环中放置吸电基团或供体基团?

我需要将未确定的吸电子或供电子基团放入有机分子(芳香环)中,使用箭头代替直线作为键,但倒钩就在中间。这是一个例子,箭头为红色和蓝色: 在此处输入图片描述

在 chemfig 中可以将键配置从线改为箭头吗?

我最好的办法是:

\documentclass{article}
\usepackage{tikz}
\usepackage{chemfig}


\begin{document}

\chemfig{**6(-(-[,,,,->]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]HO))--)} \quad
\chemfig{**6(-(-[,,,,<-]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]H\charge{90=\:,-90=\:}{O}))--)}

\end{document}

但看上去似乎很不一样。

答案1

其中一种方法就是将债券一分为二。

\documentclass{article}
\usepackage{tikz}
\usepackage{chemfig}
\begin{document}    
    \chemfig{**6(-(-[,0.5,,,blue,->]-[,0.5,,,blue]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]HO))--)} \quad
    \chemfig{**6(-(-[,0.5,,,red]-[,0.5,,,red,<-]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]H\charge{90=\:,-90=\:}{O}))--)}
\end{document}

在此处输入图片描述

blue,-stealth]您可以使用 TIKZ和red,stealth-]债券期权中的命令更改箭头样式

答案2

好的,至少这里有一条你可以遵循的路线。代码的结果:

在此处输入图片描述

一些评论:

  • chemfig建立在 之上tikz,因此您可以以某种方式应用 tikz 概念(搜索 chemfig 手册)
  • 第 1 环显示对整条线(包括箭头尖)的简单重新着色red
  • 第 2 环使用了一些tikz decoration,参见第 12.3 章;它需要\usetikzlibrary{decorations.pathmorphing和“笨拙”的选项... ->,decorate,decoration=snake]G)
  • 第 3 环使用自定义样式,请参阅\tikzset开头的声明;请参阅第 12.7 章 chemfig 和第 50.6 章 tikz 手册;为了说明目的,我使用了两种颜色;您应该能够X用箭头提示替换 // 这是需要 tikzlibrary 的地方decorations.markings// 这有点像 LISP,您很容易在必需的括号中迷失方向……
  • 环 4 不变,作为参考,为相反的箭头方向
  • 第 5 圈证明了自定义风格arr也适用于此

第 5 环还存在一个小问题:red X设置在相关路径的中间;如您所见,起点或终点必须位于内圆或靠近内圆。最坏的情况是您需要second arr-style根据箭头方向定义一个。

\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usepackage{chemfig}
\usetikzlibrary{decorations.pathmorphing,% for the snake line
                decorations.markings}% for the "shifted" arrow tip


\begin{document}

% from chemfig manual ch. 12.7
%\tikzset{nbond/.style args={#1}{%
%   draw=none,%
%   decoration={%
%       markings,%
%       mark=at position 0 with {\coordinate (CFstart@) at (0,0);},
%       mark=at position 1 with 
%       {%
%           \foreach\CF_i in{0,1,...,\number\numexpr#1-1}{%
%           \pgfmathsetmacro\CF_nbondcoeff{\CF_i-0.5*(#1-1)}%
%           \draw ([yshift=\CF_nbondcoeff\CF_doublesep]CFstart@)--(0,\CF_nbondcoeff\CF_doublesep);
%           }%
%       }
%   },
%   postaction={decorate}
%   }
%}

\tikzset{
    arr/.style={green!40!black,
    decoration={
        markings,% see ch. 50.6 in the tikz-manual
        mark=at position 0.5
        with
        {
            \node [red] {X};
%           \draw (-2pt,-2pt) -- (2pt,2pt);
%           \draw (2pt,-2pt) -- (-2pt,2pt);
        }
    },
    postaction={decorate}
    }
}

\chemfig{**6(-(-[,,,,->,red]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]HO))--)} \quad

\chemfig{**6(-(-[,,,,->,decorate,decoration=snake]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]HO))--)} \quad

\chemfig{**6(-(-[,,,,->,arr]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]HO))--)} \quad

\chemfig{**6(-(-[,,,,<-]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]H\charge{90=\:,-90=\:}{O}))--)} \quad

\chemfig{**6(-(-[,,,,<-,arr]G)---(-C(=[:30]\charge{90=\:,-30=\:}{O})(-[:150]H\charge{90=\:,-90=\:}{O}))--)}

\end{document}

相关内容