排版化学式

排版化学式

用于排版化学式的“最佳”软件包是什么?(除了化学式,我什么都不需要。)

假设我想排版

AgBr 分子的解离需要的能量$E = \qty{123456789}{\J}$

我正在使用siunitx包装的物理数量但是呢AgBr

答案1

答案取决于你实际需要什么。如果你的所有公式都像 AgBr 或 FeO 一样简单,则不需要任何包,你可以直接输入它们。如果你一些用于标记源代码中的公式的宏,例如

\newcommand*\chem[1]{\textup{#1}}

就足够了。或者 - 如果你也打算在数学模式下使用它 -

\newcommand*\chem[1]{\ensuremath{\mathrm{#1}}}

第二个版本甚至允许您排版像 AlBr 3这样的公式甚至简单的反应方程式:

\documentclass{article}
\newcommand*\chem[1]{\ensuremath{\mathrm{#1}}}
\begin{document}

\chem{AlBr_3}

$\chem{H_2} + (1/2)\,\chem{O_2} = \chem{H_2O}$

$2\,\chem{H_2} + \chem{O_2} \to 2\,\chem{H_2O}$

\end{document}

输出 1

仅当你需要更复杂的功能或必须输入时很多如果你有这些公式,而不仅仅是十几个或二十个,那么其中一个化学包将开始为你带来好处。有两个包可以考虑:

  1. mhchem
  2. chemformula

两者之间的区别是

  • 语法上的细微差别,
  • 方程式布局的差异,例如间距,
  • 一组不同的定制选项,
  • 现在我可能忘记了更多。
\documentclass{article}
\usepackage[version=4]{mhchem}
\begin{document}

\ce{AlBr3}

\ce{H2 + (1/2) O2 = H2O}

\ce{2H2 +  O2 -> 2H2O}

\end{document}

输出 2

\documentclass{article}
\usepackage{chemformula}
\begin{document}

\ch{AlBr3}

\ch{H2 + (1/2) O2 == H2O}

\ch{2 H2 +  O2 -> 2 H2O}

\end{document}

输出 3

相关内容