插入伪代码如图所示

插入伪代码如图所示

这是我在 tex.stackexchange 上的第一篇帖子,因此如有任何违反正确提问之处,请原谅。

我目前正在写一篇关于一个包含大量代码的项目的论文。我想将代码中最重要的(也是“天才的”)部分作为伪代码添加到论文中,并希望将它们列在我的常规中\listoffigures,最好能提示一下,这些都是伪代码片段。

我的目的是与此类似:

图表列表

  1. 一些普通人物
  2. 另一个正常图形
  3. beautifulAlgorithm(伪代码)

伪代码片段的名称应该是“beautifulAlgorithm”,而不是“beautifulAlgorithm (PseudoCode)”。

我正在使用 TexMaker、MikTex 和article环境。(以防万一这对任何人来说都是必要或有用的信息)

答案1

伪代码取自此处的其他地方。由于您没有提供 MWE,因此我不得不猜测一些内容。该包caption通过模仿其他环境中的字幕来帮助您。伪代码的默认行为(布局)没有改变(至少在我的示例中没有改变)。

% arara: pdflatex
% arara: pdflatex

\documentclass{article}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{caption}


\begin{document}
\listoffigures
\begin{figure}[h] % [h] just to get it behind the list of figures.
    \centering
    \rule{3cm}{2cm}
    \caption{1. Figure}
\end{figure}
\begin{algorithm}
    \captionof{figure}[beautifulAlgorithm (PseudoCode)]{beautifulAlgorithm}
    \begin{algorithmic}[1]
            \Procedure{MyProcedure}{}
            \State $\textit{stringlen} \gets \text{length of }\textit{string}$
            \State $i \gets \textit{patlen}$
            \If {$i > \textit{stringlen}$} \Return false
            \EndIf
            \State $j \gets \textit{patlen}$
            \If {$\textit{string}(i) = \textit{path}(j)$}
            \State $j \gets j-1$.
            \State $i \gets i-1$.
            \State \textbf{goto} \emph{loop}.
            \State \textbf{close};
            \EndIf
            \State $i \gets i+\max(\textit{delta}_1(\textit{string}(i)),\textit{delta}_2(j))$.
            \State \textbf{goto} \emph{top}.
            \EndProcedure
    \end{algorithmic}
\end{algorithm}
\begin{figure}
    \centering
    \rule{3cm}{2cm}
    \caption{2. Figure}
\end{figure}
\end{document} 

在此处输入图片描述

相关内容