algorithm2e 中的格式化关键字、数据

algorithm2e 中的格式化关键字、数据

我只是想知道是否有办法在 algorithm2e 包中的算法之外引用关键字数据。例如,给出 algorithm2e 中的示例,如果我想在算法之外的文本中引用 \KwData{this text},我该怎么做?

\begin{algorithm}[H]
\SetLine
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}

答案1

在您给出的示例中,this text完全未格式化,最好在文本中按原样使用它。但是,algorithm使用各种宏来设置组件的样式:

  • \DataSty{<stuff>}

    用于设置数据(默认为\textsf):

    在此处输入图片描述

  • \ArgSty{<stuff>}

    用于设置参数(函数;默认为\textit):

    在此处输入图片描述

  • \KwSty{<stuff>}

    用于作为算法输入参数的前缀(默认为\textbf):

    在此处输入图片描述

  • \FuncSty{<stuff>}

    函数名称的格式(默认为\texttt):

    在此处输入图片描述

  • \CommentSty{<stuff>}

    评论的格式(默认为\texttt):

    在此处输入图片描述

  • \TitleSty{<stuff>}

    用于通过以下方式设置算法的标题\TitleOfAlgo(默认为常规文本):

    在此处输入图片描述

  • ...

我也将在文本中使用适当的样式,如下例所示:

在此处输入图片描述

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

\SetKwData{matrixinput}{some matrix}%
\begin{algorithm}[H]
  \KwIn{\matrixinput}
  \KwResult{how to write algorithm with \LaTeX2e }
  initialization\;
  \While{not at end of this document}{
    read current\;
    \eIf{understand}{
      go to next section\;
      current section becomes this one\;
    }{
      go back to the beginning of current section\;
    }
  }
  \caption{How to write algorithms}
\end{algorithm}

We use \matrixinput as input.
\end{document}

输入\matrixinput定义外部环境algorithm以使其在该范围之外可用(没有您的文本)。

相关内容