化学方程式中的分数不起作用

化学方程式中的分数不起作用

我尝试将 Boyles 方程式输入到我的 Latex 报告中,一切看起来都很好。我通常这样编写方程式:

\begin{gather}

n_{CH_4}=\frac{COD}{64\frac{g}{mol}}

\intertext{Where:}

\begin{tabular}

    $n_{CH_4}$ is the amount of molecular methane in $mol$\\

    $COD$ is experimentally obtained value 
of chemical oxygen demand

\end{tabular}\nonumber

\label{eq: n}

\end{gather}

这就是它的样子

在此处输入图片描述

对于 Boyles 方程,我尝试使用命令执行相同的操作\ch,但它变得太长并且超出了我的页面。我尝试了许多其他选项,例如\split或 simply \\,但似乎都不起作用。现在,我求助于以下代码:

$C_nH_aO_bN_c$+$(n-\frac{a}{4}-\frac{b}{2}+\frac{3c}{4})$ $H_2O$ \longrightarrow 
    ($\frac{n}{2}$+$\frac{a}{8}$-$\frac{b}{4}$-$\frac{3c}{8})$ $CH_4+(\frac{n}{2}-\frac{a}{8}+\frac{b}{4}+\frac{3c}{8})CO_2+cNH_3$

分数仍然不对,而且我的等式旁边也没有编号标签。它看起来像这样:

在此处输入图片描述

答案1

我强烈建议您使用化学包(例如)mhchem来输入和排版化学物质和方程式。我还将使用siunitx 包的\unit和宏来表达科学单位和数量。\qty

在此处输入图片描述

\documentclass{article} % or some other suitable document class
\usepackage{array}             % for '\newcolumntype' macro
\usepackage[version=4]{mhchem} % for '\ce' macro
\usepackage{amsmath}           % for 'multline*' environment
\usepackage{siunitx}           % for '\unit' and '\qty' macros

\newcolumntype{P}[1]{%  % 'p' col. type, w/ automatic hanging indentation
   >{\raggedright\arraybackslash\hangafter=1\hangindent=1em}p{#1}}
\sisetup{per-mode=symbol}

\begin{document}

\noindent
(bla bla bla \dots)
\[
 n_{\ce{CH4}}=\frac{\mathrm{COD}}{\qty{64}{\gram\per\mol}}
\]
where
\begin{center}
\begin{tabular}{ l P{3in} }
$n_{\ce{CH4}}$ & amount of molecular methane, in \unit{\mol} \\
$\mathrm{COD}$ & experimentally obtained value of chemical oxygen demand
\end{tabular}
\end{center}
Using a \texttt{multline*} environment and six instances of \texttt{\string\ce}:
\begin{multline*}
\ce{C_nH_aO_bN_c} 
+ \Bigl(n-\frac{a}{4}-\frac{b}{2}+\frac{3c}{4}\Bigr) \ce{H2O} \\ 
\ce{->}
\Bigl(\frac{n}{2}+\frac{a}{8}-\frac{b}{4}-\frac{3c}{8}\Bigr) \ce{CH4}
+\Bigl(\frac{n}{2}-\frac{a}{8}+\frac{b}{4}+\frac{3c}{8}\Bigr)\ce{CO2}+c\ce{NH3}
\end{multline*}

\end{document}

答案2

当然可以有编号的反应,例如使用chemmacros包。如果它们太长,一行写不完,我建议使用多行。

你不应该使用数学模式来输入化学公式:它们不是数学变量,实际上应该排版成直立。应该使用chemformula(中的默认值chemmacros)或mhchem对他们来说。

像这样构造

($\frac{n}{2}$+$\frac{a}{8}$-$\frac{b}{4}$-$\frac{3c}{8})$

是错误的。你不应该离开数学模式去使用加号和减号。错误的间距只是错误后果之一。

这是一个快速建议,它也使用siunitx包装单位及数量:

\documentclass{article}

\usepackage{chemmacros}
\chemsetup{
  reactions/own-counter = false % equations and reactions share counter
}
\NewChemReaction{multreaction}{multline}% new reaction type based on multline by amsmath

% setup siunitx (loaded by chemmacros)
\sisetup{
  per-mode = fraction
}

\usepackage{lipsum}% for sample text

\begin{document}

\begin{equation}
  n_{\ch{CH4}}=\frac{COD}{\qty{64}{\gram\per\mole}}
\end{equation}
Where:
\begin{itemize}
  \item $n_{\ch{CH4}}$ is the amount of molecular methane in \unit{\mole}
  \item $COD$ is experimentally obtained value of chemical oxygen demand
\end{itemize}
\lipsum[1]
\begin{multreaction}
C_{$n$}H_{$a$}O_{$b$}N_{$c$} + $\Bigl(n-\frac{a}{4}-\frac{b}{2}+\frac{3c}{4}\Bigr)$ H2O -> \\
    $\Bigl(\frac{n}{2}+\frac{a}{8}-\frac{b}{4}-\frac{3c}{8}\Bigr)$ CH4 +
    $\Bigl(\frac{n}{2}-\frac{a}{8}+\frac{b}{4}+\frac{3c}{8}\Bigr)$ CO2 + $c$ NH3
\end{multreaction}
\lipsum[2]

\end{document}

在此处输入图片描述

相关内容