我需要绘制带有多个箭头指向单个“节点”的化学方程式。我尝试装配 texdoc 帮助中给出的弯曲箭头示例chemfig
。
这显然可以做得更加对称。我不知道该怎么做。
看看这个 MWE
\documentclass{article}
\usepackage{chemfig}
\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
}
\definearrow1{s<}{%
\ifx\@empty#1\@empty
\expandafter\draw\expandafter[\CF@arrow@current@style,-CF](\CF@arrow@end@node)--(\CF@arrow@start@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@end@name)..controls#1..(\CF@arrow@start@name);
\fi
}
\makeatother
\begin{document}
\schemestart
X\arrow(.90--.180){s>[+(10:0.8) and +(180:0.8)]}[10] Y
\arrow(.0--.90){s<[+(170:0.8) and +(0:0.8)]}[-10]T
\arrow(.-90--.0){s>[+(-170:0.8) and +(0:0.8)]}[-170] Z
\arrow(.180--.-90){s<[+(-10:0.8) and +(180:0.8)]}[170]\,
\arrow(.0--.180){s>[+(0:0.8) and +(180:0.8)]}[0]V
\arrow(.0--.180){s<[+(180:0.8) and +(0:0.8)]}[0]
\schemestop
\end{document
}
答案1
使用手册第 57 页上的示例chemfig
,我得出了“化合物”对齐的解决方案:
\documentclass[11pt]{article}
\usepackage{chemfig}
\begin{document}
\schemestart
X \arrow(X--V){->}
V \arrow(V--T){<-}
T
\arrow(@V--Y){0}[90,0.5] Y
\arrow(@V--Z){0}[-90,0.5] Z
\arrow(@X--@Y){->}
\arrow(@X--@Z){->}
\arrow(@T--@Y){->}
\arrow(@T--@Z){->}
\schemestop
\end{document}
请注意,箭头是直的,而不是弯的。