同一文档中两种不同语言的算法包

同一文档中两种不同语言的算法包

我需要在我的文档中用法语和英语写(出于原因)。

我需要使用算法包用两种语言编写算法。

是否可以 ?

如果是的话,我该怎么做?

我的设置很简单,包括这些

\usepackage{算法}

\usepackage{算法}

我写的算法如下:

\开始{算法}

 \begin{algorithmic}
  ...
 \end{algorithmic}   

\end{算法}

我没有在文档中指定任何有关语言的内容。因此默认为英语。

答案1

algorithms为用户提供了灵活性,可以根据自己的需要进行更改,尽管有些手动。为此,我建议创建一个特定于语言的环境来管理您正在使用的语言,frenchalgorithm例如englishalgorithm

在此处输入图片描述

\documentclass{article}

\usepackage{algorithm,algorithmic,lipsum}
\usepackage[T1]{fontenc}

\usepackage[french,english]{babel}

\newenvironment{englishalgorithm}[1][]
  {\begin{algorithm}[#1]
     \selectlanguage{english}%
     \floatname{algorithm}{Algorithm}%
     \renewcommand{\algorithmicif}{\textbf{if}}%
     \renewcommand{\algorithmicthen}{\textbf{then}}%
     \renewcommand{\algorithmicend}{\textbf{end}}%
     % Set other language requirements
  }
  {\end{algorithm}}
\newenvironment{frenchalgorithm}[1][]
  {\begin{algorithm}[#1]
     \selectlanguage{french}%
     \floatname{algorithm}{Algorithme}%
     \renewcommand{\algorithmicif}{\textbf{si}}%
     \renewcommand{\algorithmicthen}{\textbf{alors}}%
     \renewcommand{\algorithmicend}{\textbf{fin}}%
     % Set other language requirements
  }
  {\end{algorithm}}

\begin{document}

\lipsum[1]

\begin{englishalgorithm}[H]
  \caption{An algorithm}
  \begin{algorithmic}[1]
    \STATE This is a statement
    \IF{abc}
      \STATE This is another statement
    \ENDIF
  \end{algorithmic}
\end{englishalgorithm}

\begin{frenchalgorithm}[H]
  \caption{Another algorithm}
  \begin{algorithmic}[1]
    \STATE This is a statement
    \IF{abc}
      \STATE This is another statement
    \ENDIF
  \end{algorithmic}
\end{frenchalgorithm}

\lipsum[2]

\end{document}

你必须定义手动翻译每个关键字。如果您使用algorithmicx包裹

有关上述变化的更多信息将在以下章节中简要讨论3.14.3 定制4.4 定制algorithms文档我不会说法语……

相关内容