\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{chemfig}
\begin{document}
\begin{figure}[h!]
\footnotesize
\begin{center}
\noindent
\makeatletter
\definearrow1{s>}{%
\ifx\@empty#1\@empty
\expandafter\draw\expandafter[\CF@arrow@current@style,-CF](\CF@arrow@start@node)--(\CF@arrow@end@node);%
\else
\def\curvedarrow@style{shorten <=\CF@arrow@offset,shorten >=\CF@arrow@offset,}%
\CF@expadd@tocs\curvedarrow@style\CF@arrow@current@style
\expandafter\draw\expandafter[\curvedarrow@style,-CF](\CF@arrow@start@name)..controls#1..(\CF@arrow@end@name);
\fi
}
\makeatother
\schemedebug{false}
\schemestart
\noindent
\setcrambond{2pt}{}{}
\chemfig{ % Benzene Center
[:60]**6(------)} % Команда [:60] обозначает поворот молекулы на 60 град. Для ЦГ это незаметно. Однако baseline теперь внизу молекулы.
\arrow(benz.north--ch.south){<=>[][][]}[90,2] % Линия к циклогексану
\chemfig{(*6(------))} % циклогексан
\arrow(@benz.125--mch.305){<=>[][][]}[125,2,,,draw=none] % Линия к метилциклогексану
\chemfig{(*6(----(-)--))} % метилциклогексан
\arrow(@benz.192--tol.east){<=>[][][]}[185,2,,,draw=none] % Линия к толуолу
\chemfig{(**6(-----(-)-))} % толуол
\arrow(@benz.226--xy.10){<=>[][][]}[219,2,,,draw=none] % Линия к ксилолу
\chemfig{(**6((-)----(-)--))} % ксилол
\arrow(@benz.255--eb.45){<=>[][][]}[248,2,,,draw=none] % Линия к этилбензолу
\chemfig{(**6((--[:150])------))} % этилбензол
\arrow(@benz.285--hep.west){<=>[][][]}[285,2,,,draw=none] % Линия к гептану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35]-[:-35])} % гептан
\arrow(@benz.325--hex.west){<=>[][][]}[325,2,,,draw=none] % Линия к гексану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35])} % гексан
\arrow(@benz.355--ihex.175){<=>[][][]}[355,2,,,draw=none] % Линия к изогексану
\chemfig{(-[:-35](-[:270])-[:35]-[:-35]-[:35])} % изогексан
\arrow(@benz.55--mcp.235){<=>[][][]}[55,2,,,draw=none] % Линия к МЦП
\chemfig{([:234]*5((-)-----))} % МЦП
\arrow(@benz.210--l.235){<=>[][][]}[210,2]
\arrow(@benz.330--r.235){<=>[][][]}[330,2]
\arrow(@tol.90--mch.225){s>[+(90:2) and +(210:1)]}[60,2] % curved arrows
\arrow(@ihex.90--mcp.330){s>[+(90:2.5) and +(330:1)]}[120,2.3]
\arrow(@hep.240--eb.340){s>[+(240:1.2) and +(340:1.2)]}[195,2.6]
\schemestop
\end{center}
\normalsize
\caption{Пути образования бензола}
\label{fig:Benzene_precursors2}
\end{figure}
\end{document}
好吧,几个月来没人能帮我。我画了箭头。但我无法将其置于方案的中心。我不知道如何使中心线不可见。
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{chemfig}
\begin{document}
\begin{figure}[h!]
\footnotesize
\begin{center}
\noindent
\tikz{\draw (0,0) -- (170:4cm) arc (170:135:4cm) -- +(210:2mm);
\draw (0,0) -- (45:4cm) arc (45:5:4cm) -- +(83:2mm);
\draw (0,0) -- (280:4cm) arc (280:260:4cm) -- +(338:2mm);
\draw (0,0) -- (135:3.85cm) arc (135:170:3.85cm) -- +(53:2mm);
\draw (0,0) -- (5:3.85cm) arc (5:45:3.85cm) -- +(290:2mm);
};
\end{center}
\normalsize
\caption{arrows}
\label{fig:arrows}
\end{figure}
\end{document}
答案1
<=>
使用和箭头的宏定义->
,您可以创建类似的弯曲替代方案。像这样:
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{chemfig}
\begin{document}
\begin{figure}[h!]
\footnotesize
\begin{center}
\noindent
\makeatletter
\definearrow3{<§>}{%
\CF@arrow@shift@nodes{#3}%
\path[allow upside down](\CF@arrow@start@node)--(\CF@arrow@end@node)%
node[pos=0,sloped,yshift= .866pt,xshift=-.5pt](\CF@arrow@start@node @u0){}%
node[pos=0,sloped,yshift=-.866pt,xshift= .5pt](\CF@arrow@start@node @d0){}%
node[pos=1,sloped,yshift= .866pt,xshift= .5pt](\CF@arrow@start@node @u1){}%
node[pos=1,sloped,yshift=-.866pt,xshift=-.5pt](\CF@arrow@start@node @d1){};%
\begingroup
\pgfarrowharpoontrue
\expandafter\draw\expandafter[\CF@arrow@current@style , bend left](\CF@arrow@start@node @u0) to (\CF@arrow@start@node @u1);%
\expandafter\draw\expandafter[\CF@arrow@current@style , bend right](\CF@arrow@start@node @d1) to (\CF@arrow@start@node @d0);%
\endgroup
\CF@arrow@display@label{#1}{0.5}+\CF@arrow@start@node{#2}{0.5}-\CF@arrow@end@node%
}
\definearrow3{s>}{%
\CF@arrow@shift@nodes{#3}%
\expandafter\draw\expandafter[\CF@arrow@current@style, bend left](\CF@arrow@start@node) to (\CF@arrow@end@node);%
\CF@arrow@display@label{#1}{0.5}+\CF@arrow@start@node{#2}{0.5}-\CF@arrow@end@node
}
\makeatother
\schemedebug{false}
\schemestart
\noindent
\setcrambond{2pt}{}{}
\chemfig{ % Benzene Center
[:60]**6(------)} % Команда [:60] обозначает поворот молекулы на 60 град. Для ЦГ это незаметно. Однако baseline теперь внизу молекулы.
\arrow(benz.north--ch.south){<=>[][][]}[90,2] % Линия к циклогексану
\chemfig{(*6(------))} % циклогексан
\arrow(@benz.125--mch.305){<=>[][][]}[125,2,,,draw=none] % Линия к метилциклогексану
\chemfig{(*6(----(-)--))} % метилциклогексан
\arrow(@benz.192--tol.east){<=>[][][]}[185,2,,,draw=none] % Линия к толуолу
\chemfig{(**6(-----(-)-))} % толуол
\arrow(@benz.226--xy.10){<=>[][][]}[219,2,,,draw=none] % Линия к ксилолу
\chemfig{(**6((-)----(-)--))} % ксилол
\arrow(@benz.255--eb.45){<=>[][][]}[248,2,,,draw=none] % Линия к этилбензолу
\chemfig{(**6((--[:150])------))} % этилбензол
\arrow(@benz.285--hep.west){<=>[][][]}[285,2,,,draw=none] % Линия к гептану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35]-[:-35])} % гептан
\arrow(@benz.325--hex.west){<=>[][][]}[325,2,,,draw=none] % Линия к гексану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35])} % гексан
\arrow(@benz.355--ihex.175){<=>[][][]}[355,2,,,draw=none] % Линия к изогексану
\chemfig{(-[:-35](-[:270])-[:35]-[:-35]-[:35])} % изогексан
\arrow(@benz.55--mcp.235){<=>[][][]}[55,2,,,draw=none] % Линия к МЦП
\chemfig{([:234]*5((-)-----))} % МЦП
\arrow(@benz.210--l.235){<=>[][][]}[210,2]
\arrow(@benz.330--r.235){<=>[][][]}[330,2]
\arrow(@tol.90--mch.225){<§>[][][]}[60,2] % curved arrows
\arrow(@[email protected]){<§>[][][]}[120,2.3]
\arrow(@hep.240--eb.340){s>[][][]}[195,2.6]
\schemestop
\end{center}
\normalsize
\caption{Пути образования бензола}
\label{fig:Benzene_precursors2}
\end{figure}
\end{document}
双箭头仍然不是非常准确,但至少两个箭头的曲线是相同的。然后,bend
我想使用比使用带坐标的曲线更容易。上面的代码产生:
编辑:编辑yshift
和xshift
,使它们适合的30度角bend
。
答案2
我做到了!虽然不是很理想,但我做到了。这是一个苯形成方案。
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{chemfig}
\begin{document}
\begin{figure}[h!]
\tiny
\begin{center}
\noindent
\makeatletter
\definearrow1{s>}{%
\ifx\@empty#1\@empty
\expandafter\draw\expandafter[\CF@arrow@current@style,-CF](\CF@arrow@start@node)--(\CF@arrow@end@node);%
\else
\def\curvedarrow@style{shorten <=\CF@arrow@offset,shorten >=\CF@arrow@offset,}%
\CF@expadd@tocs\curvedarrow@style\CF@arrow@current@style
\expandafter\draw\expandafter[\curvedarrow@style,-CF](\CF@arrow@start@name)..controls#1..(\CF@arrow@end@name);
\fi
}
\makeatother
\schemedebug{false}
\schemestart
\noindent
\setcrambond{2pt}{}{}
\chemfig{ % Benzene Center
[:60]**6(------)} % Команда [:60] обозначает поворот молекулы на 60 град. Для ЦГ это незаметно. Однако baseline теперь внизу молекулы.
\arrow(benz.north--ch.south){<=>[][][]}[90,2] % Линия к циклогексану
\chemfig{(*6(------))} % циклогексан
\arrow(@benz.125--mch.305){<=>[][][]}[125,2,,,draw=none] % Линия к метилциклогексану
\chemfig{(*6(----(-)--))} % метилциклогексан
\arrow(@benz.192--tol.east){<=>[][][]}[185,2,,,draw=none] % Линия к толуолу
\chemfig{(**6(-----(-)-))} % толуол
\arrow(@benz.226--xy.10){<=>[][][]}[219,2,,,draw=none] % Линия к ксилолу
\chemfig{(**6((-)----(-)--))} % ксилол
\arrow(@benz.255--eb.45){<=>[][][]}[248,2,,,draw=none] % Линия к этилбензолу
\chemfig{(**6((--[:150])------))} % этилбензол
\arrow(@benz.285--hep.west){<=>[][][]}[285,2,,,draw=none] % Линия к гептану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35]-[:-35])} % гептан
\arrow(@benz.325--hex.west){<=>[][][]}[325,2,,,draw=none] % Линия к гексану
\chemfig{(-[:35]-[:-35]-[:35]-[:-35]-[:35])} % гексан
\arrow(@benz.355--ihex.175){<=>[][][]}[355,2,,,draw=none] % Линия к изогексану
\chemfig{(-[:-35](-[:270])-[:35]-[:-35]-[:35])} % изогексан
\arrow(@benz.55--mcp.235){<=>[][][]}[55,2,,,draw=none] % Линия к МЦП
\chemfig{([:234]*5((-)-----))} % МЦП
\arrow(@benz.210--l.235){<=>[][][]}[210,2]
\arrow(@benz.330--r.235){<=>[][][]}[330,2]
\arrow(@tol.90--mch.225){s>[+(90:2) and +(210:1)]}[60,2] % curved arrows
%\arrow(@[email protected]){s>[+(245:1.7) and +(90:2.4)]}[60,2] % curved arrows
\arrow(@[email protected]){s>[+(249:1.7) and +(86:2.5)]}[60,2] % curved arrows
\arrow(@ihex.90--mcp.330){s>[+(90:2.4) and +(330:0.8)]}[120,2.3]
\arrow(@[email protected]){s>[+(306:1.5) and +(86:2.5)]}[120,2.3]
\arrow(@hep.240--eb.340){s>[+(240:1.2) and +(340:2)]}[195,2.6]
\schemestop
\end{center}
\normalsize
\caption{Схематичное представление путей образования бензола в процессе каталитического риформинга}
\label{fig:Benzene_precursors}
\end{figure}
\end{document}