更改 algorithm2e 包中的算法枚举

更改 algorithm2e 包中的算法枚举

我想将算法枚举翻译成另一种语言,它总是用英文打印:

  • 算法 1 [标题]
  • 算法 2 [标题]
  • ...

我正在使用 algorithm2e 包。

答案1

在这种algorithmic环境下,你可能正在使用algorithms或者可能是algorithmicx包裹(两者都提供该环境)。algorithm环境的名称存储在中\ALG@name,您可以使用 进行修改\renewcommand

这里有一种根据你的喜好修改默认值的方法Algorithm

在此处输入图片描述

\documentclass{article}
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\makeatletter
\renewcommand{\ALG@name}{Algoritme}% Afrikaans
\makeatother
\begin{document}
\begin{algorithm}
  \caption{Hierdie is 'n algoritme.}
  \begin{algorithmic}[1]
    \State Iets
    \State Iets anders
  \end{algorithmic}
\end{algorithm}
\end{document}​

请注意,这实际上与环境无关algorithmic


algorithm2e包裹是一个更完整的软件包,因为它提供了自己的环境algorithm。它还默认支持多种语言选项,包括english、、、、、和。例如,使用(来自frenchczechgermanportugueseitalianoslovakalgorithm2e文档):

\documentclass{article}
\usepackage[portuguese]{algorithm2e}% http://ctan.org/pkg/algorithm2e
\begin{document}
\begin{algorithm}[H]
  \SetAlgoLined
  \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}
\end{document}

生产

在此处输入图片描述

这些语言选项设置了许多命令,而不仅仅是算法名称(存储在中\algorithmcfname)。以下是语言选项的摘录portuguese

\DeclareOption{portuguese}{%
\renewcommand{\listalgorithmcfname}{Lista de Algoritmos}%
\renewcommand{\algorithmcfname}{Algoritmo}%
\renewcommand{\algorithmautorefname}{algoritmo}%
\renewcommand{\algorithmcflinename}{linha}%
\renewcommand{\algocf@typo}{}%
\renewcommand{\@algocf@procname}{Procedimento}%
\renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}%
\renewcommand{\procedureautorefname}{procedimento}%
\renewcommand{\functionautorefname}{fun\c{c}\~{a}o}%
\renewcommand{\algocf@languagechoosen}{portuguese}%
}%

如果此处不支持您的语言,您可以使用与上述语言设置类似的设置自行执行手动重新定义。如果您只有几个更改,且不会影响文档的许多组件,请使用

\renewcommand{\algorithmcfname}{Algoritme}% Afrikaans "Algorithm"

应该可以。您可能还想相应地定义关键字。

相关内容