修改法语算法名称

修改法语算法名称

这是我的代码:

\usepackage[section]{algorithm}  
\usepackage{algorithmic} 
\begin{document}
\makeatletter\renewcommand{\ALG@name}{Algorithme}
\renewcommand{\listalgorithmname}{Liste des \ALG@name s} \makeatother
\begin{algorithm}[H]
  \caption{My-algo}
  \begin{algorithmic}[1]
    \Debut
    \LState instruction1
    \Fin
  \end{algorithmic}
\end{algorithm}
\end{document}

使用此代码,我将 Algorithme 改为 Algorithme。请问您是否有想法,我有一个算法,我想将其更改为 Algorithme --> Pseudo Algorithme?请问我该怎么做?只需一个算法,而不是所有算法。

答案1

以下最小示例定义了\newalgname{<alg name>}您可以从algorithm环境内部调用以更改算法的名称。由于您在 内调用它algorithm,因此 的重新定义\ALG@name将是本地的,因此它只会影响您所在的特定算法。

算法0.1我的算法
...

伪算法0.2我的算法
...

算法0.3我的算法
...

\documentclass{article}
\usepackage[section]{algorithm}% http://ctan.org/pkg/algorithms  
\usepackage{algorithmic}% http://ctan.org/pkg/algorithms
\makeatletter
\newcommand{\newalgname}[1]{%
  \renewcommand{\ALG@name}{#1}%
}
\newalgname{Algorithme}% All algorithms will be called "Algorithme"
\renewcommand{\listalgorithmname}{Liste des \ALG@name s}
\makeatother
\begin{document}
\begin{algorithm}
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{algorithm}

\begin{algorithm}
  \newalgname{Pseudo Algorithme}% This algorithm will be called "Pseudo Algorithme"
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{algorithm}

\begin{algorithm}
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{algorithm}

\end{document}

也许根据您的要求,也可以创建一个专门用于“伪算法”的全新浮动环境。这可以使用float包裹,加载者algorithm默认情况下。它将有自己的计数器,因此将独立于环境进行编号algorithm。以下是对此的快速查看:

算法1我的算法
...

伪算法1我的算法
...

算法2我的算法
...

\documentclass{article}
\usepackage{algorithm}% http://ctan.org/pkg/algorithms  
\usepackage{algorithmic}% http://ctan.org/pkg/algorithms
\newfloat{pseudoalgorithm}{htb}{lop}
\floatname{pseudoalgorithm}{Pseudo Algorithme}
\makeatletter
\newcommand{\newalgname}[1]{%
  \renewcommand{\ALG@name}{#1}%
}
\newalgname{Algorithme}
\renewcommand{\listalgorithmname}{Liste des \ALG@name s}
\makeatother
\begin{document}
\begin{algorithm}
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}  
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{algorithm}

\begin{pseudoalgorithm}
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}  
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{pseudoalgorithm}

\begin{algorithm}
  \caption{My-algo}
  \begin{algorithmic}[1]
    \STATE \textbf{Begin}  
    \STATE instruction1
    \STATE \textbf{End}
  \end{algorithmic}
\end{algorithm}

\end{document}

计数器调整也很容易。第一个例子(在article文档类中)使用了

\usepackage[section]{algorithm}% http://ctan.org/pkg/algorithms

它将选项传递sectionalgorithm。这意味着算法编号将按节进行。也就是说,第 7 节中的算法(例如)将编号为 7.1、7.2 等等。如果您的文档类支持\chapter(如bookreport),那么使用

\usepackage[chapter]{algorithm}% http://ctan.org/pkg/algorithms

只对章节执行相同的操作。这也意味着算法的编号将在每一章开始时重置。

在第二个例子中,没有选项传递给algorithm包,并且编号在整个文档中是连续的(跨越任何部分单元)。

要为你的环境使用相同的编号pseudoalgorithm,你可以使用以下方法创建它

\newfloat{pseudoalgorithm}{htb}{lop}[<within>]

其中<within>指定要使用哪个部分单位进行编号(chaptersection, ...)。有关以这种方式创建新浮点数的讨论包含在float文档(部分2 用户界面 - 新浮点数,第 2 页)。

相关内容