如果你想要共享编号

如果你想要共享编号

方程式通常按 (1)、(2)、(3) 等进行编号,但我还希望将某些方程式标记为 (i)、(ii)、(iii)。我希望同时使用这两种编号系统。例如:

equation (1) <-- this is the label
equation (2)
equation (i)
equation (3)
equation (ii)
equation (4)
equation (5)

ETC。

这可能吗?

答案1

这是一个简单的解决方案,它定义了一个环境,eqn可以提供roman编号。

如果你想要共享编号

截屏

% arara: pdflatex
\documentclass{article}

\usepackage{amsmath}
\newenvironment{eqn}{%
        \refstepcounter{equation}\equation}
        {\tag{\roman{equation}}\endequation}
\begin{document}

\begin{equation}
  y=mx+b
\end{equation}
\begin{eqn}
f(x)=x^2  
\end{eqn}
\begin{equation}
  G(x)=\cos(x)
\end{equation}

\end{document}

如果你想要单独编号

截屏

% arara: pdflatex
\documentclass{article}

\usepackage{amsmath}
\newcounter{eqn}
\newenvironment{eqn}{%
        \refstepcounter{eqn}\equation}
        {\tag{\roman{eqn}}\endequation}
\begin{document}

\begin{equation}\label{eqn:linear}
  y=mx+b
\end{equation}
\begin{eqn}\label{eqn:quad}
f(x)=x^2  
\end{eqn}
\begin{equation}\label{eqn:trig}
  G(x)=\cos(x)
\end{equation}
\begin{eqn}\label{eqn:bessel}
h(x)=J_n(x)
\end{eqn}
\begin{itemize}
  \item reference: \eqref{eqn:linear}
  \item reference: \eqref{eqn:quad}
  \item reference: \eqref{eqn:trig}
  \item reference: \eqref{eqn:bessel}
\end{itemize}

\end{document}

对于多线方程

您可以使用相同的想法,使用相同的计数器,例如命令

\newcommand{\mytag}{\refstepcounter{equation}\tag{\roman{equation}}}

如果你想要共享方程编号,并且

\newcommand{\mytag}{\refstepcounter{eqn}\tag{\roman{eqn}}}

如果您想要单独编号。

% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}

\usepackage{amsmath}
\newcounter{eqn}
%\newcommand{\mytag}{\refstepcounter{eqn}\tag{\roman{eqn}}}
\newcommand{\mytag}{\refstepcounter{equation}\tag{\roman{equation}}}
\begin{document}

\begin{align}
    y    & =mx+b\label{eqn:linear}          \\
    f(x) & =x^2 \mytag\label{eqn:quad}      \\
    G(x) & =\cos(x) \label{eqn:trig}        \\
    h(x) & =J_n(x) \mytag\label{eqn:bessel} 
\end{align}
\begin{itemize}
    \item reference: \eqref{eqn:linear}
    \item reference: \eqref{eqn:quad}
    \item reference: \eqref{eqn:trig}
    \item reference: \eqref{eqn:bessel}
\end{itemize}

\end{document}

您的问题与一篇论文中有两种方程标签

答案2

它可以通过定义一个新环境来自动实现。我们称之为romanequation

\makeatletter

\newcounter{romanequation}

\def\incr@eqnumrom@n{\refstepcounter{romanequation}\let\incr@eqnumr\@empty}

\renewcommand{\theromanequation}{\roman{romanequation}}

\def\endmathdisplayroman#1{%
  \ifmmode \else \@badmath \fi
  \endmathdisplay@aroman
  $$%
  \global\let\df@label\@empty \global\let\df@tag\@empty
  \global\tag@false \global\let\alt@tag\@empty
  \global\@eqnswfalse
}

\def\endmathdisplay@aroman{%
  \if@eqnsw \gdef\df@tag{\tagform@\theromanequation}\fi
  \if@fleqn \@xp\endmathdisplay@fleqn
  \else \ifx\df@tag\@empty \else \veqno \alt@tag \df@tag \fi
    \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi
  \fi
  \ifnum\dspbrk@lvl>\m@ne
    \postdisplaypenalty -\@getpen\dspbrk@lvl
    \global\dspbrk@lvl\m@ne
  \fi
}

\def\print@eqnumrom@n{\tagform@\theromanequation}
\newenvironment{romanequation}{%

\incr@eqnumrom@n
\mathdisplay@push
\st@rredfalse \global\@eqnswtrue
\mathdisplay{equation}%
}{%
  \endmathdisplayroman{equation}%
  \mathdisplay@pop
  \ignorespacesafterend
}

\makeatother

以下是一个例子:

\documentclass{article}

\usepackage{amsmath}

\makeatletter

\newcounter{romanequation}

\def\incr@eqnumrom@n{\refstepcounter{romanequation}\let\incr@eqnumr\@empty}

\renewcommand{\theromanequation}{\roman{romanequation}}

\def\endmathdisplayroman#1{%
  \ifmmode \else \@badmath \fi
  \endmathdisplay@aroman
  $$%
  \global\let\df@label\@empty \global\let\df@tag\@empty
  \global\tag@false \global\let\alt@tag\@empty
  \global\@eqnswfalse
}

\def\endmathdisplay@aroman{%
  \if@eqnsw \gdef\df@tag{\tagform@\theromanequation}\fi
  \if@fleqn \@xp\endmathdisplay@fleqn
  \else \ifx\df@tag\@empty \else \veqno \alt@tag \df@tag \fi
    \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi
  \fi
  \ifnum\dspbrk@lvl>\m@ne
    \postdisplaypenalty -\@getpen\dspbrk@lvl
    \global\dspbrk@lvl\m@ne
  \fi
}

\def\print@eqnumrom@n{\tagform@\theromanequation}
\newenvironment{romanequation}{%

\incr@eqnumrom@n
\mathdisplay@push
\st@rredfalse \global\@eqnswtrue
\mathdisplay{equation}%
}{%
  \endmathdisplayroman{equation}%
  \mathdisplay@pop
  \ignorespacesafterend
}

\makeatother

\begin{document}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\begin{romanequation}
e^{i\pi}+1=0
\end{romanequation}

\begin{romanequation}
e^{i\pi}+1=0
\end{romanequation}

\begin{romanequation}
e^{i\pi}+1=0
\end{romanequation}

\begin{romanequation}
e^{i\pi}+1=0
\end{romanequation}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\begin{romanequation}
e^{i\pi}+1=0
\end{romanequation}

\begin{equation}
e^{i\pi}+1=0
\end{equation}

\end{document}

及其结果: 在此处输入图片描述

答案3

您可以执行以下操作:

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{align}
 \label{a}
  a+b\\
 \label{b}
  c+d\\
 \label{c}
  e+f\tag{i}\\
 \label{d}
  g+h\\
 \label{e}
  i+j\tag{ii}\\
 \label{f}
  k+l\\
 \label{g}
  m+n
\end{align}

Equation~\eqref{a}.

Equation~\eqref{b}.

Equation~\eqref{c}.

Equation~\eqref{d}.

Equation~\eqref{e}.

Equation~\eqref{f}.

Equation~\eqref{g}.

\end{document}

输出

我可能误解了你(我不确定);你想自动编号而不必使用吗\tag

相关内容