\documentclass[12pt,border=5pt,tikz,class=scrartcl,multi=false]{standalone} \usepackage{times} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{mathtools,amssymb,siunitx} \usepackage{pgfplots} \pgfplotsset{compat=1.13} \usepackage{carbohydrates} \usepackage{gensymb} \usepackage{chemfig,chemmacros} \renewcommand*{\familydefault}{\sfdefault} \renewcommand*\printatom[1]{\ensuremath{\mathsf{#1} } } \setatomsep{2em} \setdoublesep{.6ex} \setarrowdefault{,1,ultra thick} \setbondstyle{very thick,cap=round} \definesubmol\nobond{-[,0.2,,,draw=none]} \usetikzlibrary{positioning,calc,arrows,fit,backgrounds,decorations,shapes,matrix} \makeatletter \pgfdeclaredecoration{ddbond}{initial} { \state{initial}[width=4pt] { \pgfpathlineto{\pgfpoint{4pt}{0pt} } \pgfpathmoveto{\pgfpoint{2pt}{2pt} } \pgfpathlineto{\pgfpoint{4pt}{2pt} } \pgfpathmoveto{\pgfpoint{4pt}{0pt} } } \state{final} { \pgfpathlineto{\pgfpointdecoratedpathlast} } } \tikzset{lddbond/.style={decorate,decoration=ddbond} } \tikzset{rddbond/.style={decorate,decoration={ddbond,mirror} } } \newcommand\namebond[4][5pt]{\chemmove{\path(#2)--(#3)node[midway,sloped,yshift=#1]{#4};} } \newcommand\arcbetweennodes[3]{% \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center} }{\pgfpointanchor{#2}{center} }% \let#3\pgfmathresult} \newcommand\arclabelA[6][stealth-stealth,shorten <=1pt,shorten >=1pt]{% \chemmove[red]{% \arcbetweennodes{#4}{#3}\anglestart \arcbetweennodes{#4}{#5}\angleend \draw[#1]([shift=(\anglestart:#2)]#4)arc(\anglestart:\angleend:#2); \pgfmathparse{(\anglestart+\angleend)/2}\let\anglestart\pgfmathresult \node[shift=(\anglestart:#2+1pt)#4,anchor=\anglestart+180,rotate=\anglestart-90,inner sep=0pt, outer sep=0pt]at(#4){#6}; } } \newcommand\arclabelB[6][stealth-stealth,shorten <=1pt,shorten >=1pt]{% \chemmove[red]{% \arcbetweennodes{#3}{#4}\anglestart \arcbetweennodes{#5}{#4}\angleend \draw[#1]([shift=(\anglestart:-#2)]#4)arc(\anglestart:\angleend:-#2); \pgfmathparse{(\anglestart+\angleend)/2} \let\anglestart\pgfmathresult \node[shift=(\anglestart:-#2-1pt)#4,anchor=\anglestart+0,rotate=\anglestart+90,inner sep=0pt, outer sep=0pt]at(#4){#6}; } } % Arguments: % #1, #2, #3, #4, #5, #6: Labels as shown in the output figure % #7: yshift for the arrow, positive for upwards shift, vice versa % #8: radius of arc (default 0.333) % #9: angle for arc (default 60) \definearrow9{-X>}{% \CF@arrow@shift@nodes{#7}% \expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node)--(\CF@arrow@end@node)node[midway](Xarrow@arctangent){};% \CF@ifempty{#8} {\def\CF@Xarrow@radius{0.333} } {\def\CF@Xarrow@radius{#8} }% \CF@ifempty{#9}% {\def\CF@Xarrow@absangle{60} } {\pgfmathsetmacro\CF@Xarrow@absangle{abs(#9)} } % Draw top arrow (start) \edef\CF@tmp@str{[\CF@ifempty{#1}{draw=none}{\unexpanded\expandafter{\CF@arrow@current@style} },-]}% \expandafter\draw\CF@tmp@str (Xarrow@arctangent)% arc[radius=\CF@compound@sep*\CF@current@arrow@length*\CF@Xarrow@radius,start angle=\CF@arrow@current@angle-90,delta angle=-\CF@Xarrow@absangle]node(Xarrow1@start){}; % Draw bottom arrow (end) \edef\CF@tmp@str{[\CF@ifempty{#2}{draw=none}{\unexpanded\expandafter{\CF@arrow@current@style} },-CF]}% \expandafter\draw\CF@tmp@str (Xarrow@arctangent)% arc[radius=\CF@compound@sep*\CF@current@arrow@length*\CF@Xarrow@radius,% start angle=\CF@arrow@current@angle-90,% delta angle=\CF@Xarrow@absangle]% node(Xarrow1@end){}; % Draw bottom arrow (start) \edef\CF@tmp@str{[\CF@ifempty{#4}{draw=none}{\unexpanded\expandafter{\CF@arrow@current@style} },-]}% \expandafter\draw\CF@tmp@str (Xarrow@arctangent)% arc[radius=\CF@compound@sep*\CF@current@arrow@length*\CF@Xarrow@radius,start angle=\CF@arrow@current@angle+90,delta angle=\CF@Xarrow@absangle]node(Xarrow2@start){}; % Draw bottom arrow (end) \edef\CF@tmp@str{[\CF@ifempty{#5}{draw=none}{\unexpanded\expandafter{\CF@arrow@current@style} },-CF]}% \expandafter\draw\CF@tmp@str (Xarrow@arctangent)% arc[radius=\CF@compound@sep*\CF@current@arrow@length*\CF@Xarrow@radius,% start angle=\CF@arrow@current@angle+90,% delta angle=-\CF@Xarrow@absangle]% node(Xarrow2@end){}; % Insert labels \pgfmathsetmacro\CF@tmp@stra{\CF@Xarrow@radius*cos(\CF@arrow@current@angle)<0?"-":"+"}% \pgfmathsetmacro\CF@tmp@strb{\CF@Xarrow@radius*cos(\CF@arrow@current@angle)<0?"+":"-"}% \ifdim\CF@Xarrow@radius pt>\z@ \CF@arrow@display@label{#1}{0}\CF@tmp@stra{Xarrow1@start}{#2}{1}\CF@tmp@stra{Xarrow1@end}% \CF@arrow@display@label{#4}{0}\CF@tmp@strb{Xarrow2@start}{#5}{1}\CF@tmp@strb{Xarrow2@end}% \CF@arrow@display@label{#3}{0.5}\CF@tmp@stra\CF@arrow@start@node{}{}{}\CF@arrow@end@node% \CF@arrow@display@label{#6}{0.5}\CF@tmp@strb\CF@arrow@start@node{}{}{}\CF@arrow@end@node% \else \CF@arrow@display@label{#2}{0}\CF@tmp@stra{Xarrow1@start}{#1}{1}\CF@tmp@stra{Xarrow1@end}% \CF@arrow@display@label{#5}{0}\CF@tmp@strb{Xarrow2@start}{#4}{1}\CF@tmp@strb{Xarrow2@end}% \CF@arrow@display@label{#3}{0.5}\CF@tmp@stra\CF@arrow@start@node{}{}{}\CF@arrow@end@node% \CF@arrow@display@label{#6}{0.5}\CF@tmp@strb\CF@arrow@start@node{}{}{}\CF@arrow@end@node% \fi } \makeatother \pagestyle{empty} \thispagestyle{empty} \begin{document} \schemedebug{false} \schemestart[][west] \chemname{\chemfig{O\textcolor{blue}{H}-[:-60,,1]-[::-60](-[::-60]OH)-[::60]-[::-60,,,1]OPO_3\mch[2] } }{\parbox{2.5cm}{\centering glycerol\\3-phosphate} } \arrow{-X>[\parbox{3cm}{\textcolor{red}{acyl-CoA 1}\\\chemfig[red]{CoA-[:-30]S-[::60](=[::60]O)-[::-60]R_1} }]% [\chemfig[red]{CoAS{\color{blue}H} }]% []% []% []% [acyltransferase I]}[,2.75] \chemname{\chemfig{O(-[:30,,,,red](=[2,,,,red]\textcolor{red}{O})-[::-60,,,,red]\textcolor{red}{R_1})-[:-60]-[::-60](-[::-60]OH)-[::60]-[::-60,,,1]OPO_3\mch[2]} }{\parbox{4cm}{\centering lysophosphatidic acid\\(lysophosphatidate)} } \arrow{-X>[\parbox{3cm}{\textcolor{green}{acyl-CoA 2}\\\chemfig[green]{CoA-[:-30]S-[::60](=[::60]O)-[::-60]R_1} }]% [\chemfig[red]{CoAS{\color{blue}H} }]% []% []% []% [acyltransferase II]}[,3.5] \chemname[-2.5em]{\chemfig{ \textcolor{green}{R_2}-[:30,,,,green](=[2,,,,green]\textcolor{green}{O})-[::-60,,,,green]O-[0] (-[::-60]-[::-60,,,1]OPO_3\mch[2]) -[::60]-[::60]O -[:30,,,,red](=[2,,,,red]\textcolor{red}{O})-[::-60,,,,red]\textcolor{red}{R_1} } }{\parbox{3.5cm}{\centering phosphatidic acid\\(phosphatidate)} } \schemestop \end{document}