我需要将未确定的吸电子或供电子基团放入有机分子(芳香环)中,使用箭头代替直线作为键,但倒钩就在中间。这是一个例子,箭头为红色和蓝色:
在 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}