将化学方程式与电位对齐

将化学方程式与电位对齐

我想制作一个编号的化学方程式,并在右边标出该方程式的势。这就是我所拥有的:

\begin{align}
\label{eq:NiOOH}
    \ce{NiOOH + H2O + e- &<=>[discharge][charge] Ni(OH)2 + OH-}
    \tagaddtext{[$E_0,red=0,52$ \si{\volt}]}
\end{align}

对于大多数方程来说,这都是可行的,但是如果方程太长,它就会与势重叠: 在此处输入图片描述

我尝试使用 FLALIGN 将等式向左对齐,但没有任何变化。

所有其他复数方程看起来都一样: 在此处输入图片描述

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{chemmacros}
\usechemmodule{reactions}
\usepackage{siunitx}

\begin{document}

\begin{reaction}
    NiOOH + H2O + e- <=>[discharge][charge] Ni(OH)2 + OH-
     $\qquad[E_0,red=\SI{0,52}{\volt}]$ \label{rct:NiOOH}
\end{reaction}

\end{document}

答案2

我建议使用这个 MWE,我已经使用双箭头chemarrow包获得了这个。当然,你总是可以使用特定的chemmacros包。对于\tagaddtext 从这个地点,则必须添加代码:

\makeatletter
\providecommand\add@text{}
\newcommand\tagaddtext[1]{%
  \gdef\add@text{#1\gdef\add@text{}}}% 
\renewcommand\tagform@[1]{%
  \maketag@@@{\llap{\add@text\quad}(\ignorespaces#1\unskip\@@italiccorr)}%
}
\makeatother

添加最小完整可编译代码非常重要。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage[margin=2cm]{geometry}
\usepackage{chemarrow}
\usepackage{siunitx}
\sisetup{detect-all}

\makeatletter
\providecommand\add@text{}
\newcommand\tagaddtext[1]{%
  \gdef\add@text{#1\gdef\add@text{}}}% 
\renewcommand\tagform@[1]{%
  \maketag@@@{\llap{\add@text\quad}(\ignorespaces#1\unskip\@@italiccorr)}%
}
\makeatother

\begin{document}
\begin{align}
\mathrm{NiOOH + H_2O + e^-} \autorightleftharpoons{discharge}{charge} \mathrm{Ni(OH)_2 + OH^-}& &\tagaddtext{$[E_0, \text{red}=0.52 \si{\volt}]$}
\label{eq:NiOOH}
\end{align}
\end{document}

在此处输入图片描述

相关内容