chemfig -- \charge 写入周围文本

chemfig -- \charge 写入周围文本
\documentclass{scrartcl}
\usepackage{chemfig}
\begin{document}
    \par ggg jjj ggg jjj ggg jjj ggg jjj
    \par
    \schemestart
    \chemfig{A-\charge{90:5pt=\textcolor{red}{+}}{B}-C}
    \schemestop
\end{document}

在此处输入图片描述

如何将化学式与周围文字区分开?

\vspace{}如果我必须为每个此类情况手动选择合适的措施,那么我并不是在寻求答案。我希望它是自动化的。

使用\Charge而不是\charge会扰乱 A、B、C 的垂直对齐。

将该方案投入到minipage环境中并没有帮助。

答案1

overlay绕过的方法\tikzmarknode

\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{chemfig}
\begin{document}
    \par ggg jjj ggg jjj ggg jjj ggg jjj
    \par
    \schemestart
    \chemfig{A-\charge{90:5pt=\subnode{a1}{\textcolor{red}{+}}}{B}-C}
    \tikz[remember picture]\path (a1.north) ++(0,2pt);
    \schemestop
\end{document}

在此处输入图片描述

答案2

chemfig手动的(第 32 页)提出了类似下面的方法,但是,这种方法延长了带电原子旁边的原子之间的键:

\documentclass{scrartcl}
\usepackage{chemfig}
\definesubmol\X{\vphantom{X}}

\begin{document}
    ggg jjj ggg jjj ggg jjj ggg jjj

    \chemfig[anchor=atom.base]{A-!\X|\Charge{90:5pt[red]=+}{B}|!\X-C}

    ggg jjj ggg jjj ggg jjj ggg jjj
\end{document}

在此处输入图片描述

首先,我们使用\Charge命令添加加号。\Charge与命令不同\charge,命令不会将电荷打印为overlay。然后,我们定义一个子分子\X,它本质上是一个宽度为零、高度为字母 X 的盒子。我们使用将这个“零宽度原子”附加到实际(带电)原子的左侧和右侧!\X。然后我们需要使用拆分原子|,这样“分子”现在就变成了!\X|\Charge{...}|!\X。这样,当chemfig将其他原子连接到这个分子时,它只会看到一个高度为 X 的原子,因此可以正确地垂直对齐所有内容。

--

如果您希望键具有原始长度,则可以使用键选项的第二个参数进行调整:

\documentclass{scrartcl}
\usepackage{chemfig}
\definesubmol\X{\vphantom{X}}

\begin{document}
    ggg jjj ggg jjj ggg jjj ggg jjj

    \chemfig[anchor=atom.base]{A-[,.87]!\X|\Charge{90:5pt[red]=+}{B}|!\X-[,.87]C}

    ggg jjj ggg jjj ggg jjj ggg jjj

    \chemfig[anchor=atom.base]{A-\charge{90:5pt[red]=+}{B}-C}

    ggg jjj ggg jjj ggg jjj ggg jjj
\end{document}

在此处输入图片描述

答案3

如果您对 ChemFig 图形使用 \begin{center} \end{center},则不会重叠。

   \documentclass{scrartcl}
\usepackage{chemfig}
\begin{document}
    \par ggg jjj ggg jjj ggg jjj ggg jjj
\begin{center}
    \schemestart
    \chemfig{A-\charge{90:5pt=\textcolor{red}{+}}{B}-C}
    \schemestop
\end{center}
\end{document}

在此处输入图片描述

相关内容