From 7635442426a86740fe22aa86536c77017010bb5d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 19 Jul 2017 21:09:48 +0000 Subject: algorithm2e (19jul17) git-svn-id: svn://tug.org/texlive/trunk@44846 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/algorithm2e/algorithm2e.pdf | Bin 532799 -> 533935 bytes .../doc/latex/algorithm2e/algorithm2e.tex | 27 +++-- .../tex/latex/algorithm2e/algorithm2e.sty | 114 +++++++++++++-------- 3 files changed, 95 insertions(+), 46 deletions(-) diff --git a/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.pdf b/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.pdf index a078f59bda6..746a80c363a 100644 Binary files a/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.pdf and b/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.pdf differ diff --git a/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.tex b/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.tex index 4d2fc6fe614..4ff13e11a1a 100644 --- a/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.tex +++ b/Master/texmf-dist/doc/latex/algorithm2e/algorithm2e.tex @@ -1,12 +1,12 @@ % algorithm2e.tex --- doc of the package file for algorithms % % (c) 1995-1997 Christophe Fiorio, Tu-Berlin, Germany -% (c) 1998-2015 Christophe Fiorio, Montpellier University, France +% (c) 1998-2017 Christophe Fiorio, Montpellier University, France % % Report bugs and comments to: % christophe.fiorio@umontpellier.fr % -% $Id: algorithm2e.tex,v 5.1 2015/10/18 21:35:18 cfiorio Exp $ +% $Id: algorithm2e.tex,v 5.2 2017/07/18 15:34:38 fioriochristophe Exp $ % \documentclass[a4paper]{article} @@ -195,10 +195,10 @@ \end{minipage}% } %%%%%%%%%%%%%%%%%%%%%% -\newcommand{\algocfversion}{release 5.1} +\newcommand{\algocfversion}{release 5.2} \title{algorithm2e.sty --- package for algorithms\\ {\large\algocfversion}} \author{(c) 1995-1997 Christophe Fiorio, Tu-Berlin, Germany\\ -(c) 1998-2015 Christophe Fiorio, LIRMM, Montpellier University, France\\ +(c) 1998-2017 Christophe Fiorio, LIRMM, Montpellier University, France\\ Report bugs and comments to christophe.fiorio@umontpellier.fr\\ algorithm2esty-annonce@lirmm.fr mailing list for announcements\\ algorithm2esty-discussion@lirmm.fr mailing list for discussion\thanks{The author is very grateful @@ -209,7 +209,7 @@ for the german translation of keywords} \thanks{Arnaud Giersch for his suggestions and corrections on SetKwComments} \thanks{and the many users as Jean-Baptiste Rouquier - for their remarks} } \date{October 19 2015} + for their remarks} } \date{July 18 2017} \makeindex @@ -2284,6 +2284,19 @@ How they are obtained: \section*{Release notes}\label{sec:relnotes} \begin{verbatim} +% - July 18 2017 - revision 5.2 +% * FIX: There was an overfull box 0.8pt with boxruled algorithm. This +% is fixed. +% * FIX: problem when mixing caption package and figure option. This bug +% was partially corrected in 5.0 for one side document but with +% false indentation and not working for two side document. This +% is now fully fixed. +% * FIX: misaligned lines numbers with noline option +% * FIX: Fix croation keywords thanks to Ivan Kolan +% * FIX: there was an overfull hbox of 8.5pt when using [H] and ruled +% caption. This is fixed. +% * FIX: \SetCustomAlgoRuledWidth only changed midrule. This is fixed, +% it changes all the rules % - October 19 2015 - revision 5.1 % * CHANGE/ADD: l commands (the ones as \lIf) can now be used with a % star. If done, no end of line are done, so you can enclose @@ -2292,7 +2305,8 @@ How they are obtained: % Note that when you use a star, side comments are not allowed. % * CHANGE/ADD: Now you can have a side comment at end of macros which % have a block. For example you can do : -% \Begin(\tcc*[h]{side comment for begin}{text}(\tcc*[h]{side comment after end}) +% \Begin(\tcc*[h]{side comment for begin}{ +% text}(\tcc*[h]{side comment after end}) % Note: there are some side effects for some commands: % \SetKwProg : macro defined thanks to \SetKwProg are allowed % to have no end marker. In this case, @@ -2497,3 +2511,4 @@ How they are obtained: \clearpage \printindex \end{document} + diff --git a/Master/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty b/Master/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty index 07ab7ff9921..0904a7cf54c 100644 --- a/Master/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty +++ b/Master/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty @@ -1,6 +1,6 @@ % algorithm2e.sty --- style file for algorithms % almost everything can be customized by users. See the document for more explanations -%% Copyright 1996-2015 Christophe Fiorio +%% Copyright 1996-2017 Christophe Fiorio % % This work may be distributed and/or modified under the conditions of the LaTeX Project % Public License, either version 1.3 of this license or (at your option) any later version. @@ -24,7 +24,7 @@ % - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% % subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% % -% $Id: algorithm2e.sty,v 5.1 2015/10/18 21:37:30 cfiorio Exp $ +% $Id: algorithm2e.sty,v 5.2 2017/07/18 15:26:26 fioriochristophe Exp $ % % PACKAGES REQUIRED: % @@ -33,7 +33,7 @@ % - xspace (in packages/tools) % - relsize (in contrib/misc/relsize.sty) % -%%%%%%%%%%%%%%% Release 5.1 +%%%%%%%%%%%%%%% Release 5.2 % % Package options: % --------------- @@ -156,6 +156,15 @@ % % History: % +% - July 18 2017 - revision 5.2 +% * FIX: There was an overfull box 0.8pt with boxruled algorithm. This is fixed. +% * FIX: problem when mixing caption package and figure option. This bug was partially corrected +% in 5.0 for one side document but with false indentation and not working for two side +% document. This is now fully fixed. +% * FIX: misaligned lines numbers with noline option +% * FIX: Fix croation keywords thanks to Ivan Kolan +% * FIX: there was an overfull hbox of 8.5pt when using [H] and ruled caption. This is fixed. +% * FIX: \SetCustomAlgoRuledWidth only changed midrule. This is fixed, it changes all the rules % - October 19 2015 - revision 5.1 % * CHANGE/ADD: l commands (the ones as \lIf) can now be used with a % star. If done, no end of line are done, so you can enclose @@ -338,7 +347,8 @@ % | else: % | return 0 % with appropriate typo. -% * ADD: option croatian: croatian keywords (thanks to Ivan Gavran) +% * ADD: option croatian: croatian keywords (thanks to Ivan Kohan and +% Yvan Gavran) % * ADD: option ngerman: same as german option but so can be used with global option ngerman % of babel % * ADD: option spanish: Spanish support (thanks to Mario Abarca) @@ -870,7 +880,7 @@ % \NeedsTeXFormat{LaTeX2e}[1994/12/01] % -\ProvidesPackage{algorithm2e}[2013/01/06 v5.00 algorithms environments] +\ProvidesPackage{algorithm2e}[2017/07/18 v5.2 algorithms environments] % % %%%%%%%%%%%%%%%%%%%%%%%%%%% Initial Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1057,11 +1067,11 @@ \newboolean{algocf@displayblockmarkers}\setboolean{algocf@displayblockmarkers}{false}% \DeclareOption{displayblockmarkers}{% \setboolean{algocf@displayblockmarkers}{true}% -} -\newboolean{algocf@displaygroupmarkers}{\setboolean{algocf@displaygroupmarkers}{false} +}% +\newboolean{algocf@displaygroupmarkers}\setboolean{algocf@displaygroupmarkers}{false} \DeclareOption{displaygroupmarkers}{% \setboolean{algocf@displaygroupmarkers}{true}% -} +}% % \newboolean{algocf@nokwfunc}\setboolean{algocf@nokwfunc}{false}% \DeclareOption{nokwfunc}{% @@ -1179,7 +1189,7 @@ \renewcommand{\algorithmcfname}{Algorithmus}% \renewcommand{\algorithmautorefname}{\algorithmcfname}% \renewcommand{\algorithmcflinename}{Zeile}% -\renewcommand{\algocf@typo}{\ }% +\renewcommand{\algocf@typo}{}% \renewcommand{\@algocf@procname}{Prozedur}% \renewcommand{\@algocf@funcname}{Funktion}% \renewcommand{\procedureautorefname}{\@algocf@procname}% @@ -1308,11 +1318,11 @@ \renewcommand{\listalgorithmcfname}{Algoritma Listesi}% \renewcommand{\algorithmcfname}{Algoritma}% \renewcommand{\algorithmautorefname}{algoritma}% -\renewcommand{\algorithmcflinename}{çizgi}% +\renewcommand{\algorithmcflinename}{\c{c}izgi}% \renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Prosedür}% +\renewcommand{\@algocf@procname}{Prosed\"ur}% \renewcommand{\@algocf@funcname}{Fonksiyon}% -\renewcommand{\procedureautorefname}{prosedür}% +\renewcommand{\procedureautorefname}{prosed\"ur}% \renewcommand{\functionautorefname}{fonksiyon}% \renewcommand{\algocf@languagechoosen}{turkish}% }% @@ -1481,6 +1491,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%% Package Loading %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % +\RequirePackage{ifoddpage}% \RequirePackage{xspace}% % \ifthenelse{\boolean{algocf@endfloat}}{% @@ -1512,14 +1523,14 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \newcommand{\algocf@name}{algorithm2e}% -\newcommand{\algocf@date}{october 19 2015}% -\newcommand{\algocf@version}{Release 5.1}% +\newcommand{\algocf@date}{July 18 2017}% +\newcommand{\algocf@version}{Release 5.2}% \newcommand{\algocf@id}{\algocf@version\space -- \algocf@date\space --}% -\typeout{********************************************************^^JPackage `\algocf@name'\space\algocf@id^^J% - - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% - - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% - subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% - - Author: Christophe Fiorio (christophe.fiorio@umontpellier.fr)^^J********************************************************}% +% \typeout{********************************************************^^JPackage `\algocf@name'\space\algocf@id^^J% +% - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% +% - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% +% subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% +% - Author: Christophe Fiorio (christophe.fiorio@umontpellier.fr)^^J********************************************************}% %% %% %% @@ -1768,8 +1779,12 @@ % \newcommand{\algocf@push}[1]{\advance\skiptotal by #1\moveright #1}% \newcommand{\algocf@pop}[1]{\advance\skiptotal by -#1}% -\newcommand{\algocf@addskiptotal}{\advance\skiptotal by 0.4pt\advance\hsize by -0.4pt\advance\hsize by -\skiplength}% 0.4 pt=width of \vrule -\newcommand{\algocf@subskiptotal}{\advance\skiptotal by -0.4pt\advance\hsize by 0.4pt\advance\hsize by \skiplength}% 0.4 pt=width of \vrule +\newcommand{\algocf@addskiptotal}{% + \advance\hsize by -\skiplength% +}% \skiplength=skiptext+0.4 pt that is the width of \vrule +\newcommand{\algocf@subskiptotal}{% + \advance\hsize by \skiplength% +}% \skiplength=skiptext+0.4 pt that is the width of \vrule % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% @@ -1840,7 +1855,7 @@ \hbox{% \vtop{\algocf@push{\skiptext}% \vtop{\algocf@addskiptotal #1}}}% inside the block - \algocf@pop{\skiprule}% + \algocf@pop{\skiprule}%\algocf@subskiptotal% \algocf@eblockcode% % \nointerlineskip% no vskip after }% @@ -1882,22 +1897,27 @@ \renewcommand{\@algocf@endoption}[1]{}% \algocf@setBlock}% % +\newboolean{algocf@optAlgoNoLine}\setboolean{algocf@optAlgoNoLine}{false} \newcommand{\SetAlgoNoLine}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\setboolean{algocf@optAlgoNoLine}{true}% \renewcommand{\algocf@@block}[2]{\algocf@@@block{\algocf@Noline{##1}}{##2}}% \renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% \renewcommand{\Hlne}{}}% % \newcommand{\SetAlgoVlined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Vline +\setboolean{algocf@optAlgoNoLine}{false}% \renewcommand{\algocf@@block}[2]{\algocf@Vline{##1}}% \renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}}%\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% \renewcommand{\Hlne}{\algocf@Hlne}}% % \newcommand{\SetAlgoLined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Line +\setboolean{algocf@optAlgoNoLine}{false}% \renewcommand{\algocf@@block}[2]{\algocf@@@block{\strut\algocf@Vsline{##1}}{##2}}% no skip after a block so garantie at least one line \renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}}%\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% \renewcommand{\Hlne}{}}% % \newcommand{\SetNothing}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\setboolean{algocf@optAlgoNoLine}{true}% \renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\par}% %\long \renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% @@ -2077,6 +2097,19 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % +% KwProgFn +% +\newcommand{\SetKwProgFn}[4]{%\SetKwProg{Env}{Title}{is}{end} + \algocf@newcmdsides{#1}{4}{\KwSty{#2}\ifArgumentEmpty{#2}\relax{\ }{##2}\KwSty{#3}{##3}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@group{##4}\KwSty{#4}}{\relax}{\strut\par}% + \algocf@newcommand{l#1}{\@ifstar{\csname algocf@l#1star\endcsname}{\csname algocf@l#1\endcsname}}% + \algocf@newcmdside{algocf@l#1}{3}{\KwSty{#2} \ProgSty{##2}\KwSty{#3}\algocf@bgroupcode\ ##3\algocf@egroupcode\@endalgocfline\ifArgumentEmpty{##1}\relax\ {##1}\strut\par}% + \algocf@newcmdside{algocf@l#1star}{3}{\KwSty{#2} \ProgSty{##2}\KwSty{#3}\algocf@bgroupcode\ ##3\algocf@egroupcode}% +}% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Kw % \newcommand{\SetKw}[2]{% @@ -2278,13 +2311,15 @@ \addtolength{\hsize}{\algomargin}% }% % +\newlength{\algocf@lcaptionbox}% \newcommand{\algocf@makecaption@plainruled}[2]{\algocf@makecaption@plain{#1}{#2}}% \newcommand{\algocf@makecaption@tworuled}[2]{\algocf@makecaption@ruled{#1}{#2}}% \newcommand{\algocf@makecaption@algoruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% \newcommand{\algocf@makecaption@boxruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% \newcommand{\algocf@makecaption@ruled}[2]{% \global\sbox\algocf@capbox{\hskip\AlCapHSkip% .5\algomargin% - \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}}% then caption is not centered + \setlength{\algocf@lcaptionbox}{\hsize}\addtolength{\algocf@lcaptionbox}{-\AlCapHSkip}% + \parbox[t]{\algocf@lcaptionbox}{\algocf@captiontext{#1}{#2}}}% then caption is not centered }% % \newlength{\algoheightruledefault}\setlength{\algoheightruledefault}{0.8pt}% @@ -2299,17 +2334,16 @@ \newcommand{\algocf@caption@tworuled}{\box\algocf@capbox\hrule height0pt depth0pt\kern\interspacealgoruled}% \newcommand{\algocf@caption@algoruled}{\algocf@caption@ruled}% \newcommand{\algocf@caption@boxruled}{% - \addtolength{\hsize}{-0.8pt}% - \hbox to\hsize{% - \vrule%\hskip-0.35pt% + \hbox{% + \vrule% \vbox{% + \addtolength{\hsize}{-0.8pt}% \hrule\vskip\interspacetitleboxruled% \hbox to\hsize{\unhbox\algocf@capbox\hfill}\vskip\interspacetitleboxruled% + \addtolength{\hsize}{0.8pt}% }% - %\hskip-0.35pt% \vrule% }\nointerlineskip% - \addtolength{\hsize}{0.8pt}% }% % % @@ -2491,8 +2525,8 @@ \def\@algocf@pre@boxed{\noindent\begin{lrbox}{\algocf@algoframe}} \def\@algocf@post@boxed{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% \def\@algocf@capt@boxed{under}% -\def\@algocf@pre@ruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% -\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% +\def\@algocf@pre@ruled{\hrule width\algocf@ruledwidth height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule width\algocf@ruledwidth height\algoheightrule\relax}% \def\@algocf@capt@ruled{top}% \def\@algocf@pre@algoruled{\hrule width\algocf@ruledwidth height\algoheightrule depth0pt\kern\interspacetitleruled}% \def\@algocf@post@algoruled{\kern\interspacealgoruled\hrule width\algocf@ruledwidth height\algoheightrule \relax}% @@ -2587,9 +2621,10 @@ \hbox to\algowidth\bgroup\hbox to \algomargin{\hfill}\vtop\bgroup% \ifthenelse{\boolean{algocf@slide}}{\parskip 0.5ex\color{black}}{}% % initialization - \addtolength{\hsize}{-1.5\algomargin}% + \addtolength{\hsize}{-\algomargin}\addtolength{\hsize}{-1.5em}% 1.5em to let space for line numbering \let\@mathsemicolon=\;\def\;{\ifmmode\@mathsemicolon\else\@endalgoln\fi}% - \raggedright\AlFnt{}% + \raggedright% + \AlFnt{}% \ifthenelse{\boolean{algocf@slide}}{\IncMargin{\skipalgocfslide}}{}% \@algoinsideskip% % \let\@emathdisplay=\]\def\]{\algocf@endline\@emathdisplay\nl}% @@ -2633,9 +2668,6 @@ % \let\algocf@originalfloatboxreset=\@floatboxreset% % \let\@floatboxreset=\@algofloatboxreset% \newenvironment{algocf@algorithm}[1][htbp]{% - \ifthenelse{\equal{\algocf@float}{figure}}{% - \ifthenelse{\boolean{algocf@figurecaption}}{\captionsetup{margin={-\algomargin,\algomargin}}}{}% - }{}% \@algocf@init% \ifthenelse{\equal{\algocf@float}{figure}}{% if option figure set \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option @@ -2643,11 +2675,13 @@ \ifthenelse{\boolean{algocf@customruledwidth}}{\relax}{\setlength{\algocf@ruledwidth}{\linewidth}}% \let\algocf@oldeverypar=\everypar% \algocf@seteverypar% + \addtolength{\linewidth}{-\algomargin}% caption package use \linewidth as basic width of caption }{% else algorithm environment with figure option \begin{figure}[#1]% call figure \ifthenelse{\boolean{algocf@customruledwidth}}{\relax}{\setlength{\algocf@ruledwidth}{\linewidth}}% \let\algocf@oldeverypar=\everypar% \algocf@seteverypar% + \addtolength{\linewidth}{-\algomargin}% so now \linewidth==\hsize. Needed by caption package that uses \linewidth as basic width of caption }% }{% else normal algorithm environment \@algocf@init@caption% @@ -2664,7 +2698,7 @@ \let\algocf@oldeverypar=\everypar% \algocf@seteverypar% }{% else algorithm environment - \begin{algocf}[#1]% call algcf + \begin{algocf}[#1]% call algocf \ifthenelse{\boolean{algocf@customruledwidth}}{\relax}{\setlength{\algocf@ruledwidth}{\linewidth}}% \let\algocf@oldeverypar=\everypar% \algocf@seteverypar% @@ -3013,10 +3047,10 @@ % % Croatian keywords % -\ifthenelse{\boolean{algocf@localkw@croatian}\OR\equal{\algocf@languagechoosen}{croatian}}{% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{croatian}}{% \SetKwInput{KwUlaz}{Ulaz}%KwIn \SetKwInput{KwIzlaz}{Izlaz}%KwOut -\SetKwInput{KwPodaci}{Podaci}%KwData +\SetKwInput{KwPodatci}{Podatci}%KwData \SetKwInput{KwRezultat}{Rezultat}%KwResult \SetKw{KwDo}{do}%KwTo \SetKw{KwVrati}{vrati}%KwRet @@ -3034,7 +3068,7 @@ \SetKwFor{ZaSve}{za sve}{\v{c}ini}{kraj za sve}%ForAll \SetKwFor{Dok}{dok}{\v{c}ini}{kraj dok}%While }{}% - +% % % --- Turkish keywords % @@ -3164,7 +3198,7 @@ \ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{croatian}}{% \SetKwInput{KwIn}{Ulaz}%KwIn \SetKwInput{KwOut}{Izlaz}%KwOut -\SetKwInput{KwData}{Podaci}%KwData +\SetKwInput{KwData}{Podatci}%KwData \SetKwInput{KwResult}{Rezultat}%KwResult \SetKw{KwTo}{do}%KwTo \SetKw{KwRet}{vrati}%KwRet -- cgit v1.2.3