Chemfig 为多个原子设置颜色

Chemfig 为多个原子设置颜色

我有一个分子,我只想用不同的颜色突出显示两个原子(O- 和 Na+)。但是,每当我将两个原子都放在\textcolor{olive}{O\textsuperscript{-}Na\textsuperscript{+}}分子中时,原子就会向左移动。有办法阻止这种情况吗?提前致谢!

\documentclass{article}
\usepackage{graphicx}
\usepackage{chemfig}
\usepackage{geometry}
\usepackage{tabu}
\usepackage{textgreek}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{siunitx}
\usepackage{chemmacros}
\usetikzlibrary{arrows}

\begin{document}
\begin{center}
\tabulinesep = ^ 4mm _ 4mm % border gap
\begin{tabu} to 13cm {|X[cm]|}
    \hline
    \schemestart
    \chemfig{H_2 \charge{92:2pt =\:}{N}-[:-30](-[:-90,0.7]R)-[:30,0.75](=[:90,0.75]O)-[:-30,0.75]OH}
    \arrow{0}[,0]
    \+
    \chemfig{NaOH}
    \arrow[,1.5,thick]
    \chemfig{H_2 \charge{92:2pt =\:}{N}-[:-30](-[:-90,0.7]R)-[:30,0.75](=[:90,0.75]O)-[:-30,0.75]\textcolor{olive}{O\textsuperscript{-}Na\textsuperscript{+}}}
    \arrow{0}[,0]
    \+ 
    \chemfig{H_2O}
    \schemestop
    \\
    \hline
\end{tabu}
\end{center}

\end{document}

答案1

注意:这样写会更简洁、更简短,O^{-}Na^{+}而不是O\textsuperscript{-}Na\textsuperscript{+}}

现在的问题是,当你包裹这两个原子时,它们在定位上被视为一个。因此它们将发生移动,这样连接的键将从该化合物的中心开始。

代替

\textcolor{olive}{O^{-}Na^{+}}

你需要写

\textcolor{olive}{O^{-}}|\textcolor{olive}{Na^{+}}

请注意添加的管道符号 ( |),它将两个原子分开,以便chemfig知道应该将键附加到第一个原子上。

相关内容