summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-07-31 21:44:55 +0000
committerKarl Berry <karl@freefriends.org>2020-07-31 21:44:55 +0000
commited1ef8fac34463cec167f47fbf639f3ce741d2d7 (patch)
tree1e6cf640d892bc66c2cf38a45858e064e67c2a13 /Master
parent1a5008cd5425e3c9b46a2ccbe936087ed0712181 (diff)
algxpar (31jul20)
git-svn-id: svn://tug.org/texlive/trunk@56006 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/algxpar/algxpar.pdfbin205770 -> 212046 bytes
-rw-r--r--Master/texmf-dist/source/latex/algxpar/algxpar.dtx168
-rw-r--r--Master/texmf-dist/source/latex/algxpar/algxpar.ins6
-rw-r--r--Master/texmf-dist/tex/latex/algxpar/algxpar.sty102
4 files changed, 193 insertions, 83 deletions
diff --git a/Master/texmf-dist/doc/latex/algxpar/algxpar.pdf b/Master/texmf-dist/doc/latex/algxpar/algxpar.pdf
index e5deed1d8f6..7446f04ac1f 100644
--- a/Master/texmf-dist/doc/latex/algxpar/algxpar.pdf
+++ b/Master/texmf-dist/doc/latex/algxpar/algxpar.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/algxpar/algxpar.dtx b/Master/texmf-dist/source/latex/algxpar/algxpar.dtx
index bac74b7a352..d1263d7997c 100644
--- a/Master/texmf-dist/source/latex/algxpar/algxpar.dtx
+++ b/Master/texmf-dist/source/latex/algxpar/algxpar.dtx
@@ -26,7 +26,7 @@
overlay first and middle={
\coordinate (A1) at ($(interior.south east) + (-10pt,5pt)$);
\coordinate (C1) at ($(interior.south east) + (-6pt,7.5pt)$);
- \draw[fill=tcbcol@frame] (A1) -- +(0,5pt) -- (C1) -- cycle;
+ \draw[fill=tcbcolframe] (A1) -- +(0,5pt) -- (C1) -- cycle;
},
]%
\begin{Verbatim}[gobble = 2, tabsize=4, commandchars = &\[\]]%
@@ -70,7 +70,7 @@
overlay first and middle={
\coordinate (A1) at ($(interior.south east) + (-10pt,5pt)$);
\coordinate (C1) at ($(interior.south east) + (-6pt,7.5pt)$);
- \draw[fill=tcbcol@frame] (A1) -- +(0,5pt) -- (C1) -- cycle;
+ \draw[fill=tcbcolframe] (A1) -- +(0,5pt) -- (C1) -- cycle;
},
]%
\small\VerbatimInput[tabsize=4, gobble = 2]{\jobname_code.tmp}
@@ -135,7 +135,7 @@
% Right brace \} Tilde \~}
%
%
-% \changes{v0.9}{2019/10/23}{Initial version}
+% \changes{v0.9}{2019/10/24}{Initial version}
%
% \GetFileInfo{algxpar.sty}
%
@@ -287,6 +287,12 @@
% \Statep{$s \gets a + b$}
% \Statep{\Write\ $s$}\end{example}
%
+% \DescribeMacro{\Set}
+% \DescribeMacro{\Setl}
+% Besides |\gets|, the macros |\Set| and |\Setl| can be used for assignments.
+%
+% |\Set|\marg{id}\marg{value} is a shortcut to |\Id{id} \gets value|. The ``long'' version for the assigment is |\Setl|\marg{id}\marg{value}, to get the verbose ``\algorithmicset\ \Id{id} \algorithmicsetto\ \Id{value}''.
+%
% \subsection{Comments}
% Comments use the symbol \makeatletter\axp@commentleftsymbol\makeatother\ preceding the commented text and stay close to the left margin. Comment macros are intended to be used with |\State| or |\Statex|, when no multiline handling is done. Comments with multiline control are considered starting at section~\ref{sec:statements}.
%
@@ -553,7 +559,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{algxpar}
- [2019/10/24 v0.9 Algorithms with multiline/paragraph support]
+ [2020/05/30 v0.91 Algorithms with multiline/paragraph support]
% \end{macrocode}
% \iffalse
@@ -593,16 +599,17 @@
% \begin{macro}{\False}
% \begin{macro}{\Nil}
% \begin{macro}{\Id}
+% \changes{v0.91}{2020/04/30}{Macro now can be used as super-/subscripts in math formulas, while still preventing hyphenaton in text mode.}
% \begin{macro}{\TextString}
% \begin{macro}{\VisibleSpace}
% \begin{macrocode}
-\algnewcommand\algorithmictrue{\textsc{True}}
-\algnewcommand\algorithmicfalse{\textsc{False}}
-\algnewcommand\algorithmicnil{\textsc{Nil}}
-\algnewcommand\True{\mbox{\algorithmictrue}}
-\algnewcommand\False{\mbox{\algorithmicfalse}}
-\algnewcommand\Nil{\mbox{\algorithmicnil}}
-\newcommand{\Id}[1]{\mbox{\textit{\rmfamily #1}}}
+\algnewcommand\algorithmictrue{True}
+\algnewcommand\algorithmicfalse{False}
+\algnewcommand\algorithmicnil{Nil}
+\algnewcommand\True{\ensuremath{\textsc{\rmfamily \algorithmictrue}}}
+\algnewcommand\False{\ensuremath{\textsc{\rmfamily \algorithmicfalse}}}
+\algnewcommand\Nil{\ensuremath{\textsc{\rmfamily \algorithmicnil}}}
+\newcommand{\Id}[1]{\ensuremath{\textit{\rmfamily#1}}}
\newcommand{\TextString}[1]{\textrm{\normalfont``{\ttfamily\mbox{#1}}''}}
\algnewcommand{\VisibleSpace}{\textrm{\color{black!70}\textvisiblespace}}
% \end{macrocode}
@@ -644,14 +651,24 @@
% \fi
% \begin{macro}{\Read}
% \begin{macro}{\Write}
+% \begin{macro}{\Set}
+% \changes{v0.91}{2020/06/14}{New macro for assignments, using $\gets$}
+% \begin{macro}{\Setl}
+% \changes{v0.91}{2020/06/14}{New macro for assignments (verbose)}
% \begin{macrocode}
\algnewcommand{\algorithmicread}{\textbf{read}}
\algnewcommand{\algorithmicwrite}{\textbf{write}}
+\algnewcommand\algorithmicset{Set}
+\algnewcommand\algorithmicsetto{to}
+\algnewcommand{\Set}[2]{\Id{#1} $\gets$ #2}
+\algnewcommand{\Setl}[2]{\algorithmicset\ #1 \algorithmicsetto\ #2}
\algnewcommand{\Read}{\algorithmicread}
\algnewcommand{\Write}{\algorithmicwrite}
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
% \iffalse
%% Comments
@@ -698,7 +715,7 @@
\algblockdefx{While}{EndWhile}%
[2][]{%
\settowidth{\axp@whilewidth}{\algorithmicwhile\ }%
- \algparbox[#1]{\algorithmicwhile\ #2~\algorithmicdo}{\axp@whilewidth}%
+ \algparbox[x#1]{\algorithmicwhile\ #2~\algorithmicdo}{\axp@whilewidth}%
}%
{\algorithmicend\ \algorithmicwhile}
% \end{macrocode}
@@ -913,10 +930,11 @@
% \end{macro}
% \end{environment}
+% \changes{v0.91}{2020/04/30}{Small fix in the position of the triangle in line numbers.}
% \begin{macro}{\alglinenumber}
% \begin{macrocode}
\algrenewcommand{\alglinenumber}[1]%
- {\hspace{-1em}\color{black!35}{\scriptsize#1}{\tiny$\blacktriangleright$}}
+ {\hspace{-1.5em}\color{black!35}{\scriptsize#1}\raisebox{0.2ex}{\tiny$\blacktriangleright$}}
% \end{macrocode}
% \end{macro}
@@ -998,45 +1016,95 @@
% \renewcommand{\axp@commentrightsymbol}{\texttt{*/}}
% \end{commands}
%
-% The translation to Brazilian Portugues is straight forward.
+% To handle languages, the macro |\algxparset| should be used.
%
% \begin{macrocode}
-\ifaxp@brazilian
-\RequirePackage{icomma} % comma as decimal separator
-\algrenewcommand\algorithmicdescription{\textbf{Descrição}}
-\algrenewcommand\algorithmicinput{\textbf{Entrada}}
-\algrenewcommand\algorithmicoutput{\textbf{Saída}}
-\algrenewcommand\algorithmicrequire{\textbf{Pré}}
-\algrenewcommand\algorithmicensure{\textbf{Pós}}
-\algrenewcommand{\algorithmicend}{\textbf{fim}}
-\algrenewcommand{\algorithmicif}{\textbf{se}}
-\algrenewcommand{\algorithmicthen}{\textbf{então}}
-\algrenewcommand{\algorithmicelse}{\textbf{senão}}
-\algrenewcommand{\algorithmicswitch}{\textbf{escolha}}
-\algrenewcommand{\algorithmicof}{\textbf{de}}
-\algrenewcommand{\algorithmiccase}{\textbf{caso}}
-\algrenewcommand{\algorithmicotherwise}{\textbf{caso~contrário}}
-\algrenewcommand{\algorithmicfor}{\textbf{para}}
-\algrenewcommand{\algorithmicdo}{\textbf{faça}}
-\algrenewcommand{\algorithmicwhile}{\textbf{enquanto}}
-\algrenewcommand{\algorithmicforall}{\textbf{para cada}}
-\algrenewcommand{\algorithmicrepeat}{\textbf{repita}}
-\algrenewcommand{\algorithmicuntil}{\textbf{até que}}
-\algrenewcommand{\algorithmicloop}{\textbf{repita}}
-\algrenewcommand{\algorithmicforeach}{\textbf{para~cada}}
-\algrenewcommand{\algorithmicforall}{\textbf{para~todo}}
-\algrenewcommand{\algorithmicfunction}{\textbf{função}}
-\algrenewcommand{\algorithmicprocedure}{\textbf{procedimento}}
-\algrenewcommand{\algorithmicreturn}{\textbf{retorne}}
-\algrenewcommand\algorithmictrue{\textsc{Verdadeiro}}
-\algrenewcommand\algorithmicfalse{\textsc{Falso}}
-\algrenewcommand\algorithmicnil{\textsc{Nulo}}
-\algrenewcommand{\algorithmicread}{\textbf{leia}}
-\algrenewcommand{\algorithmicwrite}{\textbf{escreva}}
-\algrenewcommand{\To}{\textbf{até}}
-\algrenewcommand{\DownTo}{\textbf{decrescente~até}}
-\algrenewcommand{\Step}{\textbf{passo}}
-\fi
+\pgfkeys{
+ algxpar/.cd,
+ brazilian/.code = {\axp@languagebrazilian},
+ english/.code = {\axp@languageenglish},
+ default/.code = {\axp@languageenglish},
+}
+\newcommand{\algxparset}[1]{
+ \pgfkeys{
+ algxpar/.cd,
+ #1
+ }
+}
+\newcommand{\axp@languagebrazilian}{
+ \algrenewcommand\algorithmicdescription{\textbf{Descrição}}
+ \algrenewcommand\algorithmicinput{\textbf{Entrada}}
+ \algrenewcommand\algorithmicoutput{\textbf{Saída}}
+ \algrenewcommand\algorithmicrequire{\textbf{Pré}}
+ \algrenewcommand\algorithmicensure{\textbf{Pós}}
+ \algrenewcommand{\algorithmicend}{\textbf{fim}}
+ \algrenewcommand{\algorithmicif}{\textbf{se}}
+ \algrenewcommand{\algorithmicthen}{\textbf{então}}
+ \algrenewcommand{\algorithmicelse}{\textbf{senão}}
+ \algrenewcommand{\algorithmicswitch}{\textbf{escolha}}
+ \algrenewcommand{\algorithmicof}{\textbf{de}}
+ \algrenewcommand{\algorithmiccase}{\textbf{caso}}
+ \algrenewcommand{\algorithmicotherwise}{\textbf{caso~contrário}}
+ \algrenewcommand{\algorithmicfor}{\textbf{para}}
+ \algrenewcommand{\algorithmicdo}{\textbf{faça}}
+ \algrenewcommand{\algorithmicwhile}{\textbf{enquanto}}
+ \algrenewcommand{\algorithmicrepeat}{\textbf{repita}}
+ \algrenewcommand{\algorithmicuntil}{\textbf{até que}}
+ \algrenewcommand{\algorithmicloop}{\textbf{repita}}
+ \algrenewcommand{\algorithmicforeach}{\textbf{para~cada}}
+ \algrenewcommand{\algorithmicforall}{\textbf{para~todo}}
+ \algrenewcommand{\algorithmicfunction}{\textbf{função}}
+ \algrenewcommand{\algorithmicprocedure}{\textbf{procedimento}}
+ \algrenewcommand{\algorithmicreturn}{\textbf{retorne}}
+ \algrenewcommand{\algorithmictrue}{Verdadeiro}
+ \algrenewcommand{\algorithmicfalse}{Falso}
+ \algrenewcommand{\algorithmicnil}{Nulo}
+ \algrenewcommand{\algorithmicread}{\textbf{leia}}
+ \algrenewcommand{\algorithmicwrite}{\textbf{escreva}}
+ \algrenewcommand{\algorithmicset}{Defina}
+ \algrenewcommand{\algorithmicsetto}{como}
+ \algrenewcommand{\To}{\textbf{até}}
+ \algrenewcommand{\DownTo}{\textbf{decrescente~até}}
+ \algrenewcommand{\Step}{\textbf{passo}}
+}
+\newcommand{\axp@languageenglish}{
+ \algrenewcommand\algorithmicdescription{\textbf{Description}}
+ \algrenewcommand\algorithmicinput{\textbf{Input}}
+ \algrenewcommand\algorithmicoutput{\textbf{Output}}
+ \algrenewcommand\algorithmicrequire{\textbf{Pre}}
+ \algrenewcommand\algorithmicensure{\textbf{Post}}
+ \algrenewcommand{\algorithmicend}{\textbf{end}}
+ \algrenewcommand{\algorithmicif}{\textbf{if}}
+ \algrenewcommand{\algorithmicthen}{\textbf{then}}
+ \algrenewcommand{\algorithmicelse}{\textbf{else}}
+ \algrenewcommand{\algorithmicswitch}{\textbf{swith}}
+ \algrenewcommand{\algorithmicof}{\textbf{of}}
+ \algrenewcommand{\algorithmiccase}{\textbf{case}}
+ \algrenewcommand{\algorithmicotherwise}{\textbf{otherwise}}
+ \algrenewcommand{\algorithmicfor}{\textbf{for}}
+ \algrenewcommand{\algorithmicdo}{\textbf{do}}
+ \algrenewcommand{\algorithmicwhile}{\textbf{while}}
+ \algrenewcommand{\algorithmicrepeat}{\textbf{repeat}}
+ \algrenewcommand{\algorithmicuntil}{\textbf{until}}
+ \algrenewcommand{\algorithmicloop}{\textbf{loop}}
+ \algrenewcommand{\algorithmicforeach}{\textbf{for~each}}
+ \algrenewcommand{\algorithmicforall}{\textbf{for~all}}
+ \algrenewcommand{\algorithmicfunction}{\textbf{function}}
+ \algrenewcommand{\algorithmicprocedure}{\textbf{procedure}}
+ \algrenewcommand{\algorithmicreturn}{\textbf{retorne}}
+ \algrenewcommand{\algorithmictrue}{True}
+ \algrenewcommand{\algorithmicfalse}{False}
+ \algrenewcommand{\algorithmicnil}{Nil}
+ \algrenewcommand{\algorithmicread}{\textbf{read}}
+ \algrenewcommand{\algorithmicwrite}{\textbf{write}}
+ \algrenewcommand{\algorithmicset}{Set}
+ \algrenewcommand{\algorithmicsetto}{to}
+ \algrenewcommand{\To}{\textbf{to}}
+ \algrenewcommand{\DownTo}{\textbf{downto}}
+ \algrenewcommand{\Step}{\textbf{step}}
+}
+\axp@languageenglish % default language
+\ifaxp@brazilian\algxparset{brazilian}\fi
% \end{macrocode}
%
% \section{To do\ldots}
diff --git a/Master/texmf-dist/source/latex/algxpar/algxpar.ins b/Master/texmf-dist/source/latex/algxpar/algxpar.ins
index 289551de474..7e7a9c0ebab 100644
--- a/Master/texmf-dist/source/latex/algxpar/algxpar.ins
+++ b/Master/texmf-dist/source/latex/algxpar/algxpar.ins
@@ -1,3 +1,4 @@
+% !TeX program = createsty.sh % | txs:///view
%%
%% Copyright (C) 2019 by Jander Moreira
%%
@@ -12,11 +13,12 @@
\preamble
-Copyright (C) 2019 by Jander Moreira (moreira.jander@gmail.com)
+Copyright (C) 2020 by Jander Moreira (moreira.jander@gmail.com)
\endpreamble
\generate{
+ \nopreamble\nopostamble
\file{algxpar.sty}{
\from{algxpar.dtx}{algxpar}
}
@@ -31,4 +33,4 @@ Copyright (C) 2019 by Jander Moreira (moreira.jander@gmail.com)
\Msg{*}
\Msg{**********************************************************}
-\endbatchfile \ No newline at end of file
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/algxpar/algxpar.sty b/Master/texmf-dist/tex/latex/algxpar/algxpar.sty
index 93194e6ecbc..1ed25143b1c 100644
--- a/Master/texmf-dist/tex/latex/algxpar/algxpar.sty
+++ b/Master/texmf-dist/tex/latex/algxpar/algxpar.sty
@@ -1,17 +1,6 @@
-%%
-%% This is file `algxpar.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% algxpar.dtx (with options: `algxpar')
-%%
-%%
-%% Copyright (C) 2019 by Jander Moreira (moreira.jander@gmail.com)
-%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{algxpar}
-[2019/10/24 v0.9 Algorithms with multiline/paragraph support]
+[2020/05/30 v0.91 Algorithms with multiline/paragraph support]
%% Package options
\newif\ifaxp@brazilian\axp@brazilianfalse
@@ -30,13 +19,13 @@
\RequirePackage{fancyvrb} % to load verbatim preserving tabs
%% Constants and identifiers
-\algnewcommand\algorithmictrue{\textsc{True}}
-\algnewcommand\algorithmicfalse{\textsc{False}}
-\algnewcommand\algorithmicnil{\textsc{Nil}}
-\algnewcommand\True{\mbox{\algorithmictrue}}
-\algnewcommand\False{\mbox{\algorithmicfalse}}
-\algnewcommand\Nil{\mbox{\algorithmicnil}}
-\newcommand{\Id}[1]{\mbox{\textit{\rmfamily #1}}}
+\algnewcommand\algorithmictrue{True}
+\algnewcommand\algorithmicfalse{False}
+\algnewcommand\algorithmicnil{Nil}
+\algnewcommand\True{\ensuremath{\textsc{\rmfamily \algorithmictrue}}}
+\algnewcommand\False{\ensuremath{\textsc{\rmfamily \algorithmicfalse}}}
+\algnewcommand\Nil{\ensuremath{\textsc{\rmfamily \algorithmicnil}}}
+\newcommand{\Id}[1]{\ensuremath{\textit{\rmfamily#1}}}
\newcommand{\TextString}[1]{\textrm{\normalfont``{\ttfamily\mbox{#1}}''}}
\algnewcommand{\VisibleSpace}{\textrm{\color{black!70}\textvisiblespace}}
@@ -55,6 +44,10 @@
%% Read, write
\algnewcommand{\algorithmicread}{\textbf{read}}
\algnewcommand{\algorithmicwrite}{\textbf{write}}
+\algnewcommand\algorithmicset{Set}
+\algnewcommand\algorithmicsetto{to}
+\algnewcommand{\Set}[2]{\Id{#1} $\gets$ #2}
+\algnewcommand{\Setl}[2]{\algorithmicset\ #1 \algorithmicsetto\ #2}
\algnewcommand{\Read}{\algorithmicread}
\algnewcommand{\Write}{\algorithmicwrite}
@@ -81,7 +74,7 @@
\algblockdefx{While}{EndWhile}%
[2][]{%
\settowidth{\axp@whilewidth}{\algorithmicwhile\ }%
-\algparbox[#1]{\algorithmicwhile\ #2~\algorithmicdo}{\axp@whilewidth}%
+\algparbox[x#1]{\algorithmicwhile\ #2~\algorithmicdo}{\axp@whilewidth}%
}%
{\algorithmicend\ \algorithmicwhile}
@@ -208,7 +201,7 @@
{\jobname_code_#2.tmp}}}
\algrenewcommand{\alglinenumber}[1]%
- {\hspace{-1em}\color{black!35}{\scriptsize#1}{\tiny$\blacktriangleright$}}
+ {\hspace{-1.5em}\color{black!35}{\scriptsize#1}\raisebox{0.2ex}{\tiny$\blacktriangleright$}}
%% axp@algparbox
\newlength{\axp@commentwidth}
@@ -260,8 +253,19 @@ literate=
{ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
}
-\ifaxp@brazilian
-\RequirePackage{icomma} % comma as decimal separator
+\pgfkeys{
+algxpar/.cd,
+brazilian/.code = {\axp@languagebrazilian},
+english/.code = {\axp@languageenglish},
+default/.code = {\axp@languageenglish},
+}
+\newcommand{\algxparset}[1]{
+\pgfkeys{
+algxpar/.cd,
+#1
+}
+}
+\newcommand{\axp@languagebrazilian}{
\algrenewcommand\algorithmicdescription{\textbf{Descrição}}
\algrenewcommand\algorithmicinput{\textbf{Entrada}}
\algrenewcommand\algorithmicoutput{\textbf{Saída}}
@@ -278,7 +282,6 @@ literate=
\algrenewcommand{\algorithmicfor}{\textbf{para}}
\algrenewcommand{\algorithmicdo}{\textbf{faça}}
\algrenewcommand{\algorithmicwhile}{\textbf{enquanto}}
-\algrenewcommand{\algorithmicforall}{\textbf{para cada}}
\algrenewcommand{\algorithmicrepeat}{\textbf{repita}}
\algrenewcommand{\algorithmicuntil}{\textbf{até que}}
\algrenewcommand{\algorithmicloop}{\textbf{repita}}
@@ -287,15 +290,52 @@ literate=
\algrenewcommand{\algorithmicfunction}{\textbf{função}}
\algrenewcommand{\algorithmicprocedure}{\textbf{procedimento}}
\algrenewcommand{\algorithmicreturn}{\textbf{retorne}}
-\algrenewcommand\algorithmictrue{\textsc{Verdadeiro}}
-\algrenewcommand\algorithmicfalse{\textsc{Falso}}
-\algrenewcommand\algorithmicnil{\textsc{Nulo}}
+\algrenewcommand{\algorithmictrue}{Verdadeiro}
+\algrenewcommand{\algorithmicfalse}{Falso}
+\algrenewcommand{\algorithmicnil}{Nulo}
\algrenewcommand{\algorithmicread}{\textbf{leia}}
\algrenewcommand{\algorithmicwrite}{\textbf{escreva}}
+\algrenewcommand{\algorithmicset}{Defina}
+\algrenewcommand{\algorithmicsetto}{como}
\algrenewcommand{\To}{\textbf{até}}
\algrenewcommand{\DownTo}{\textbf{decrescente~até}}
\algrenewcommand{\Step}{\textbf{passo}}
-\fi
-\endinput
-%%
-%% End of file `algxpar.sty'.
+}
+\newcommand{\axp@languageenglish}{
+\algrenewcommand\algorithmicdescription{\textbf{Description}}
+\algrenewcommand\algorithmicinput{\textbf{Input}}
+\algrenewcommand\algorithmicoutput{\textbf{Output}}
+\algrenewcommand\algorithmicrequire{\textbf{Pre}}
+\algrenewcommand\algorithmicensure{\textbf{Post}}
+\algrenewcommand{\algorithmicend}{\textbf{end}}
+\algrenewcommand{\algorithmicif}{\textbf{if}}
+\algrenewcommand{\algorithmicthen}{\textbf{then}}
+\algrenewcommand{\algorithmicelse}{\textbf{else}}
+\algrenewcommand{\algorithmicswitch}{\textbf{swith}}
+\algrenewcommand{\algorithmicof}{\textbf{of}}
+\algrenewcommand{\algorithmiccase}{\textbf{case}}
+\algrenewcommand{\algorithmicotherwise}{\textbf{otherwise}}
+\algrenewcommand{\algorithmicfor}{\textbf{for}}
+\algrenewcommand{\algorithmicdo}{\textbf{do}}
+\algrenewcommand{\algorithmicwhile}{\textbf{while}}
+\algrenewcommand{\algorithmicrepeat}{\textbf{repeat}}
+\algrenewcommand{\algorithmicuntil}{\textbf{until}}
+\algrenewcommand{\algorithmicloop}{\textbf{loop}}
+\algrenewcommand{\algorithmicforeach}{\textbf{for~each}}
+\algrenewcommand{\algorithmicforall}{\textbf{for~all}}
+\algrenewcommand{\algorithmicfunction}{\textbf{function}}
+\algrenewcommand{\algorithmicprocedure}{\textbf{procedure}}
+\algrenewcommand{\algorithmicreturn}{\textbf{retorne}}
+\algrenewcommand{\algorithmictrue}{True}
+\algrenewcommand{\algorithmicfalse}{False}
+\algrenewcommand{\algorithmicnil}{Nil}
+\algrenewcommand{\algorithmicread}{\textbf{read}}
+\algrenewcommand{\algorithmicwrite}{\textbf{write}}
+\algrenewcommand{\algorithmicset}{Set}
+\algrenewcommand{\algorithmicsetto}{to}
+\algrenewcommand{\To}{\textbf{to}}
+\algrenewcommand{\DownTo}{\textbf{downto}}
+\algrenewcommand{\Step}{\textbf{step}}
+}
+\axp@languageenglish % default language
+\ifaxp@brazilian\algxparset{brazilian}\fi