forked from pool/texlive-specs-a
4ac329f576
OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive-specs-a?expand=0&rev=d0470f4ff1fe550dcb29dbc7d5ca0018
332 lines
15 KiB
Plaintext
332 lines
15 KiB
Plaintext
--- texmf-dist/tex/latex/algorithm2e/algorithm2e.sty
|
||
+++ texmf-dist/tex/latex/algorithm2e/algorithm2e.sty 2017-07-28 08:09:33.054032000 +0000
|
||
@@ -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 <list> <firstname name>'^^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}{<7B>izgi}%
|
||
+\renewcommand{\algorithmcflinename}{\c{c}izgi}%
|
||
\renewcommand{\algocf@typo}{}%
|
||
-\renewcommand{\@algocf@procname}{Prosed<65>r}%
|
||
+\renewcommand{\@algocf@procname}{Prosed\"ur}%
|
||
\renewcommand{\@algocf@funcname}{Fonksiyon}%
|
||
-\renewcommand{\procedureautorefname}{prosed<65>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 <list> <firstname name>'^^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 <list> <firstname name>'^^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
|