如何使化学式中的箭头更短?(使用 mhchem)

如何使化学式中的箭头更短?(使用 mhchem)

我在用着化学工程写出化学式,例如克莱门斯(如下所示)。有没有办法->在第二个方程中使主箭头缩短一个固定值?

代码如下:

\documentclass{article}
\usepackage[version=4]{mhchem}
\begin{document}

\ce{Na2SO4 ->[H2O] Na+ + SO4^2-}

\ce{(2Na+,SO4^2- ) + (Ba^2+, 2Cl- ) -> BaSO4 v + 2NaCl}

\end{document}

在此处输入图片描述

答案1


\documentclass{article}
\usepackage[version=4]{mhchem}

\ExplSyntaxOn
\keys_define:nn { mhchem }
 {
  arrow-min-length .code:n =
   \cs_set:Npn \__mhchem_arrow_options_minLength:n { {#1} } % default is 2em
 }
\ExplSyntaxOff

\begin{document}

\ce{(2Na+,SO4^2- ) + (Ba^2+, 2Cl- ) -> BaSO4 v + 2NaCl}

\mhchemoptions{arrow-min-length=1em}

\ce{(2Na+,SO4^2- ) + (Ba^2+, 2Cl- ) -> BaSO4 v + 2NaCl}

\mhchemoptions{arrow-min-length=10em}

\ce{(2Na+,SO4^2- ) + (Ba^2+, 2Cl- ) -> BaSO4 v + 2NaCl}

\end{document}

在此处输入图片描述

答案2

考虑标签,您也可以使用 LaTeX 的基本命令来构建化学反应。例如\xrightarrow{\hspace*{6cm}},您可以增加或减少箭头的长度。方程式都是对齐的。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}

\begin{document}
\[
\begin{aligned}
\mathrm{Na}_2\mathrm{SO}_6 & \overset{\mathrm{H}_2\mathrm{O}}{\longrightarrow} \mathrm{Na}^+ + \mathrm{SO}_4^{2-}\\
(2\mathrm{Na}^+\mathrm{SO}_4^{2-})+(\mathrm{Ba}^{2+}, 2\mathrm{Cl}^-) & \longrightarrow \mathrm{Ba}\mathrm{SO}_4\!\downarrow+2\mathrm{NaCl} \\
\mathrm{Na}_2\mathrm{SO}_6 & \overset{\mathrm{H}_2\mathrm{O}}{\xrightarrow{\hspace*{5cm}}} \mathrm{Na}^+ + \mathrm{SO}_4^{2-}\\
(2\mathrm{Na}^+\mathrm{SO}_4^{2-})+(\mathrm{Ba}^{2+}, 2\mathrm{Cl}^-) & \xrightarrow{\hspace*{6cm}} \mathrm{Ba}\mathrm{SO}_4\!\downarrow+2\mathrm{NaCl}
\end{aligned}
\]
\end{document}

相关内容