如何在 latex 中引用图形环境中使用的算法?当我使用 \ref{} 时,latex 不知道其关联的标签

如何在 latex 中引用图形环境中使用的算法?当我使用 \ref{} 时,latex 不知道其关联的标签
\documentclass[twocolumn]{autart}    

\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{amsmath}
\usepackage{graphicx}          


\begin{document}

\begin{figure} 
\label{Fig1}
\begin{algorithm}[H]
1: \textbf{for} each mode $i\hspace{0.08cm}\epsilon \hspace{0.08cm}\mathcal I$ \textbf{do}

2: \hspace{0.8cm}$\Omega_i^0=\mathcal{X}_i$

3: \textbf{end for}

4: \textbf{repeat}

5: \textbf{for} each mode $i\hspace{0.08cm}\epsilon \hspace{0.08cm}\mathcal I$ \textbf{do}
 \caption{My Pseudocode }
\end{algorithm}
\caption{My Figure Caption .}
\end{figure}



As Figure.~\ref{Fig1} mentions 


\end{document}

在此处输入图片描述

答案1

无论如何你都会加载这个包algpseudocode,所以我们就使用它吧。参见软件包文档algorithmicx了解详情。

附注:对于 'is-element-of' 关系,有 TeX 命令\in。如果您不喜欢该符号,可以更改它,但不建议使用类似的东西\hspace{0.08cm}\epsilon \hspace{0.08cm}

在此处输入图片描述

\documentclass{article}
\usepackage{algpseudocode}
\usepackage{algorithm}
\begin{document}

\begin{algorithm}
  \begin{algorithmic}[1]
\For{each mode $i\in\mathcal I$}
\State $\Omega_i^0=\mathcal{X}_i$
\EndFor
\Repeat
  \For{each mode $i\in\mathcal I$}
  \EndFor
\Until{bored}
\end{algorithmic}
\caption{My Pseudocode }
\label{Fig1}
\end{algorithm}

See Algorithm~\ref{Fig1}. 

\end{document}

如果你更喜欢将算法视为图形,我建议用 替换algorithmfigure但不要嵌套它们。

在此处输入图片描述

\documentclass{article}
\usepackage{algpseudocode}
\begin{document}

\begin{figure}
  \begin{algorithmic}[1]
\For{each mode $i\in\mathcal I$}
\State $\Omega_i^0=\mathcal{X}_i$
\EndFor
\Repeat
  \For{each mode $i\in\mathcal I$}
  \EndFor
\Until{bored}
\end{algorithmic}
\caption{My Pseudocode }
\label{Fig1}
\end{figure}

See Figure~\ref{Fig1}. 

\end{document}

相关内容