
Я пытаюсь ввести уравнение Бойлса в свой латексный отчет, и все выглядит нормально. Вот как я обычно кодирую свои уравнения:
\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}
вот как это выглядит
Для уравнения Бойлса я попробовал сделать то же самое вместе с \ch
командой, но это стало слишком длинным и вышло за пределы моей страницы. Я попробовал много других вариантов, например \split
или просто, \\
но ничего не сработало. Теперь я прибегнул к следующему коду:
$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
, для ввода и набора химических веществ и уравнений. Я бы также использовал макросы \unit
и \qty
пакета siunitx для выражения научных единиц и величин.
\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
package. И если они слишком длинные для одной строки, я предлагаю использовать больше одной строки.
Чего вам не следует делать, так это использовать математический режим для химических формул: они не являются математическими переменными и должны быть набраны вертикально. Следует использовать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}