Chemfig 正在我的文本上绘制开箱即用的内容

Chemfig 正在我的文本上绘制开箱即用的内容

我正在尝试制作一个图形来显示氢键。但是该图形使用 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}

在此处输入图片描述

答案2

如果您为分子创建单独的图形,然后将图形插入文本中,则可以使工作更轻松。这样,图形和文本之间就不会重叠。

\documentclass[margin={2mm 2mm}]{standalone}
\usepackage{chemfig}

\begin{document}

\schemestart
            \chemfig{H-\charge{344=\|, 254=\|}{O}(-[:76]H)-[:344,3,,,,dotted]H-\charge{344=\|, 254=\|}{O}(-[:76]H)}
\schemestop

\end{document}

在此处输入图片描述

相关内容