用方程式枚举算法

用方程式枚举算法

我正在使用算法包和算法环境都有自己的编号。我想用方程式来编号算法。也就是说,如果我写

\begin{equation} 1 = 1 \end{equation}
\begin{algorithm} 
     \caption{Some Algorithm}
     \label{alg}
\end{algorithm}

我希望第一个方程的编号为 1,算法的编号为 2。
文档教了一种在章节、部分等内对算法进行编号的方法。但我没有找到有关此内容的任何信息。

谢谢。

编辑:我的 MWE

\documentclass[11pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{amsmath,amsthm,amsfonts}
\usepackage[noend]{algpseudocode}
\usepackage{algorithm}

\begin{document}

\begin{equation} \label{eq}
1 = 0
\end{equation}

\begin{algorithm}
\caption{My Algorithm}
\label{al}
\begin{algorithmic}
\Function{Alg}{n}
\State \Return $n$
\EndFunction
\end{algorithmic}
\end{algorithm}

\end{document}

答案1

你让algorithm柜台成为确切地equation与使用计数器相同

\makeatletter
\let\c@algorithm\c@equation % algorithm counter is exactly the same as equation
\makeatother

但请注意,您尝试等同的文档元素完全不同。一个是就地设置的(当您对其进行编码时),而另一个通常漂浮寻找合适的位置。

以下最小示例按照您的要求进行操作,并且还突出显示了浮点数不同步的枚举algorithm

enter image description here

\documentclass{article}

\usepackage{algorithm}

\makeatletter
\let\c@algorithm\c@equation % algorithm counter is exactly the same as equation
\makeatother

\begin{document}

Some text before the equation.
\begin{equation}
  f(x) = ax^2 + bx + c
\end{equation}
Some text after the equation.

\begin{algorithm}[t]
  \caption{Some Algorithm}
\end{algorithm}

Some text after the \texttt{algorithm} \emph{float}. Another equation
\begin{equation}
  g(x) = ax^2 + bx + c
\end{equation}
at the end.

\end{document}

相关的:如何影响 LaTeX 中图形和表格等浮动环境的位置?

相关内容