我想在包含一些标准方程式的文本中引入一组化学反应(见下面的代码)。标准方程式应该连续编号,但化学反应应该编号为 R1-Rn。我该怎么做?
\begin{align}
\ce{CH4} &+ \frac{3}{2}\ce{O2} \rightarrow \ce{CO} + 2\ce{H2O} \label{eqn:hom2}\\
\ce{CO} &+ \frac{1}{2}\ce{O2} \rightarrow \ce{CO2} \label{eqn:hom3}
\end{align}
答案1
这是一个解决方案:
\documentclass{article}
\newcounter{chem}
\newcounter{temp}
\usepackage{amsmath}
\usepackage{mhchem}
\newenvironment{chequation}{%
\setcounter{temp}{\value{equation}}%
\setcounter{equation}{\value{chem}}%
\renewcommand{\theequation}{R\arabic{equation}}%
}{%
\setcounter{chem}{\value{equation}}%
\setcounter{equation}{\value{temp}}%
}
\begin{document}
\noindent
A \hfill Z
\begin{equation}
\label{eq1}
x+y=z
\end{equation}
\begin{chequation}
\begin{align}
\ce{CH4} &+ \frac{3}{2}\ce{O2} \rightarrow \ce{CO} + 2\ce{H2O} \label{eqn:hom2}\\
\ce{CO} &+ \frac{1}{2}\ce{O2} \rightarrow \ce{CO2} \label{eqn:hom3}
\end{align}
\end{chequation}
\begin{equation}
\label{eq2}
x^2+y^2=1
\end{equation}
\begin{equation}
\label{eq3}
x^2-y^2=1
\end{equation}
\begin{chequation}
\begin{align}
\ce{CH4} &+ \frac{3}{2}\ce{O2} \rightarrow \ce{CO} + 2\ce{H2O} \label{eqn:foo}\\
\ce{CO} &+ \frac{1}{2}\ce{O2} \rightarrow \ce{CO2} \label{eqn:bar}
\end{align}
\end{chequation}
In this example I have Reactions~\ref{eqn:hom2},~\ref{eqn:hom3},~\ref{eqn:foo} and~\ref{eqn:bar}, as well as Equations~\ref{eq1},~\ref{eq2} and~\ref{eq3}.
\noindent A \hfill Z
\end{document}
及其输出:
答案2
数学工具允许定义“标签样式”:mathtools
在序言中加载和定义:
\newtagform{reaction}[r.]()
并在文档正文中:
\usetagform{reaction}
在您想要使用此标签样式的位置。如果稍后您想要返回到标准标签,请使用:
\usetagform{default}