我想将算法枚举翻译成另一种语言,它总是用英文打印:
- 算法 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
、、、、、和。例如,使用(来自french
czech
german
portuguese
italiano
slovak
algorithm2e
文档):
\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"
应该可以。您可能还想相应地定义关键字。