mathtools tagform 标签

mathtools tagform 标签

因此我使用较低的版本,如下所示: 如何强制对特定方程式进行特殊编号

使用 \usetagform{reaction} 和 \usetagform{default} 在反应和默认之间切换

但编号保持不变。在引用 with 时,至少可以\label{R1}包含\ref{R1}标题中定义的前缀 R 吗?\newtagform{reaction}[R]()

以下是 MWE:

    \documentclass[12pt,fleqn,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage[ngerman]{babel}

\newtagform{reaction}{(R}{)}

\begin{document}

\usetagform{reaction}
\begin{align}
    X + Y \quad \longrightarrow \quad Z \label{R1}
\end{align}

\usetagform{default}
\begin{align}
    x + y = z \label{eq2}
\end{align}

This is what I get:
\begin{enumerate}
    \item reaction (\ref{R1})
    \item equation (\ref{eq2})
\end{enumerate}


But I want:
\begin{enumerate}
    \item reaction ({\rm R}\ref{R1})
    \item equation (\ref{eq2})
\end{enumerate}


\end{document}

答案1

更新:这更接近您想要的吗?

\documentclass[12pt,fleqn,a4paper]{article}
\usepackage{amsmath}

\newcommand{\PrependEqNo}[1]{\stepcounter{equation}\tag{#1\theequation}}

\begin{document}

\begin{align}
    X + Y \quad &\longrightarrow \quad Z \PrependEqNo{R}
    \label{R1}\\
    A + B \quad &\longrightarrow \quad C \label{2}  
\end{align}
Above are reaction \eqref{R1} and equation \eqref{2}.
\begin{subequations}
\begin{align}
 U+V\quad &\longrightarrow \quad W\PrependEqNo{R}\\
 F+G\quad &\longrightarrow \quad H
\end{align}
\end{subequations}
\end{document}

在此处输入图片描述

老东西:在 mathtools 手册中写道:“当您使用 \eqref 引用方程式时,引用时有效的标记形式将控制格式,因此如果您在整个文档中使用不同的标记形式,请务必小心。”但是,我认为以下内容可能会满足您的要求。

\documentclass[12pt,fleqn,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage[ngerman]{babel}

\newtagform{reaction}{(R}{)}


\newcommand{\SwitchToChem}{\renewcommand{\theequation}{R\arabic{equation}}}
\newcommand{\SwitchBack}{\renewcommand{\theequation}{\arabic{equation}}}


\begin{document}

\usetagform{reaction}
\begin{align}
    X + Y \quad \longrightarrow \quad Z \label{R1}
\end{align}

\usetagform{default}
\begin{align}
    x + y = z \label{eq2}
\end{align}

This is what I get:
\begin{enumerate}
\usetagform{reaction}
    \item reaction \eqref{R1}
\usetagform{default}    
    \item equation \eqref{eq2}
\end{enumerate}

If you want to have this without switching, use 
\SwitchToChem
\begin{equation}
 U+W\quad\longrightarrow\quad V\label{R2}
\end{equation}
\SwitchBack
Here comes \eqref{R2}.
\end{document}

相关内容