我正在尝试制作一个图形来显示氢键。但是该图形使用 chemfig 和 tikz 绘制,但图形与周围的文本重叠。
这是我的 MWE:
\documentclass{article}
\usepackage{chemfig}
\usepackage{lipsum}
\begin{document}
\lipsum[10]
\begin{figure}[h]
\centering
\begin{tikzpicture}
\schemestart
\draw (0,0) node {\chemfig{H-@{doublet}\charge{[circle]270=\|,340=\|}{O}-[:75]H}}
(340:3) node [rotate=-20] {\chemfig{{@{hydrogene}H-\charge{[circle]270=\|,340=\|}{O}-[:75]H}}};
\schemestop
\chemmove{\draw [dashed,-] (doublet.340)--(hydrogene.160);}
\end{tikzpicture}
\caption{Schématisation d'une liaison hydrogène dans l'eau}
\label{fig:liaisonH}
\end{figure}
\lipsum[1]
\end{document}
由于 chemfig/tikz 代码显然并不完美,因此欢迎任何改进它的帮助。我主要担心的是图形和文本之间的重叠。
编辑:我找到了一种不令人满意的方法来解决这个问题:我\vspace{1cm}
在图片和标题之前添加了。然后它几乎看起来像我想要的那样:
我更喜欢:图形居中,如果有人想纠正图形,虚线应该从 O 到 H。
答案1
由于 tikz 环境与 的组合\schemestart
似乎\chemove
会导致问题,我只是添加了一个不可见的箭头并删除了你的节点(它们不是必需的)。
该图现在位于中心并且虚线从 O 分子延伸到 H 分子。
您可以通过改变 的值来随意调整两个分子之间的角度,\setchemfig{arrow angle=<value>}
并通过改变 的值来调整距离\arrow{0}[,<value>]
。
\documentclass{article}
\usepackage{chemfig}
\usepackage{lipsum}
\begin{document}
\lipsum[10]
\begin{figure}[h]
\centering
\setchemfig{arrow angle=-5}
\schemestart
\chemfig{H-@{doublet}\charge{[circle]270=\|,340=\|}{O}-[:75]H}
\arrow{0}[,2.5]
\chemfig{{@{hydrogene}H-\charge{[circle]270=\|,340=\|}{O}-[:75]H}}
\schemestop
\chemmove{\draw [dashed,-] (doublet.340)--(hydrogene.160);}
\caption{Schématisation d'une liaison hydrogène dans l'eau}
\label{fig:liaisonH}
\end{figure}
\lipsum[10]
\end{document}