我可以从标题中删除“算法”一词并仅保留标题吗?另外,我希望在第 3 步之后缩进“for 循环”

我可以从标题中删除“算法”一词并仅保留标题吗?另外,我希望在第 3 步之后缩进“for 循环”
\begin{algorithm}[h]
\begin{algorithmic}
\caption{Math  algorithm}
\STATE \textbf {Step 1} $\rightarrow $ gather the data 
\STATE \textbf {Step 2} $\rightarrow $ estimate  matrix 
\STATE \textbf {Step 3} {$\rightarrow $\\ {

      \FOR {$k=0$ to final} 
                       \STATE \hspace*{1.45cm} $\Rightarrow$  calculate 
                       \STATE \hspace*{1.45cm} $\Rightarrow$  calculate error 
                        \STATE \hspace*{1.45cm} $\Rightarrow$ update  
                        \ENDFOR}}
                         \STATE \textbf {Step 10} $\rightarrow $ calculate            
\end{algorithmic}
 \end{algorithm}

答案1

  1. 要从标题中删除名称“Algorithm”,您可以使用标题包并使用 \DeclareCaptionLabelFormat 声明标签的格式(参见下面的示例);如果您想隐藏名称编号,您可以使用

    \captionsetup[algorithm]{labelformat=empty}
    
  2. 为了方便缩进,我定义了两个命令\bindent(开始缩进) 和\eindent(结束缩进),它们为您提供用户指定的缩进。默认值为2em,但您可以通过可选参数控制它(参见下面的示例;特别注意,现在不再需要\hspace您使用的那些手动命令)。

代码:

\documentclass{article}
\usepackage{caption}
\usepackage{algorithm}
\usepackage{algorithmic}

\DeclareCaptionLabelFormat{noname}{#2}
\captionsetup[algorithm]{labelformat=noname}

\newlength\myindent
\setlength\myindent{2em}
\newcommand\bindent[1][\myindent]{%
  \begingroup
  \setlength{\itemindent}{#1}
  \addtolength{\algorithmicindent}{#1}
}
\newcommand\eindent{\endgroup}

\begin{document}

\begin{algorithm}[h]
\begin{algorithmic}
\caption{Math  algorithm}
\STATE \textbf{Step 1} $\rightarrow $ gather the data 
\STATE \textbf{Step 2} $\rightarrow $ estimate  matrix 
\STATE \textbf{Step 3} {$\rightarrow $ {
\bindent
  \FOR {$k=0$ to final}
    \bindent[1.45cm] 
    \STATE $\Rightarrow$ calculate 
    \STATE $\Rightarrow$ calculate error 
    \STATE $\Rightarrow$ update
    \eindent  
    \ENDFOR\eindent}
  }
\STATE \textbf{Step 10} $\rightarrow $ calculate            
\end{algorithmic}
\end{algorithm}

\end{document}

结果:

在此处输入图片描述

顺便说一句,我建议你切换到algorithmicx该包为您提供了更多的灵活性和定制可能性;它具有兼容性选项algorithmic(请参阅包文档)。

答案2

要删除术语“算法 1”,您可以在算法环境中插入两个命令。第一个命令\renewcommand{\thealgorithm}{}删除编号,而第二个命令\floatname{algorithm}{}删除单词“算法”。

\begin{algorithm}

\renewcommand{\thealgorithm}{}
\floatname{algorithm}{}

\caption{My Algorithm}
%% the algorithm 

\end{algorithm}

相关内容