![同一文档中两种不同语言的算法包](https://linux22.com/image/326294/%E5%90%8C%E4%B8%80%E6%96%87%E6%A1%A3%E4%B8%AD%E4%B8%A4%E7%A7%8D%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E7%9A%84%E7%AE%97%E6%B3%95%E5%8C%85.png)
我需要在我的文档中用法语和英语写(出于原因)。
我需要使用算法包用两种语言编写算法。
是否可以 ?
如果是的话,我该怎么做?
我的设置很简单,包括这些
\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
文档。
我不会说法语……