在下面的 MWE 中,我尝试使用chemformula
和chemmacros
包来排版带有一些数学注释的反应。为什么反应 1 可以编译,而反应 2 却不能?
\documentclass[oneside,11pt]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
final
]{microtype}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage{siunitx}
\usepackage{mathtools}
\usepackage{chemmacros}
\usechemmodule{reactions}
\chemsetup[reactions]{
before-tag = R,
tag-open = [,
tag-close = ]
}
\usepackage{cleveref}
\begin{document}
% Reaction 1
\begin{reactions}
2 H2O + 2 e- &<=> H2 + 2 OH-&{$E^{\circ}$}
\end{reactions}
% Reaction 2
\begin{reactions}
2 H2O + 2 e- &<=> H2 + 2 OH-&{$E^{\circ} \approx \SI{-0.83}{\volt}$}
\end{reactions}
\end{document}
答案1
E^{\circ}
删除和之间的空格\approx
足以使代码可编译。
chemformula
有关's内空格的作用的深入解释(除非另有说明,\ch
否则reaction
环境主体将用 's 进行解析),请查看cgnieder 对相关问题的回答
\documentclass[oneside,11pt]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
final
]{microtype}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage{siunitx}
\usepackage{mathtools}
\usepackage{chemmacros}
\usechemmodule{reactions}
\chemsetup[reactions]{
before-tag = R,
tag-open = [,
tag-close = ]
}
\usepackage{cleveref}
\begin{document}
\begin{reactions}
2 H2O + 2 e- &<=> H2 + 2 OH-& $E^{\circ}\approx \SI{-0.83}{\volt}$
\end{reactions}
\end{document}
chemmacros
默认情况下会加载chemformula
包以排版化学式,但也提供了使用其他包的可能性,例如mhchem
(\chemsetup{formula= mhchem}
)。由于mhchem
使用不同的解析机制,方程式中的空格不是问题:
\documentclass[oneside,11pt]{book}
\usepackage[semibold,tt=false]{libertine}
\usepackage{libertinust1math}
\usepackage[
expansion = false ,
tracking = smallcaps ,
letterspace = 40 ,
final
]{microtype}
\usepackage[font={sf,small},labelsep=quad,labelfont=sc]{caption}
\usepackage{siunitx}
\usepackage{mathtools}
\usepackage{chemmacros}
\usechemmodule{reactions}
\chemsetup[reactions]{
before-tag = R,
tag-open = [,
tag-close = ]
}
\chemsetup{formula= mhchem}
\usepackage{cleveref}
\begin{document}
\begin{reactions}
2 H2O + 2 e- &<=> H2 + 2 OH-& $E^{\circ} \approx \SI{-0.83}{\volt}$
\end{reactions}
\end{document}