From: couturie Date: Tue, 30 Jul 2013 19:27:32 +0000 (+0200) Subject: new X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/UIC2013.git/commitdiff_plain/c0c4908f916ec0bdc063d877e0ff2b7e684907ae new --- diff --git a/algorithm.sty b/algorithm.sty deleted file mode 100644 index 34e1f1f..0000000 --- a/algorithm.sty +++ /dev/null @@ -1,96 +0,0 @@ -% ALGORITHM STYLE -- Released 8 April 1996 -% for LaTeX-2e -% Copyright -- 1994 Peter Williams -% -% E-mail pwil3058@bigpond.net.au -% -% This style file is free software; you can redistribute it and/or -% modify it under the terms of the GNU Lesser General Public -% License as published by the Free Software Foundation; either -% version 2 of the License, or (at your option) any later version. -% -% This style file is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -% Lesser General Public License for more details. -% -% You should have received a copy of the GNU Lesser General Public -% License along with this style file; if not, write to the -% Free Software Foundation, Inc., 59 Temple Place - Suite 330, -% Boston, MA 02111-1307, USA. -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{algorithm} -\typeout{Document Style `algorithm' - floating environment} - -\RequirePackage{float} -\RequirePackage{ifthen} -\newcommand{\ALG@within}{nothing} -\newboolean{ALG@within} -\setboolean{ALG@within}{false} -\newcommand{\ALG@floatstyle}{ruled} -\newcommand{\ALG@name}{Algorithm} -\newcommand{\listalgorithmname}{List of \ALG@name s} - -% Declare Options -% first appearance -\DeclareOption{plain}{ - \renewcommand{\ALG@floatstyle}{plain} -} -\DeclareOption{ruled}{ - \renewcommand{\ALG@floatstyle}{ruled} -} -\DeclareOption{boxed}{ - \renewcommand{\ALG@floatstyle}{boxed} -} -% then numbering convention -\DeclareOption{part}{ - \renewcommand{\ALG@within}{part} - \setboolean{ALG@within}{true} -} -\DeclareOption{chapter}{ - \renewcommand{\ALG@within}{chapter} - \setboolean{ALG@within}{true} -} -\DeclareOption{section}{ - \renewcommand{\ALG@within}{section} - \setboolean{ALG@within}{true} -} -\DeclareOption{subsection}{ - \renewcommand{\ALG@within}{subsection} - \setboolean{ALG@within}{true} -} -\DeclareOption{subsubsection}{ - \renewcommand{\ALG@within}{subsubsection} - \setboolean{ALG@within}{true} -} -\DeclareOption{nothing}{ - \renewcommand{\ALG@within}{nothing} - \setboolean{ALG@within}{true} -} -\DeclareOption*{\edef\ALG@name{\CurrentOption}} - -% ALGORITHM -% -\ProcessOptions -\floatstyle{\ALG@floatstyle} -\ifthenelse{\boolean{ALG@within}}{ - \ifthenelse{\equal{\ALG@within}{part}} - {\newfloat{algorithm}{htbp}{loa}[part]}{} - \ifthenelse{\equal{\ALG@within}{chapter}} - {\newfloat{algorithm}{htbp}{loa}[chapter]}{} - \ifthenelse{\equal{\ALG@within}{section}} - {\newfloat{algorithm}{htbp}{loa}[section]}{} - \ifthenelse{\equal{\ALG@within}{subsection}} - {\newfloat{algorithm}{htbp}{loa}[subsection]}{} - \ifthenelse{\equal{\ALG@within}{subsubsection}} - {\newfloat{algorithm}{htbp}{loa}[subsubsection]}{} - \ifthenelse{\equal{\ALG@within}{nothing}} - {\newfloat{algorithm}{htbp}{loa}}{} -}{ - \newfloat{algorithm}{htbp}{loa} -} -\floatname{algorithm}{\ALG@name} - -\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}} - diff --git a/algorithm2e.sty b/algorithm2e.sty deleted file mode 100644 index c2ebe93..0000000 --- a/algorithm2e.sty +++ /dev/null @@ -1,2817 +0,0 @@ -% algorithm2e.sty --- style file for algorithms -% almost everything can be customized by users. See the document for more explanations -%% Copyright 1996-2013 Christophe Fiorio -% -% This program may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.2 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. -% -% This program consists of the files algorithm2e.sty and algorithm2e.tex and algorithm2e-compatibility.sty -% -% Report bugs and comments to: -% - 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% -% -% $Id: algorithm2e.sty,v 5.0 2013/01/06 14:40:35 cfiorio Exp $ -% -% PACKAGES REQUIRED: -% -% - float (in contrib/supported/float) -% - ifthen (in base) -% - xspace (in packages/tools) -% - relsize (in contrib/misc/relsize.sty) -% -%%%%%%%%%%%%%%% Release 5.0 -% -% Package options: -% --------------- -% - oldcommands : to use old command names -% - french, english, german, ngerman -% portuguese, czech, italiano, -% slovak, croatian, spanish : for the name of the algorithm and some keyword code -% - onelanguage : to simply switch keyword from one language to another without changing -% keyword commands -% - boxed, boxruled, ruled, tworuled, -% algoruled, plain : layout of the algorithm -% - algo2e : environment is algorithm2e instead of algorithms and \listofalgorithmes -% instead of \listofalgorithms -% - slide : to use when making slides -% - noline,lined,vlined : how block are designed. -% - shortend, longend, noend : short or long end keyword as endif for e.g. -% - linesnumbered : auto numbering of the algorithm's lines -% - linesnumberedhidden : to hide autonumbered lines (show number on a line with \ShowLn -% - commentsnumbered, inoutnumbered : to autonumber comments and inout keywords (by defaut not numbered) -% - rightnl : to have line number on the right instead of on the left as default -% - algonl : line numbers preceded by algo number -% - scright, scleft : right or left justified side comments -% - fillcomment, nofillcomment : end mark of comment is flushed to the right so comments fill the line -% - dotocloa : add an entry in the toc for list of algorithms (require tocbibind package) -% - endfloat : add algoendfloat environment pushing algorithm so written to the end of document -% - resetcount, noresetcount : start value of line numbers. -% - algopart,algochapter,algosection : algo numbering within part, chapter or section -% - titlenumbered,titlenotnumbered : numbering of title set by \Titleofalgo -% - figure : algorithms are figures, numbered as figures, and put in the list of figures. -% - procnumbered : procedure or function are numbered as algorithm -% - nokwfunc : procedure or function name doens't become a command -% - norelsize : don't use relsize package (useful if it breaks the compatibily) -% - displayblockmarkers : display begin, end keywords at start of each block -% -% defaults are; english,plain,resetcount,titlenotnumbered -% -%%%%%%%%%%%%%% -% -% Short summary -% ------------- -% -% algorithm is an environment for writing algorithm in LaTeX2e. -% Almost all is customizable. You can add keywords, change style, change the layout, ... -% It provide macros that allow you to create differents sorts of key words, therefore a set of predefined key -% word is gived. -% -% IT should be used as follows -% -% \begin{algorithm} -% ... -% ... -% \end{algorithm} -% -% -% IMPORTANT : each line MUST end with \; -% -% Note that if you define macros outside algorithm environment they -% are avaible in all the document and particulary you can use then -% inside all algorithms without re-define them. -% -% an example: -% -% \begin{algorithm} -% \SetAlgoLined -% \KwIn{this text} -% \KwOut{how to write algorithm with \LaTeX2e } -% -% initialization\; -% \While{not at end of this document}{ -% read current section\; -% \eIf{understand}{ -% go to next section\; -% current section becomes this one\; -% }{ -% go back to the beginning of current section\; -% } -% } -% \caption{How to write algorithm} -% \end{algorithm} -% -% -%%%%%%%%%%%%%% predefined keywords -% -% \KwIn{input} -% \KwOut{output} -% \KwData{input} -% \KwResult{output} -% \KwTo % a simple keyword -% \KwFrom % a simple keyword -% \KwRet{[value]} -% \Return{[value]} -% \Begin{block inside} -% \eIf{condition}{Then Block}{Else block} % in blocks -% \If{condition}{Then block} % in a block -% \uIf{condition}{Then block} % in a block unended -% \lIf{condition}{Else text} % on the same line -% \Else{inside Else} % in a block -% \lElse{Else text} % on the same line -% \uElse{Else text} % in a block unended -% \ElseIf{inside Elseif} % in a block -% \lElseIf{Elseif text} % on the same line -% \uElseIf{Elseif text} % in a block unended -% \Switch{Condition}{Switch block} -% \Case{a case}{case block} % in a block -% \lCase{a case}{case text} % on the same line -% \Other{otherwise block} % in a block -% \lOther{otherwise block} % on the same line -% \For{condition}{text loop} % in a block -% \lFor{condition}{text} % on the same line -% \ForEach{condition}{text loop} % in a block -% \lForEach{condition}{text} % on the same line -% \ForPar{condition}{text loop} % in a block -% \lForPar{condition}{text} % on the same line -% \While{condition}{text loop} % in a block -% \lWhile{condition}{text loop} % on the same line -% \Repeat{End condition}{text loop} % in a block -% \lRepeat{condition}{text} % on the same line -% -%%%%%%%%%%%%%% -% -% History: -% -% - January 06 2013 - revision 5.0 -% * CHANGE: SetKwSwith takes now 9 args: 9th arg is the same as -% previous 8th arg ('end of switch' keyword). New 8th arg is -% 'end of case' keyword. This is due to change of release -% 3.2 which introduce end after case block... as I never -% test with longend option, I never see that the 'end -% switch' used for case was not good. -% * CHANGE: when no end keyword is defined in a block macro, then -% algorithm2e does no more try to print it. So even with lined or noline -% option, no empty line is printed (before: a blank end was -% printed, so a blank line appeared) -% * Internal Change: add some internal function to improve readibility -% (thanks to Philip K. F. H\ölzenspies) -% * ADD: Block markers. -% You can now ask package to put begin and end keywords automatically at begin -% and end of blocks, it means each group of commands shifted and enclosed in -% braces. -% This is tricky to use but, combined with \SetStartEndCondition and -% redefinition of keywords, you should be abble to simulate any syntax. See -% examples in documentation where a generic example is derived in pseudo-code, -% python and C by keeping code and changing only style using block markers -% macros, \SetStartEndCondition and some redefinition of keywords. -% These new block markers macros are: -% - \AlgoDisplayBlockMarkers and \AlgoDontDisplayBlockMarkers -% - \SetAlgoBlockMarkers{begin marker}{end marker} -% - \BlockMarkersSty{text} and \SetBlockMarkersSty -% Note that a new option has also been added: displayblockmarkers -% * ADD: \leIf macro automatically defined by \SetKwIF: allow to define -% an if-then-else on a single line. -% * ADD: new macro \SetStartEndCondition{typo1}{typo2}{typo3} which -% sets typo around condition in For, If, Switch, Case and -% Repeat macros. First two are used around For, If, Swith -% conditions, First and third are used for Case and Repeat -% condition where condition ends the line. Default definition -% is \SetStartEndCondition{ }{ }{}. -% A common alternative is \SetStartEndCondition{ (}{) }{)} -% Can also be used to remove space around condition, for -% example if you want python style commands: -% \SetStartEndCondition{ }{}{} and \SetKwFor{For}{for}{:}{} -% * ADD: new environment algomathdisplay which allow display math (like inside \[ \] or $$ $$) -% handling end line and line number -% * ADD: new command \SetKwProg{Env}{Title}{is}{end} which defines a macro -% \Env{args}{text}. Env is a block with 'Title' (in \CapSty) at the beginning -% followed by args followed by 'is' then 'text' is put below inside a block ended -% by 'end'. If no 'end' is specified, nothing is written (no -% blank line is inserted). Useful to typeset function or prog for example: -% \SetKwProg{Fn}{Function}{is}{end} makes \Fn{afunc(i: int) : int}{return 0\;} -% writes: -% Function afunc(i: int) : int is -% | return 0; -% end -% or \SetKwProg{Def}{def}{:}{} makes \Def{afunc(i: int)}{return 0\;} writes: -% def afunc(i: int): -% | return 0 -% Tip: combine it with \SetKwFunction to write recursive function algorithm. With -% example above, you could define \SetKwFunction{\Afunc}{afunc} and then write: -% \Def{\Afunc{i:int}{\eIf{i>0}{\KwRet \Afunc{i-1}}{\KwRet 0\;}} that writes: -% def afunc(i: int): -% | if(i>0): -% | return afunc(i-1) -% | else: -% | return 0 -% with appropriate typo. -% * ADD: option croatian: croation keywords (thanks to Ivan 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) -% * ADD: unterminated block: useful to add part separator that doesn't necessary need an end -% keyword. -% Designed on the pattern of unterminated if (see \uIf macro) allowing to -% add a block that is not terminated by a keyword. Such block are defined in the same -% time as a block is defined by adding a macro beginning with u. So, for example, -% predefined \SetKwBlock{Begin}{begin}{end} defines now two commands: -% - \Begin{} as previously which print a begin - end block -% - \uBegin{} that defines a begin only block -% * FIX: problem when numbering line inside until condition of -% \SetKwRepeat macro: line number was not correctly aligned. -% * FIX: dotocloa option which was broken -% * FIX: uIf and uCase didn't have same behavior when used with -% noline, vlined or lined option. This is fixed. Side effect: no empty -% line after an uIf or uCase when used with options lined or vlined -% * FIX: a bug with Repeat Until command when use with side comment on Until -% * FIX: a bug with side text -- text put into () -- of command macro (SetKwIf and so on) -% which was always setting a ';' even after a \DontPrintSemicolon -% * FIX: a bug with hyperref and chapter definition (thanks to Hubert Meier) -% * FIX: bugs with l macro and side comment -% * FIX: revision number -% * FIX: fix non ascii character (utf8 not yet recognized by all latex engine) -% * FIX: fnum@algocf had an useless parameter which sometimes broke expansion and output an error -% * FIX: works now with multicol package -% -% - december 14 2009 - revision 4.1 -% * ADD: new command \SetKwHangingKw{Name}{text} (hanging indent with keyword): This creates a -% hanging indent much like \texttt{SetKwInput}, except that it removes the trailing `:' -% and does not reset numbering (thanks to Nathan Tallent) -% -% - november 17 2009 - revision 4.00 - -% -% * CHANGE: IMPORTANT: some commands have been renamed to have consistent naming (CamlCase -% syntax) and old commands are no more available. If you doesn't want to change -% your mind or use old latex files, you can use oldcommands option to enable old -% commands back. -% text. Here are these commands: -% - \SetNoLine becomes \SetAlgoNoLine -% - \SetVline becomes \SetAlgoVlined -% - \Setvlineskip becomes \SetVlineSkip -% - \SetLine becomes \SetAlgoLined -% - \dontprintsemicolon becomes \DontPrintSemicolon -% - \printsemicolon becomes \PrintSemicolon -% - \incmargin becomes \IncMargin -% - \decmargin becomes \DecMargin -% - \setnlskip becomes \SetNlSkip -% - \Setnlskip becomes \SetNlSkip -% - \setalcapskip becomes \SetAlCapSkip -% - \setalcaphskip becomes \SetAlCapHSkip -% - \nlSty becomes \NlSty -% - \Setnlsty becomes \SetNlSty -% - \linesnumbered becomes \LinesNumbered -% - \linesnotnumbered becomes \LinesNotNumbered -% - \linesnumberedhidden becomes \LinesNumberedHidden -% - \showln becomes \ShowLn -% - \showlnlabel becomes \ShowLnLabel -% - \nocaptionofalgo becomes \NoCaptionOfAlgo -% - \restorecaptionofalgo becomes \RestoreCaptionOfAlgo -% - \restylealgo becomes \RestyleAlgo -% - gIf macros and so on do no more exist -% * NEW: - Compatibily with other packages improven by changing name of internal -% macros. Algorithm2e can now be used with arabtex for example, if this last is -% loaded after algorithm2e package. -% * ADD: - OPTION endfloat: endfloat packages doesn't allow float environment inside other -% environment. So using it with figure option of algorithm2e makes error. This -% option enables a new environment algoendfloat to be used instead of algorithm -% environment that put algorithm at the end. algoendfloat environment make -% algorithm acting as endfloat figures. This option requires endfloat packages. -% * ADD: - OPTION norelsize: starting from this release (v4.00), algorithm2e package uses -% relsize package in order to get relative size for lines numbers; but it seems -% that some rare classes (such as inform1.cls) are not compatible with relsize; to -% have algorithm2e working, this option makes algorithm2e not to load relsize -% package and go back to previous definition by using \scriptsize font for lines -% numbers. -% * ADD: - OPTION onelanguage: allow, if using standard keywords listed below, to switch -% from one language to another without changing keywords by using appropriate -% language option: -% . KwIn, KwOut, KwData, KwResult -% . KwTo KwFrom -% . KwRet, Return -% . Begin -% . Repeat -% . If, ElseIf, Else -% . Switch, Case, Other -% . For, ForPar, ForEach, ForAll, While -% . -% * ADD: - OPTION rightnl: put lines numbers to the right of the algorithm instead of left. -% * ADD: new commands \setRightLinesNumbers and \setLeftLinesNumbers which sets the lines -% numbers to the right or to the left of the algorithm. -% * ADD: - new kind of keywords: KwArray used to define arrays: -% \SetKwArray{Kw}{array} defines an array keywords Kw called array and printed in -% DataSty style when call with \Kw. It can be used with one argument which -% denotes the element index: \Kw{n} prints array[n] with array in DataSty and n in -% ArgSty. -% * ADD/FIX: rules of ruled, algoruled, tworuled styles used rules of different sizes! This -% is now fixed. Moreover size of the rules is now controlled by a length and so -% can be customized by the user. -% \algoheightrule is the height of the rules and can be changed via \setlength -% \algoheightruledefault is the default height of he rules (0.8pt) -% \algotitleheightrule is the height of the rule that comes just after the -% caption in ruled and algoruled style; it can be changed via \setlength -% \algotitleheightruledefault is the default height of this rules (0.8pt) -% Thanks to Philippe Dumas who reports the bug and make the suggestion. -% * ADD: - \SetAlgoCaptionSeparator which sets the separator between Algorithm 1 and the -% title. By default it's ':' and caption looks like "Algorithm 2: title" but now -% you can change it by using for example \SetAlgoCaptionSeparator{.} which will -% give "Algorithm 3. title" -% * ADD: - \SetAlgoLongEnd and \SetAlgoShortEnd and \SetAlgoNoEnd commands which act as -% corresponding package options -% * ADD: - OPTIONS italiano and slovak as new language (thanks to Roberto Posenato and -% Miroslav Binas) -% * CHANGE: - Fnt and Sty macro to have consistent use and naming (see below) -% * ADD: - \AlCapSty, \AlCapNameSty, \AlCapFnt, \AlCapNameFnt, \ProcSty, \ProcFnt, -% \ProcNameSty, \ProcNameFnt, \ProcArgSty, ProcArgFnt and corresponding "set macro" -% \SetAlCapSty, \SetAlCapNameSty, \SetAlCapFnt, \SetAlCapNameFnt, \SetProcSty, -% \SetProcFnt, \SetProcNameSty, \SetProcNameFnt, \SetProcArgSty, \SetProcArgFnt which -% control the way caption is printed. Sty macro use command taking one parameter as -% argument, Fnt macros use directly command. In Fact caption is printed as follow: -% \AlCapSty{\AlCapFnt Algorithm 1:}\AlCapNameSty{\AlCapNameFnt my algorithm} -% By default, \AlCapSty is textbf and \AlCapFnt is nothing. \AlCapNameSty keep text -% as it is, and \AlCapNameFnt do nothing also. -% You can redefine \AlCapFnt and \AlCapNameFnt by giving macro to \Set commands. For -% example, you can do \SetAlCapFnt{\large} to see Algorithm printed in \large font. -% You can redefine \AlCapSty, \AlCapFnt, \AlCapNameSty and \AlCapNameFnt with the -% corresponding \Set command. For the Sty commands, you have to give in parameter -% name of a macro (whithout \) which takes one argument. For example, -% \SetAlCapFnt{textbf} defines the default behaviour. If you want to do more -% complicated thing, you should define your own macro and give it to \SetAlCapFnt or -% \SetAlCapNameFnt. Here are two examples: -% - \newcommand{\mycapsty}[1]{\tiny #1}\SetAlCapNameSty{mycapsty} -% - \newcommand{\mycapsty}[1]{\textsl{\small #1}}\SetAlCapNameSty{mycapsty} -% Or you can combine the two, for the last example you can also do: -% \SetAlCapNameSty{textsl}\SetAlCapNameFnt{\small} -% Thanks to Jan Stilhammer who gives me the idea of \AlCapNameFnt. -% * CHANGE \AlTitleFnt to match definition of all other Fnt macros and add a \AlTitleSty -% macro (see below) . Now you set \AlTitleFnt by calling \SetAlTitleFnt with -% directly a macro without parameter in argument: -% Example: \SetAlTitleFnt{\small} to set title in small font. -% * ADD: - \AlTitleSty and \SetAlTitleSty commands to set a style for title. These commands -% are defined from a macro taking the text in argument, as \textbf for example. -% To set the TitleSty you have to give name of the macro (without the '\') -% to \SetAlTitleSty. For example \SetAlTitleSty{textbf} to set \textbf style. -% * ADD: - new command \SetAlgorithmName{algorithmname}{list of algorithms name} which -% redefines name of the algorithms and the sentence list of algorithms. Second -% argument is the name that \autoref, from hyperref package, will use. Example: -% \SetAlgorithmName{Protocol}{List of protocols} if you prefer protocol than -% algorithm. -% * ADD: - new \SetAlgoRefName{QXY} which change the default ref (number of the algorithm) by -% the name given in parameter (QXY in the example). -% * ADD: - new command \SetAlgoRefRelativeSize{-2} which sets the output size of refs, defined -% by \SetAlgoRefName, used in list of algorithms. -% * ADD: - two dimensions to control the layout of caption in ruled, algoruled and boxruled -% algorithms: -% - interspacetitleruled (2pt by defaut) which controls the vertical space between -% rules and title in ruled and algoruled algorithms. -% - interspaceboxruled (2\lineskip by default) which controls the vertical space -% between rules and title in boxruled algorithms. -% These two dimensions can be changed by using \setlength command. -% * ADD: - With the fix (see below) of procedure and function environments, a new feature has -% been added: the name of the procedure or function set in caption is automatically -% defined as a KwFunction and so can be used as a macro. For example, if inside a -% procedure environment you set \caption{myproc()}, you can use \myproc macro in you -% main text. Beware that the macro is only defined after the \caption! -% * ADD: - OPTION nokwfunc to unable the new feature described above in function and -% procedure environment. Useful if you use name of procedure or function that cannot -% be a command name as a math display for example. -% * ADD: - \SetAlgoNlRelativeSize{number} command which sets the relative size of line -% numbers. By default, line numbers are two size smaller than algorithm text. Use -% this macro to change this behavior. For example, \SetAlgoNlRelativeSize{0} sets it -% to the same size, \SetAlgoNlRelativeSize{-1} to one size smaller and -% \SetAlgoNlRelativeSize{1} to one size bigger -% * ADD: - \SetAlgoProcName{aname} command which sets the name of Procedure printed by -% procedure environment (the environment prints Procedure by default). Second -% argument is the name that \autoref, from hyperref package, will use. -% * ADD: - \SetAlgoFuncName{aname} command which sets the name of Function printed by -% procedure environment (the environment prints Function by default). Second -% argument is the name that \autoref, from hyperref package, will use. -% * ADD: - \SetAlgoCaptionLayout{style} command which sets style of the caption; style must -% be the name of a macro taking one argument (the text of the caption). Examples -% below show how to use it: -% . \SetAlgoCaptionLayout{centerline} to have centered caption -% . \SetAlgoCaptionLayout{textbf} to have bold caption -% If you want to apply two styles in the same time, such as centered bold, you have -% to define you own macro and then use \SetAlgoCaptionLayout with its name. -% * ADD: - OPTION procnumbered: which makes the procedure and function to be numbered as -% algorithm -% * ADD: - OPTIONS tworuled and boxruled -% these are two new layouts: tworuled acts like ruled but doesn't put a line after -% caption ; boxruled surround algorithm by a box, puts caption above and add a line -% after caption. -% * REMOVE: - SetKwInParam has been deleted since not useful itself because of different -% macros which can do the same in a better and a more consistent way as -% SetKwFunction or SetKw. -% * FIX: - line number is now correctly vertically aligned with math display. -% * FIX: - references with hyperref. No more same identifier or missing name error. BUT now -% you must NOT use naturalnames option of hyperref packages if you do PdfLaTeX -% * FIX: - autoref with hyperref package (thanks to Jörg Sommer who notices the problem). -% * FIX: - titlenumbered was not working! fixed. -% * FIX: - Else(){} acted like uElse. Corrected. -% * FIX: - noend management: when a block was inside another and end of block was following -% each other, a blank line was added: it's now corrected. -% * FIX: - Function and Procedure environment was no more working as defined originally: the -% label was no more name of the procedure, it acts always as if procumbered option -% has been used. -% * FIX: - line numbers had a fixed size which can be bigger than algorithm text accordingly -% to \AlFnt set (see also new command \SetAlgoNlRelativeSize above) -% * FIX: - semicolon in comments when dontprintsemicolon is used. -% * FIX: - listofalgorithms adds a vertical space before first algo of a chapter as for -% listoffigures or listoftables -% * FIX: - listofalgorithms with twocolumns mode and some classes which don't allow onecolumn -% and so don't define \if@restonecol as prescribed in LaTeX (sig-alternate for -% example) -% * FIX: - algorithm2e now works with elsart cls and some more classes. -% * FIX: - blocks defined by SetKwBlock act now as other blocks (if for instance) and don't -% write end in vlined mode, instead they print a small horizontal line as required -% by the option. -% * FIX: - underfull hbox warning at each end of algorithm environment removed. -% -% * INTERNAL CHANGE: - short end keyword are deduce from long end keyword by keeping the -% first one. Allows to avoid double definition. -% * INTERNAL CHANGE: - procedure, function and algorithm are now resolved by the same -% environment to avoid code duplication. -% -% - October 04 2005 - revision 3.9 - -% * ADD: - \setalcaphskip command which sets the horizontal skip before Algorithm: in caption -% when used in ruled algorithm. -% * ADD: - \SetAlgoInsideSkip command which allows to add an extra vertical space before and -% after the core of the algorithm (ie: \SetAlgoInsideSkip{bigskip}) -% * CHANGE: - caption, when used with figure option, is no more controlled by algorithm2e -% package and so follows the exact behaviour of figures. The drawback is that you -% cannot change the typo with AlTitleFnt or CapFnt. The avantage is that if you -% use caption package, it works. -% * FIX: - problem with numbering line and pdflatex -% * FIX: - error when algorithm2e package was used with beamer and listings together -% - February 12 2005 - revision 3.8 - -% * FIX: - extra line with noend option. -% - February 10 2005 - revision 3.7 - -% * ADD: - sidecomment: different macros allowing to put text right after code on the same -% line. They are defined in the same time comment macros are defined with a star -% after the macro name. By default comments are right justified but this can be -% change with appropriate option in the macro. Ex: -% . default: \tcc*{side comment} -% . same as previous: \tcc*[r]{side comment} -% . left justify: \tcc*[l]{side comment} -% . here: \tcc*[h]{side comment} don't put the end of line mark before -% comment (; by default) and don't end the line. -% . flushed: \tcc*[f]{side comment} same as the precedent but right -% justified -% * ADD: - OPTION scright (default): right justified side comments (side comments -% are flushed to the righr) -% * ADD: - OPTION scleft: left justified side comments (side comments are put right after the -% code line) -% * ADD: - \SetSideCommentLeft acts as scleft option -% * ADD: - \SetSideCommentRight acts as scright option -% * ADD: - block like macro side text: all macro defining a block allows now to put text right -% after key words by putting text into (). Done to be used with sidecomment macros, -% but all text can be used. -% Ex: \eIf(\tcc*[f]{then comment}){test}{then text}(else side text){else text} -% * ADD: - OPTION fillcomment (default): end mark of comment is flushed to the right so -% comments fill all the width of text. -% * ADD: - OPTION nofillcomment: end mark of comment is put right after the comment. -% * ADD: - \SetNoFillComment acts as nofillcomment option. -% * ADD: - \SetFillComment acts as fillcomment option. -% * ADD: - OPTION dotocloa: which adds an entry in the toc for the list of algorithms. This -% option load package tocbibind if not already done and so list of figures and list -% of tables are also added in the toc. If you want to control which ones of the lists -% will be added in the toc, please load package tocbibind before package algorithm -% and give it the options you want. -% * FIX: - vertical spacing for uif macro with noend option -% * FIX: - all the compatibility problems between caption and other packages -% * FIX: - typographical differences between list of algorithms and other lists when in -% report or book -% -% - January 24 2005 - revision 3.6 - -% * FIX: - vertical spacing and space characters at the beginning or end of comments. -% line numbers of comments not in the NlSty. -% Thanks to Arnaud Giersch for his comments and suggestions. -% * FIX: - Set*Sty macro: the styles defined was not protected and was modified by surrounding -% context. For example KwTo in a \For{}{} was in bold AND italic instead of just in -% bold. -% * FIX: - line number misplacement after \Indp -% -% - January 21 2005 - revision 3.5 - -% * ADD: - hidden numbering of the lines. Lines are auto-numbered but numbers are shown only -% on lines you specify: -% * linesnumberedhidden option or \LinesNumberedHidden macro activate this -% functionnality. -% * \ShowLn and \ShowLnLabel{lab} macros make the number visible on the -% line. \ShowLnLabel{lab} allows to set a label for this line. -% Thanks to Samson de Jager who makes this suggestion and provides the macros. -% * ADD: - \AlCapFnt and \SetAlCapFnt which allow to have a different font for -% caption. Works like \AlFnt and \SetAlFnt and by default is the same. -% * ADD: - \AlCapSkip skip length. This vertical space is added before caption in plain ou -% boxed mode. It allows to change distance between text and caption. -% * FIX: - caption compatible with IEEEtran class. -% * FIX: - some vertical spacing error with \uIf macros (Thanks to Arnaud Giersch) -% * FIX: - Procedure and Function: lines are also numbered like algorithms -% * FIX: - CommentSty was not used for Comments -% -% - January 10 2005 - revision 3.4 - -% * FIX: - caption compatible with new release of Beamer class. -% -% - June 16 2004 - revision 3.3 - -% * FIX: - Hyperlink references of Hyperref package works now if compiled with pdflatex -% and [naturalnames] option of hyperref package is used. -% * FIX: - algorithm[H] had problem in an list environment - corrected -% * FIX: - interline was not so regular in nested blocks - corrected -% * ADD - \SetVlineSkip macro which sets the vertical skip after the little horizontal -% rule which closes a block in Vlined mode. By default 0.8ex -% -% - June 11 2004 - revision 3.2 - AUTO NUMBERING LINES !!! -% * ADD: auto numbering of the lines (the so asked and so long awaiting feature) -% this feature is managed by 3 options and 3 commands: -% - linesnumbered option: lines of the algo are numbered except for comments and -% input/output (KwInput and KwInOut) -% - commentsnumbered option: makes comments be numbered -% - inoutnumbered option: makes data input/output be numbered -% - \nllabel{lab} labels the line so you can cite with \ref{lab} -% - \LinesNumbered make the following algorithms having auto-numbered lines -% - \linesnotnumbered make the following algorithms having no auto-numbered lines -% * Change: algo2e option renames listofalgorithms in listofalgorithmes -% * FIX: new solution for compatibility with color package, more robust and not tricky. -% Many thanks to David Carlisle for his advices -% -% - June 09 2004 - revision 3.1 - -% * Change: \SetKwSwitch command defines an additionnal macro \uCase and \Case prints end -% * Change: now macros SetKw* do a renewcommand if the keyword is already defined. So you can -% redefine default definition at your own convenience or change your definition -% without introducing a new macro and changing your text. -% * ADD: new macro \SetKwIF which do \SetKwIf and -% \SetKwIfElseIf.The following default definition has been added: -% \SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif} -% and so you get the macros; -% \If \eIf \lIf \uIf \ElseIf \uElseIf \lElseIf \Else \uElse \lElse -% * ADD: new macro \SetAlgoSkip which allow to fix the vertical skip before and after the -% algorithms. Default is smallskip, do \SetAlgoSkip{} if you don't want an extra space -% or \SetAlgoSkip{medskip} or \SetAlgoSkip{bigskip} if you want bigger space. -% * ADD: macro \SetKwIf defines in addition a new macro \uElse (depending on wat name you -% have given in #2 arg). -% * ADD: macro \SetKwIfElseIf defines in addition a new macro \uElse and \ugElseIf (depending -% on what name you have given in #2 and #3 arg). -% * Change: baseline of algorithm is now top, so two algorithms can be put side by side. -% * FIX: Compatibility with color package solved. The problem was due to a redefinition of -% standard macros by color package. This solves compatibility problem with other -% packages as pstcol or colortbl. (notified by Dirk Fressmann, Antti Tarvainen and Koby -% Crammer) -% * Fix: extra little shift to the right with boxed style algorithm removed (notified by -% P. Tanovski) -% * Fix: algoln option was buggy (notified bye Jiaying Shen) -% * Fix: german and portuges option didn't work due to bad typo (notified by Martin Sievers, -% Thorsten Vitt and Jeronimo Pellegrini) -% -% - February 13 2004 - revision 3.0 - -% * Major revision which makes the package independent from float.sty, so now -% - algorithm* works better, in particular can be used in multicols environments -% - (known bug corrected) -% [H] works now for all sort of environment but is handled differently for classic -% environment and star environment (algorithm, figure, procedure and function). For star -% environment, H acts like for classical figure environment, so it doesn't stay here -% absolutely. -% - (known bug corrected) -% you can use now floatflt package with algorithm package and even with figure -% option. Beware that if you want to put an algorithm inside a floatingfigure, it cannot -% be floating, so [H] is required and then figure option should not be used, since -% standard figure[H] are still floating with LaTeX. -% * boxruled: a new style added. Possible now since no style no more defined by the float -% package. -% * nocaptionofalgo: dosen't print Algorithm #: in the caption for algorithm in ruled or -% algoruled style. -% note: this is just documentation of a macro which was already in the package. -% - December 14 2003 - revision 2.52 - -% * output message shorter -% * french keyword macro \PourTous was missing for longend option, it has been added. -% * TitleofAlgo prints Function or Procedure in corresponding environments. -% -% - October 27 2003 - revision 2.51 - Revision submitted to CTAN archive -% * correction of a minor which make caption in procedure -% and function to be blanck with pdfscreen package -% (thanks to Joel Gossens for the notification) -% * add two internal definition to avoid some errors when -% used with Hyperref package (Hyperref package need to -% define new counter macro from existing ones, and -% don't do it for algorithm2e package, so we do it) -% -% - October 17 2003 - revision 2.50 - first revision for CTAN archive -% * add \AlFnt and \SetAlFnt{font} macros: \AlFnt is used at the beginning of the caption and -% the body of algorithm in order to define the fonts used for typesetting algorithms. You -% can use it elsewhere you want to typeset text as algorithm. For example you can do -% \SetAlFnt{\small\sf} to have algorithms typeset in small sf font. Default is nothing so -% algorithm is typeset as the text of the document. -% * add \AlTitleFnt{text} and \SetAlTitleFnt{font} macros: The {Algorithm: } in the caption is -% typeset with \AlTitleFnt{Algorithm:}. You can use it to have text typeset as {Algorithm:} -% of captions. Default is textbf. Default can be redefined by \SetAlTitleFnt{font}, for -% example you can do \SetAlTitleFnt{emph} -% * add CommentSty typo for text comment. -% * add some compatibility with hyperref package (still an error on multiply defined refs but -% pdf correctly generated) -% * flush text to left in order to have correct indentation even with class as amsart which -% center all figures -% * add german, portuguese and czech options for title of algorithms and typo. -% * add portuguese translation of predefined keywords * add czech translation of some -% predefined keywords -% -% - December 23 2002 - revision 2.40 -% * add some french keyword missing -% * add function* and procedure* environment like algorithme* environment: print in one column -% even if twocolumn option is specified for the document. -% * add a new macro \SetKwComment to define macro which writes comments in the text. First -% argument is the name of the macro, second is the text put before the comment, third is the -% text put at the end of the comment.Default are \tcc and \tcp -% * add new options to change the way algo are numbered: -% [algopart] algo are numbered within part (counter must exist) -% [algochapter] algo are numbered within chapter -% [algosection] algo are numbered within section -% -% - March 27 2002 - revision 2.39 -% * Gilles Geeraerts: added the \SetKwIfElseIf to manage -% if (c) -% i; -% else if (c) -% i; -% ... -% else -% i; -% end -% * Also added \gIf \gElseIf \gElse. -% -% - January 02 2001 - revision 2.38 -% * bugs related to the caption in procedure and function -% environment are corrected. -% * bug related to option noend (extra vertical space added -% after block command as If or For) is corrected. -% * czech option language added (thanks to Libor Bus: l.bus@sh.cvut.cz). -% -% - October 16 2000 - revision 2.37 -% * option algo2e added: change the name of environment -% algorithm into algorithm2e. So allow to use the package -% with some journal style which already define an algorithm -% environment. -% -% - September 13 2000 - revision 2.36 -% * option slide added: require package color -% * Hack for slide class in order to have correct -% margins -% -% - November 25 1999 - revision 2.35 -% * revision number match RCS number -% * Thanks to David A. Bader, a new option is added: -% noend: no end keywords are printed. -% -% - November 19 1999 - revision 2.32 -% * minor bug on longend option corrected. -% -% - August 26 1999 - revision 2.31 -% * add an option: figure -% this option makes algorithms be figure and so are numbered -% as figures, have Figure as caption and are put in -% the \listoffigures -% -% - January 21 1999 - revision 2.3 beta -% add 2 new environments: procedure and function. -% These environments works like algorithm environment but: -% - the ruled (or algoruled) style is imperative. -% - the caption now writes Procedure name.... -% - the syntax of the \caption command is restricted as -% follow: you MUST put a name followed by 2 braces like -% this ``()''. You can put arguments inside the braces and -% text after. If no argument is given, the braces will be -% removed in the title. -% - label now puts the name (the text before the braces in the -% caption) of the procedure or function as reference (not -% the number like a classic algorithm environment). -% There are also two new styles: ProcNameSty and -% ProcArgSty. These style are by default the same as FuncSty -% and ArgSty but are used in the caption of a procedure or a -% function. -% -% - November 28 1996 - revision 2.22 -% add a new macro \SetKwInParam{arg1}{arg2}{arg3}: -% it defines a macro \arg1{name}{arg} which prints name in keyword -% style followed byt arg surrounded by arg2 and arg3. The main -% application is to a function working as \SetKwInput to be used -% in the head of the algorithm. For example -% \SetKwInParam{Func}{(}{)} allows -% \Func{functionname}{list of arguments} which prints: -% \KwSty{functioname(}list of arguments\KwSty{)} -% -% -% - November 27 1996 - revision 2.21: -% minor bug in length of InOut boxes fixed. -% add algorithm* environment. -% -% - July 12 1996 - revision 2.2: \SetArg and \SetKwArg macros removed. -% -% \SetArg has been removed since it never has been -% documented. -% \SetKwArg has been removed since \SetKw can now -% take an argument in order to be consistent with -% \SetKwData and \SetKwFunction macros. -% -% - July 04 1996 - revision 2.1: still more LaTeX2e! Minor compatibility break -% -% Macros use now \newcommand instead of \def, use of \setlength, -% \newsavebox, ... and other LaTeX2e specific stuff. -% The compatibility break: -% - \SetData becomes \SetKwData to be more consistent. So the old -% \SetKwData becomes \SetKwInput -% - old macros \titleofalgo, \Freetitleofalgo and \freetitleofalgo -% from LaTeX209 version which did print a warning message and call -% \Titleofalgo in version 2.0 are now removed! -% -% - March 13 1996 - revision 2.0: first official major revision. -% -% -%%%%%%%%%%%%%% -% -% Known bugs: -% ----------- -% - horizontal spacing (indent) doesn't work with revtex4 class. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% for more complete informations you can see algorithm2e.tex -% -% -%%%%%%%%%%%%%%%%%%%%%%%% Identification Part %%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\NeedsTeXFormat{LaTeX2e}[1994/12/01] -% -\ProvidesPackage{algorithm2e}[2013/01/06 v5.00 algorithms environments] -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%% Initial Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\@makeother\*% some package redefined it as a letter (as color.sty) -\def\@firstword#1 #2\@nil{#1}% an useful fonction -%%%%%%% Utilities: -% \ifArgumentEmpty ; if c is empty, i.e. {}, then t, else e. -% Function used internally, but may as well expose it to the user; it's useful -\long\def\ifArgumentEmpty#1{\bgroup - \catcode`\Q=3 - \catcode`\T=3 - \long\def\@tempa##1##2Q##3##4##5T{##4}% - \xdef\@tempa{\@tempa#1QQ{\noexpand\@secondoftwo}{\noexpand\@firstoftwo}T}% -\egroup\@tempa} -% -% \algocf@longdef -> shorthand to reduce -% \expandafter\long\expandafter\def -% to -% \expandafter\algocf@longdef -% may look insignificant, but reads that much better ;) -\def\algocf@longdef{\long\def} -% -% \algocf@newcommand (and helper \algocf@new@command) behaves like LaTeX's newcommand, -% with two differences: -% - the argument is not "\", but rather ""; i.e. one level of indirection -% - if the command exists already, then \renewcommand, rather than \newcommand -\def\algocf@newcommand#1{\expandafter\algocf@new@command\csname#1\endcsname} -\def\algocf@new@command#1{% - \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup - \expandafter\@ifundefined\@gtempa\newcommand\renewcommand#1}% -% -% \algocf@newcmdside -% The largest time-saver; many commands we define have the pattern: -% \()... -% where "()" is optional. By defining them with this function, -% the arguments are parsed and renumbered, i.e. the body works as if the -% command was: -% \... -% and can use \ifArgumentEmpty to see whether its #1 exists (default case -% for the side text is (), so there's no difference between calling -% \foo{bar} -% or -% \foo(){bar} -% Technically this is new behaviour, but it shouldn't really occur... -\algocf@longdef\algocf@newcmdside#1#2#3{% - \expandafter\def\csname#1\endcsname{% - \@ifnextchar({\csname algocf@#1strip\endcsname}{\csname algocf@#1strip\endcsname()}% - }% - \expandafter\algocf@longdef\csname algocf@#1strip\endcsname(##1){\csname algocf@#1main\endcsname{##1}}% - \algocf@newcommand{algocf@#1main}[#2]{#3}% -} -% -% \algocf@newcmdsides -% Like the command above, but with an optional side text at the end -% of the command as well, i.e.: -% \()() -% It may be a bit confusing that doesn't count , -% but since it is for internal use, the naming can be a little more -% fuzzy. This function behaves as if: -% = -\algocf@longdef\algocf@newcmdsides#1#2#3#4#5{% - \expandafter\def\csname#1\endcsname{% - \@ifnextchar({\csname algocf@#1strip\endcsname}{\csname algocf@#1strip\endcsname()}% - }% - \expandafter\algocf@longdef\csname algocf@#1strip\endcsname(##1){\csname algocf@#1main\endcsname{##1}}% - \algocf@newcommand{algocf@#1main}[#2]{#3\@ifnextchar({\csname algocf@#1end\endcsname}{#4#5}}% - \expandafter\algocf@longdef\csname algocf@#1end\endcsname(##1){#4{##1}\strut\par}% -}% -% -% definition of commands which can be redefined in options of the package. -% -\newcounter{AlgoLine}% -\setcounter{AlgoLine}{0}% -% -\newcommand{\algocf@algocfref}{\relax}% -\newcommand{\listalgorithmcfname}{}% -\newcommand{\algorithmcfname}{}% -\@ifundefined{algorithmautorefname}{\newcommand{\algorithmautorefname}{algorithm}}{\renewcommand{\algorithmautorefname}{algorithm}}% -\newcommand{\algorithmcflinename}{}% -\newcommand{\algocf@typo}{}% -\newcommand{\@algocf@procname}{}\newcommand{\procedureautorefname}{}% -\newcommand{\SetAlgoProcName}[2]{\renewcommand{\@algocf@procname}{#1}\renewcommand{\procedureautorefname}{#2}}% -\newcommand{\@algocf@funcname}{}\newcommand{\functionautorefname}{}% -\newcommand{\SetAlgoFuncName}[2]{\renewcommand{\@algocf@funcname}{#1}\renewcommand{\functionautorefname}{#2}}% -\newcommand{\@algocf@titleofalgoname}{\algorithmcfname}% -\newcommand{\@algocf@algotitleofalgo}{% - \renewcommand{\@algocf@titleofalgoname}{\algorithmcfname}}% -\newcommand{\@algocf@proctitleofalgo}{% - \renewcommand{\@algocf@titleofalgoname}{\algocf@procname}}% -% -\newcommand{\algocf@style}{plain}% -\newcommand{\@ResetCounterIfNeeded}{}% -\newcommand{\@titleprefix}{}% -% -\newcommand{\algocf@numbering}[1]{\newcommand{\algocf@within}{#1}}% -% -\newcommand{\defaultsmacros@algo}{\algocf@defaults@shortend}% -% -\newcommand{\algocf@list}{loa}% -\newcommand{\algocf@float}{algocf}% -% -\newcommand{\algocf@envname}{algorithm}% -\newcommand{\algocf@listofalgorithms}{listofalgorithms}% -% -% -%% redefine chapter so that it adds a vspace in the loa as the original does for lof and lot -% \let\algocf@original@chapter=\chapter% -% \def\chapter{\expandafter\addtocontents{loa}{\protect\addvspace{10\p@}}\algocf@original@chapter}% -% -% bug correction with hyperref submitted by Hubert Meier -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname @chapter\endcsname\relax\else -% \let\algocf@original@chapter=\chapter% -% \def\chapter{\addtocontents{loa}{\protect\addvspace{10\p@}}\algocf@original@chapter}% -\let\algocf@original@chapter=\@chapter% -\def\@chapter[#1]#2{\algocf@original@chapter[#1]{#2}\addtocontents{loa}{\protect\addvspace{10\p@}}}% -\fi -% -%% if@restonecol is defined in article and book but some other classes don't define it and we need it, so we do -\ifx\if@restonecol\relax\else\newif\if@restonecol\fi% -% -% -%%%%%%%%%%%%%%%%%%%%%% Declaration of Options %%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\RequirePackage{ifthen}% -% -\newboolean{algocf@displayblockmarkers}\setboolean{algocf@displayblockmarkers}{false}% -\DeclareOption{displayblockmarkers}{% - \setboolean{algocf@displayblockmarkers}{true}% -} -% -\newboolean{algocf@nokwfunc}\setboolean{algocf@nokwfunc}{false}% -\DeclareOption{nokwfunc}{% - \setboolean{algocf@nokwfunc}{true}% -}% -% -\newboolean{algocf@oldcommands}\setboolean{algocf@oldcommands}{false}% -\DeclareOption{oldcommands}{% - \setboolean{algocf@oldcommands}{true}% -}% -% -\newboolean{algocf@leftlinenumber}\setboolean{algocf@leftlinenumber}{true}% -\newcommand{\setLeftLinesNumbers}{\setboolean{algocf@leftlinenumber}{true}}% -\newcommand{\setRightLinesNumbers}{\setboolean{algocf@leftlinenumber}{false}}% -\DeclareOption{rightnl}{% - \setRightLinesNumbers% -}% -% -\newboolean{algocf@endfloat}\setboolean{algocf@endfloat}{false}% -\DeclareOption{endfloat}{% - \setboolean{algocf@endfloat}{true}% - \newcounter{postalgo}\setcounter{postalgo}{0}% -}% -% -\newboolean{algocf@procnumbered}\setboolean{algocf@procnumbered}{false}% -\DeclareOption{procnumbered}{% - \setboolean{algocf@procnumbered}{true}% -}% -% -\DeclareOption{algo2e}{% - \renewcommand{\algocf@envname}{algorithm2e}% - \renewcommand{\algocf@listofalgorithms}{listofalgorithmes}% -}% -% -\newboolean{algocf@slide}\setboolean{algocf@slide}{false}% -\DeclareOption{slide}{% - \setboolean{algocf@slide}{true}% -}% -% -\DeclareOption{figure}{% -\renewcommand{\algocf@list}{lof}% -\renewcommand{\algocf@float}{figure}% -}% -% -\newboolean{algocf@optonelanguage}\setboolean{algocf@optonelanguage}{false}% -\DeclareOption{onelanguage}{\setboolean{algocf@optonelanguage}{true}}% -% -\newcommand{\algocf@languagechoosen}{english}% -% -\DeclareOption{english}{% -\renewcommand{\listalgorithmcfname}{List of Algorithms}% -\renewcommand{\algorithmcfname}{Algorithm}% -\renewcommand{\algorithmautorefname}{algorithm}% -\renewcommand{\algorithmcflinename}{line}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedure}% -\renewcommand{\@algocf@funcname}{Function}% -\renewcommand{\procedureautorefname}{procedure}% -\renewcommand{\functionautorefname}{function}% -\renewcommand{\algocf@languagechoosen}{english}% -}% -% -\DeclareOption{french}{% -\renewcommand{\listalgorithmcfname}{Liste des Algorithmes}% -\renewcommand{\algorithmcfname}{Algorithme}% -\renewcommand{\algorithmautorefname}{algorithme}% -\renewcommand{\algorithmcflinename}{ligne}% -\renewcommand{\algocf@typo}{\ }% -\renewcommand{\@algocf@procname}{Proc\'edure}% -\renewcommand{\@algocf@funcname}{Fonction}% -\renewcommand{\procedureautorefname}{proc\'edure}% -\renewcommand{\functionautorefname}{fonction}% -\renewcommand{\algocf@languagechoosen}{french}% -}% -% -\DeclareOption{czech}{% -\renewcommand{\listalgorithmcfname}{Seznam algoritm\v{u}}% -\renewcommand{\algorithmcfname}{Algoritmus}% -\renewcommand{\algorithmautorefname}{\algorithmcfname}% -\renewcommand{\algorithmcflinename}{Radek}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedura}% -\renewcommand{\@algocf@funcname}{Funkce}% -\renewcommand{\procedureautorefname}{\@algocf@procname}% -\renewcommand{\functionautorefname}{\@algocf@funcname}% -\renewcommand{\algocf@languagechoosen}{czech}% -}% -% -\DeclareOption{german}{% -\renewcommand{\listalgorithmcfname}{Liste der Algorithmen}% -\renewcommand{\algorithmcfname}{Algorithmus}% -\renewcommand{\algorithmautorefname}{\algorithmcfname}% -\renewcommand{\algorithmcflinename}{Zeile}% -\renewcommand{\algocf@typo}{\ }% -\renewcommand{\@algocf@procname}{Prozedur}% -\renewcommand{\@algocf@funcname}{Funktion}% -\renewcommand{\procedureautorefname}{\@algocf@procname}% -\renewcommand{\functionautorefname}{\@algocf@funcname}% -\renewcommand{\algocf@languagechoosen}{german}% -}% -% -\DeclareOption{ngerman}{% -\renewcommand{\listalgorithmcfname}{Liste der Algorithmen}% -\renewcommand{\algorithmcfname}{Algorithmus}% -\renewcommand{\algorithmautorefname}{\algorithmcfname}% -\renewcommand{\algorithmcflinename}{Zeile}% -\renewcommand{\algocf@typo}{\ }% -\renewcommand{\@algocf@procname}{Prozedur}% -\renewcommand{\@algocf@funcname}{Funktion}% -\renewcommand{\procedureautorefname}{\@algocf@procname}% -\renewcommand{\functionautorefname}{\@algocf@funcname}% -\renewcommand{\algocf@languagechoosen}{german}% -}% -% -\DeclareOption{portuguese}{% -\renewcommand{\listalgorithmcfname}{Lista de Algoritmos}% -\renewcommand{\algorithmcfname}{Algoritmo}% -\renewcommand{\algorithmautorefname}{algoritmo}% -\renewcommand{\algorithmcflinename}{linha}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedimento}% -\renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}% -\renewcommand{\procedureautorefname}{procedimento}% -\renewcommand{\functionautorefname}{fun\c{c}\~{a}o}% -\renewcommand{\algocf@languagechoosen}{portuguese}% -}% -% -\DeclareOption{italiano}{% -\renewcommand{\listalgorithmcfname}{Elenco degli algoritmi}% -\renewcommand{\algorithmcfname}{Algoritmo}% -\renewcommand{\algorithmautorefname}{algoritmo}% -\renewcommand{\algorithmcflinename}{riga}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedura}% -\renewcommand{\@algocf@funcname}{Funzione}% -\renewcommand{\procedureautorefname}{procedura}% -\renewcommand{\functionautorefname}{funzione}% -\renewcommand{\algocf@languagechoosen}{italiano}% -}% -\DeclareOption{spanish}{% -\renewcommand{\listalgorithmcfname}{\'Indice de algoritmos}% -\renewcommand{\algorithmcfname}{Algoritmo}% -\renewcommand{\algorithmautorefname}{algoritmo}% -\renewcommand{\algorithmcflinename}{l\'inea}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedimiento}% -\renewcommand{\@algocf@funcname}{Funci\'on}% -\renewcommand{\procedureautorefname}{procedimiento}% -\renewcommand{\functionautorefname}{funci\'on}% -\renewcommand{\algocf@languagechoosen}{spanish}% -}% -\DeclareOption{slovak}{% -\renewcommand{\listalgorithmcfname}{Zoznam algoritmov}% -\renewcommand{\algorithmcfname}{Algoritmus}% -\renewcommand{\algorithmautorefname}{\algorithmcfname}% -\renewcommand{\algorithmcflinename}{Radek}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Proced\'{u}ra}% -\renewcommand{\@algocf@funcname}{Funkcia}% -\renewcommand{\procedureautorefname}{\@algocf@procname}% -\renewcommand{\functionautorefname}{\@algocf@funcname}% -\renewcommand{\algocf@languagechoosen}{slovak}% -}% -% -\DeclareOption{croatian}{% -\renewcommand{\listalgorithmcfname}{Popis algoritama}% -\renewcommand{\algorithmcfname}{Algoritam}% -\renewcommand{\algorithmautorefname}{\algorithmcfname}% -\renewcommand{\algorithmcflinename}{linija}% -\renewcommand{\algocf@typo}{}% -\renewcommand{\@algocf@procname}{Procedura}% -\renewcommand{\@algocf@funcname}{Funkcija}% -\renewcommand{\procedureautorefname}{\@algocf@procname}% -\renewcommand{\functionautorefname}{\@algocf@funcname}% -\renewcommand{\algocf@languagechoosen}{croatian}% -}% -% -% OPTIONs plain, boxed, ruled, algoruled & boxruled -% -\newcommand{\algocf@style@plain}{\renewcommand{\algocf@style}{plain}}% -\newcommand{\algocf@style@boxed}{\renewcommand{\algocf@style}{boxed}}% -\newcommand{\algocf@style@ruled}{\renewcommand{\algocf@style}{ruled}}% -\newcommand{\algocf@style@algoruled}{\renewcommand{\algocf@style}{algoruled}}% -\newcommand{\algocf@style@boxruled}{\renewcommand{\algocf@style}{boxruled}}% -\newcommand{\algocf@style@tworuled}{\renewcommand{\algocf@style}{tworuled}}% -\newcommand{\algocf@style@plainruled}{\renewcommand{\algocf@style}{plainruled}}% -\newcommand{\RestyleAlgo}[1]{\csname algocf@style@#1\endcsname}% -\DeclareOption{plain}{\algocf@style@plain}% -\DeclareOption{plainruled}{\algocf@style@plainruled}% -\DeclareOption{boxed}{\algocf@style@boxed}% -\DeclareOption{ruled}{\algocf@style@ruled}% -\DeclareOption{algoruled}{\algocf@style@algoruled}% -\DeclareOption{boxruled}{\algocf@style@boxruled}% -\DeclareOption{tworuled}{\algocf@style@tworuled}% -% -% OPTIONs algopart,algochapter & algosection -% -\DeclareOption{algopart}{\algocf@numbering{part}}% %algo part numbered -\DeclareOption{algochapter}{\algocf@numbering{chapter}}% %algo chapter numbered -\DeclareOption{algosection}{\algocf@numbering{section}}% %algo section numbered -% -% OPTIONs resetcount & noresetcount -% -\DeclareOption{resetcount}{\renewcommand{\@ResetCounterIfNeeded}{\setcounter{AlgoLine}{0}}}% -\DeclareOption{noresetcount}{\renewcommand{\@ResetCounterIfNeeded}{}}% -% -% OPTION linesnumbered -% -\newboolean{algocf@linesnumbered}\setboolean{algocf@linesnumbered}{false}% -\newcommand{\algocf@linesnumbered}{\relax}% -\DeclareOption{linesnumbered}{% - \setboolean{algocf@linesnumbered}{true}% - \renewcommand{\algocf@linesnumbered}{\everypar={\nl}}% -}% -% -% OPTION linesnumberedhidden -% -\DeclareOption{linesnumberedhidden}{% - \setboolean{algocf@linesnumbered}{true}% - \renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}% -}% -% -% OPTION commentsnumbered inoutnumbered -% -\newboolean{algocf@commentsnumbered}\setboolean{algocf@commentsnumbered}{false}% -\DeclareOption{commentsnumbered}{\setboolean{algocf@commentsnumbered}{true}}% -\newboolean{algocf@inoutnumbered}\setboolean{algocf@inoutnumbered}{false}% -\DeclareOption{inoutnumbered}{\setboolean{algocf@inoutnumbered}{true}}% -% -% OPTIONs titlenumbered & titlenotnumbered -% -\DeclareOption{titlenumbered}{% - \renewcommand{\@titleprefix}{% - \refstepcounter{\algocf@float}% - \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\ \expandafter\csname the\algocf@float\endcsname\algocf@typo: }% - }% -}% -% -\DeclareOption{titlenotnumbered}{\renewcommand{\@titleprefix}{% - \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\algocf@typo: }}% -}% -% -% OPTIONs algonl -% line numbered with the counter of the algorithm -% -\DeclareOption{algonl}{\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname.\arabic{AlgoLine}}}% -% -% OPTIONs lined, vlined & noline -% -\DeclareOption{lined}{\AtBeginDocument{\SetAlgoLined}}% \SetAlgoLined -\DeclareOption{vlined}{\AtBeginDocument{\SetAlgoVlined}}% \SetAlgoVlined -\DeclareOption{noline}{\AtBeginDocument{\SetAlgoNoLine}}%\SetAlgoNoLine (default) -% -% OPTIONs longend, shotend & noend -% -\DeclareOption{longend}{\AtBeginDocument{\SetAlgoLongEnd}}% \SetAlgoLongEnd -\DeclareOption{shortend}{\AtBeginDocument{\SetAlgoShortEnd}}%\SetAlgoShortEnd -\DeclareOption{noend}{\AtBeginDocument{\SetAlgoNoEnd}}% \SetAlgoNoEnd -% -\DeclareOption{nosemicolon}{\AtBeginDocument{\DontPrintSemicolon}}% \SetAlgoNoEnd -% -% OPTION dotoc -% -\newboolean{algocf@dotocloa}\setboolean{algocf@dotocloa}{false}% -\DeclareOption{dotocloa}{% - \setboolean{algocf@dotocloa}{true}% -} -% -% OPTION comments -% -\newboolean{algocf@optfillcomment}\setboolean{algocf@optfillcomment}{true}% -\DeclareOption{nofillcomment}{% - \setboolean{algocf@optfillcomment}{false}% -}% -\DeclareOption{fillcomment}{% - \setboolean{algocf@optfillcomment}{true}% -}% -% -% OPTION sidecommments -% -\newboolean{algocf@scleft}\setboolean{algocf@scleft}{false}% -\DeclareOption{scleft}{% - \setboolean{algocf@scleft}{true}% -}% -\DeclareOption{sright}{% default - \setboolean{algocf@scleft}{false}% -}% -% -% OPTION norelsize -% -\newboolean{algocf@norelsize}\setboolean{algocf@norelsize}{false}% -\DeclareOption{norelsize}{% - \setboolean{algocf@norelsize}{true}% -}% -% -% -%%%%%%%%%%%%%%%%%%%%%%% Execution of Options %%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\ExecuteOptions{english,plain,resetcount,titlenotnumbered,lined,shortend}% -% -\ProcessOptions% -% -\@algocf@algotitleofalgo% fix name for \TitleOfAlgo to \algorithmcfname by default -% -%%%%%%%%%%%%%%%%%%%%%%%%%% Package Loading %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -\RequirePackage{xspace}% -% -\ifthenelse{\boolean{algocf@endfloat}}{% - \RequirePackage{endfloat}% -}{\relax}% -% -\ifthenelse{\boolean{algocf@norelsize}}{% - \newcommand{\relsize}[1]{\scriptsize}% -}{% - \RequirePackage{relsize}% -}% -% -\ifthenelse{\boolean{algocf@slide}}{\RequirePackage{color}}{}% -% -% -\AtEndOfPackage{% - \ifthenelse{\boolean{algocf@dotocloa}}{% - \renewcommand{\listofalgorithms}{\tocfile{\listalgorithmcfname}{loa}}% - }{\relax}% -}% -% -% if loa in toc required, load tocbibind package if not already done. -\ifthenelse{\boolean{algocf@dotocloa}}{% - \ifx\@tocextra\undefined% - \RequirePackage{tocbibind}% - \fi% -}{\relax}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\newcommand{\algocf@name}{algorithm2e}% -\newcommand{\algocf@date}{january 06 2013}% -\newcommand{\algocf@version}{Release 5.0}% -\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 (cfiorio@um2.fr)^^J********************************************************}% -%% -%% -%% -%% -%% -%% -%%%% hyperref compatibility tricks: Hyperref package defines H counters from - % standard counters (i.e \theHpage from \thepage) and check some particular - % counters of some packages, unfortunately it doesn't do the same for - % algorithm2e package but act as Hcounter was defined. To avoid errors we - % defined \theHalgocf ourself -%%%% -% -\@ifundefined{theHalgocf}{\def\theHalgocf{\thealgocf}}{}% -\@ifundefined{theHAlgoLine}{\def\theHAlgoLine{\theAlgoLine}}{}% -\@ifundefined{theHalgocfproc}{\def\theHalgocfproc{0}}{}% -\@ifundefined{theHalgocffunc}{\def\theHalgocffunc{0}}{}% -\@ifundefined{toclevel@algocf}{\def\toclevel@algocf{0}}{}% -% -% autoref from hyperref needs an autorefname, so we give it. -\def\AlgoLineautorefname{\algorithmcflinename}% -\def\algocfautorefname{\algorithmautorefname}% -\def\algocfprocautorefname{\procedureautorefname}% -\def\algocffuncautorefname{\functionautorefname}% -%% -%% -%% -\newcommand{\@defaultskiptotal}{0.5em}% -\newskip\skiptotal\skiptotal=0.5em% -\newskip\skiplinenumber\skiplinenumber=\hsize\advance\skiplinenumber by-\skiptotal% -\newskip\skiprule% -\newskip\skiphlne% -\newskip\skiptext% -\newskip\skiplength% -\newskip\algomargin% -\newskip\skipalgocfslide\skipalgocfslide=1em% -\newdimen\algowidth% -\newdimen\inoutsize% -\newdimen\inoutindent% -\newdimen\interspacetitleruled\setlength{\interspacetitleruled}{2pt}% -\newdimen\interspacealgoruled\setlength{\interspacealgoruled}{2pt}% -\newdimen\interspacetitleboxruled\setlength{\interspacetitleboxruled}{2\lineskip}% -% -\newcommand{\@algoskip}{\smallskip}% -\newcommand{\SetAlgoSkip}[1]{\renewcommand{\@algoskip}{\csname#1\endcsname}}% -\newcommand{\@algoinsideskip}{\relax}% -\newcommand{\SetAlgoInsideSkip}[1]{\renewcommand{\@algoinsideskip}{\csname#1\endcsname}}% -% -\newsavebox{\algocf@inoutbox}% -\newsavebox{\algocf@inputbox}% -%% -%% -\newcommand{\arg@e}{}% -\newcommand{\arg@space}{\ }% -\newcommand{\BlankLine}{\vskip 1ex}% -%% -\newcommand{\vespace}{1ex}% -\newcommand{\SetInd}[2]{% -\skiprule=#1% -\skiptext=#2% -\skiplength=\skiptext\advance\skiplength by \skiprule\advance\skiplength by 0.4pt}% -\SetInd{0.5em}{1em} -\algomargin=\leftskip\advance\algomargin by \parindent% -\newcommand{\IncMargin}[1]{\advance\algomargin by #1}% -\newcommand{\DecMargin}[1]{\advance\algomargin by -#1}% -\newcommand{\SetNlSkip}[1]{% - \renewcommand{\@defaultskiptotal}{#1}% - \setlength{\skiptotal}{#1}}% -%% -\newskip\AlCapSkip\AlCapSkip=0ex% -\newskip\AlCapHSkip\AlCapSkip=0ex% -\newcommand{\SetAlCapSkip}[1]{\setlength{\AlCapSkip}{#1}}% -\newcommand{\SetAlCapHSkip}[1]{\setlength{\AlCapHSkip}{#1}}% -\SetAlCapHSkip{.5\algomargin}% -%% -%% -\newskip\algoskipindent -\newcommand{\algocf@adjustskipindent}{% - \algoskipindent=\skiprule% - \advance\algoskipindent by \skiptext\advance\algoskipindent by 0.4pt} -\algocf@adjustskipindent% -% -\newcommand{\Indentp}[1]{\advance\leftskip by #1}% -\newcommand{\Indp}{\algocf@adjustskipindent\advance\leftskip by \algoskipindent} -\newcommand{\Indpp}{\advance\leftskip by 0.5em}% -\newcommand{\Indm}{\algocf@adjustskipindent\advance\leftskip by -\algoskipindent} -\newcommand{\Indmm}{\advance\leftskip by -0.5em}% -%% -%% -%% Line Numbering -%% -%% -% number line style -\newcommand{\algocf@nlrelsize}{-2}\newcommand{\SetAlgoNlRelativeSize}[1]{\renewcommand{\algocf@nlrelsize}{#1}}% -\newcommand{\NlSty}[1]{\textnormal{\textbf{\relsize{\algocf@nlrelsize}#1}}}% default definition -\newcommand{\SetNlSty}[3]{\renewcommand{\NlSty}[1]{\textnormal{\csname#1\endcsname{\relsize{\algocf@nlrelsize}#2##1#3}}}}% -% -% nl definitions -% -\newsavebox{\algocf@nlbox}% -\newcommand{\algocf@printnl}[1]{% - \ifthenelse{\boolean{algocf@leftlinenumber}}{% - \skiplinenumber=\skiptotal\advance\skiplinenumber by\leftskip% - \strut\raisebox{0pt}{\llap{\NlSty{#1}\kern\skiplinenumber}}\ignorespaces% - }{% - \sbox\algocf@nlbox{\NlSty{#1}}% - \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip\advance\skiplinenumber by-\skiptext% - \advance\skiplinenumber by\algomargin\advance\skiplinenumber by.3em\advance\skiplinenumber by-\wd\algocf@nlbox% - % to handle particular case of until: printnl is after 'until' keyword has been writen, so we need to substract length of this keyword - \advance\skiplinenumber by-\algocf@skipuntil% - \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\NlSty{#1\ignorespaces}}}\ignorespaces% - }% -}% -\newcommand{\algocf@nl@sethref}[1]{% - \renewcommand{\theHAlgoLine}{\thealgocfproc.#1}% - \hyper@refstepcounter{AlgoLine}\gdef\@currentlabel{#1}% -}% -\newcommand{\nl}{% - \@ifundefined{hyper@refstepcounter}{% if not hyperref then do a simple refstepcounter - \refstepcounter{AlgoLine}% - }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href - \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% - }% now we can do the line numbering - \algocf@printnl{\theAlgoLine}% -}% -% -\newcommand{\nllabel}[1]{\label{#1}}% -% -\newcommand{\enl}{% - \@ifundefined{hyper@refstepcounte}{% if not hyperref then do a simple refstepcounter - \refstepcounter{AlgoLine}% - }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href - \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% - }% now we can do the line numbering - \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip% - \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\strut\NlSty{\theAlgoLine}}}\ignorespaces% -}% -%% nlset -\newcommand{\nlset}[1]{% - \@ifundefined{hyper@refstepcounter}{\protected@edef\@currentlabel{#1}}{\algocf@nl@sethref{#1}}\algocf@printnl{#1}% -}% -% -%% lnl definitions -\newcommand{\lnl}[1]{\nl\label{#1}\ignorespaces}% -% -%% lnlset -\newcommand{\lnlset}[2]{\nlset{#2}\label{#1}}% -% -% set char put at end of each line -% -\newcommand{\algocf@endline}{\string;} -\newcommand{\SetEndCharOfAlgoLine}[1]{\renewcommand{\algocf@endline}{#1}} -% -% end of line definition -% -\newcommand{\@endalgocfline}{\algocf@endline}% default definition: printsemicolon -\newcommand{\DontPrintSemicolon}{\renewcommand{\@endalgocfline}{\relax}}% -\newcommand{\PrintSemicolon}{\renewcommand{\@endalgocfline}{\algocf@endline}}% -\newcommand{\@endalgoln}{\@endalgocfline\hfill\strut\par}% -% -% line numbering -% -\newcommand{\LinesNumbered}{\setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar={\nl}}}% -\newcommand{\LinesNotNumbered}{% - \setboolean{algocf@linesnumbered}{false}% - \renewcommand{\algocf@linesnumbered}{\relax}% -}% -% -\newcommand{\LinesNumberedHidden}{% - \setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}}% -\newcommand{\ShowLn}{\nlset{\theAlgoLine}\ignorespaces}% display the line number on this line (without labelling) -\newcommand{\ShowLnLabel}[1]{\lnlset{#1}{\theAlgoLine}\ignorespaces}% display the line number and label this line -% -%% -% -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Styling text commands -% -\newcommand{\AlFnt}{\relax}% default definition -\newcommand{\SetAlFnt}[1]{\renewcommand{\AlFnt}{#1}}% -\newcommand{\AlTitleFnt}{\relax}% default definition -\newcommand{\SetAlTitleFnt}[1]{\renewcommand{\AlTitleFnt}{#1}}% -% -\newcommand{\AlCapFnt}{\relax}% default definition -\newcommand{\SetAlCapFnt}[1]{\renewcommand{\AlCapFnt}{#1}}% -\newcommand{\AlCapNameFnt}{\relax}% default definition -\newcommand{\SetAlCapNameFnt}[1]{\renewcommand{\AlCapNameFnt}{#1}}% -% -\newcommand{\ProcFnt}{\relax}% default definition -\newcommand{\SetProcFnt}[1]{\renewcommand{\ProcFnt}{#1}}% -\newcommand{\ProcNameFnt}{\relax}% default definition -\newcommand{\SetProcNameFnt}[1]{\renewcommand{\ProcNameFnt}{#1}}% -\newcommand{\ProcArgFnt}{\relax}% default definition -\newcommand{\SetProcArgFnt}[1]{\renewcommand{\ProcArgFnt}{#1}}% -% -\newcommand{\AlTitleSty}[1]{\textbf{#1}\unskip}% default definition -\newcommand{\SetAlTitleSty}[1]{\renewcommand{\AlTitleSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\AlCapSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition -\newcommand{\SetAlCapSty}[1]{\renewcommand{\AlCapSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\AlCapNameSty}[1]{\textnormal{#1}\unskip}% default definition -\newcommand{\SetAlCapNameSty}[1]{\renewcommand{\AlCapNameSty}[1]{\textnormal{\csname #1\endcsname{##1}}\unskip}}% -% -\newcommand{\ProcSty}[1]{\AlCapSty{#1}}% -\newcommand{\SetProcSty}[1]{\renewcommand{\ProcSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\ProcNameSty}[1]{\AlCapNameSty{#1}}% -\newcommand{\SetProcNameSty}[1]{\renewcommand{\ProcNameSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\ProcArgSty}[1]{\AlCapNameSty{#1}}% -\newcommand{\SetProcArgSty}[1]{\renewcommand{\ProcArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -% -\newcommand{\KwSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition -\newcommand{\SetKwSty}[1]{\renewcommand{\KwSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\ArgSty}[1]{\textnormal{\emph{#1}}\unskip}%\SetArgSty{emph} -\newcommand{\SetArgSty}[1]{\renewcommand{\ArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\FuncSty}[1]{\textnormal{\texttt{#1}}\unskip}%\SetFuncSty{texttt} -\newcommand{\SetFuncSty}[1]{\renewcommand{\FuncSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\DataSty}[1]{\textnormal{\textsf{#1}}\unskip}%%\SetDataSty{textsf} -\newcommand{\SetDataSty}[1]{\renewcommand{\DataSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\CommentSty}[1]{\textnormal{\texttt{#1}}\unskip}%%\SetDataSty{texttt} -\newcommand{\SetCommentSty}[1]{\renewcommand{\CommentSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -\newcommand{\TitleSty}[1]{#1\unskip}%\SetTitleSty{}{} -\newcommand{\SetTitleSty}[2]{\renewcommand{\TitleSty}[1]{% -\csname#1\endcsname{\csname#2\endcsname##1}}\unskip}% -\newcommand{\BlockMarkersSty}[1]{\KwSty{#1}}% -\newcommand{\SetBlockMarkersSty}[1]{\renewcommand{\BlockMarkersSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% -% -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Block basic commands -% -\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 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% group of instructions definition -% -\skiphlne=.8ex% -\newcommand{\SetVlineSkip}[1]{\skiphlne=#1}% -\newcommand{\algocf@bblock}{\BlockMarkersSty{begin}}% -\newcommand{\algocf@eblock}{\BlockMarkersSty{end}}% -\newcommand{\AlgoDisplayBlockMarkers}{\setboolean{algocf@displayblockmarkers}{true}}% -\newcommand{\AlgoDontDisplayBlockMarkers}{\setboolean{algocf@displayblockmarkers}{false}}% -\newcommand{\algocf@bblockcode}{% - \ifthenelse{\boolean{algocf@displayblockmarkers}}{\algocf@bblock\par}{\relax}% -}% -\newcommand{\algocf@eblockcode}{% - \ifthenelse{\boolean{algocf@displayblockmarkers}}{\algocf@eblock\par}{\relax}% -}% -\newcommand{\SetAlgoBlockMarkers}[2]{% - \ifArgumentEmpty{#1}{% - \renewcommand{\algocf@bblock}{\relax}% - }{% - \renewcommand{\algocf@bblock}{\BlockMarkersSty{#1}}% - }% begin marker set - \ifArgumentEmpty{#2}{% - \renewcommand{\algocf@eblock}{\relax}% - }{% - \renewcommand{\algocf@eblock}{\BlockMarkersSty{#2}}% - }% end marker set -} -% -%%%%%%%%% block with a vertical line end by a little horizontal line -\newcommand{\algocf@Vline}[1]{% no vskip in between boxes but a strut to separate them, - \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it - \algocf@push{\skiprule}% move to the right before the vertical rule - \hbox{\vrule% - \vtop{\algocf@push{\skiptext}%move the right after the rule - \vtop{\algocf@addskiptotal #1}\Hlne}}\vskip\skiphlne% inside the block - \algocf@pop{\skiprule}%\algocf@subskiptotal% restore indentation - \nointerlineskip}% no vskip after -% -%%%%%%%%% block with a vertical line -\newcommand{\algocf@Vsline}[1]{% no vskip in between boxes but a strut to separate them, - \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it - \algocf@bblockcode% - \algocf@push{\skiprule}% move to the right before the vertical rule - \hbox{\vrule% the vertical rule - \vtop{\algocf@push{\skiptext}%move the right after the rule - \vtop{\algocf@addskiptotal #1}}}% inside the block - \algocf@pop{\skiprule}% restore indentation - \algocf@eblockcode% -} -% -\newcommand{\algocf@Hlne}{\hrule height 0.4pt depth 0pt width .5em}% -% -%%%%%%%%% block without line -\newcommand{\algocf@Noline}[1]{% no vskip in between boxes but a strut to separate them, - \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it - \algocf@bblockcode% - \algocf@push{\skiprule}% - \hbox{% - \vtop{\algocf@push{\skiptext}% - \vtop{\algocf@addskiptotal #1}}}% inside the block - \algocf@pop{\skiprule}% - \algocf@eblockcode% - % \nointerlineskip% no vskip after -}% -%%%%%%%%% -% -%% default=NoLine -% -\newcommand{\algocf@group}[1]{\algocf@Noline{#1}}% group: set of instruction depending from another (ex: then part of the If) -\newcommand{\algocf@@@block}[2]{#1\ifArgumentEmpty{#2}{\relax}{\KwSty{\@algocf@endoption{#2}}\strut\par}}% block: group with a end keyword. -\newcommand{\algocf@@block}[2]{\algocf@@@block{#1}{#2}}% block: group with a end keyword. -\newcommand{\algocf@block}[2]{\algocf@@block{#1}{#2}}% command that will be used and redefined accordingly to noend option -\newcommand{\algocf@setBlock}{% - \ifthenelse{\boolean{algocf@optnoend}}{% if no end option - \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% block will be a group - }{% else - \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% block stays a block - }% -}% -% -\newcommand{\Hlne}{}% little hrizontal line ending a block in vline mode -% -\newcommand{\@algocf@endoption}[1]{#1}% -\newboolean{algocf@optnoend}\setboolean{algocf@optnoend}{false}% -% -\newcommand{\SetAlgoLongEnd}{%%%%%%%%%%%%%%%%%%%%%%%%% Long End - \setboolean{algocf@optnoend}{false}% - \renewcommand{\@algocf@endoption}[1]{##1}% - \algocf@setBlock}% -% -\newcommand{\SetAlgoShortEnd}{%%%%%%%%%%%%%%%%%%%%%%%% ShortEnd - \setboolean{algocf@optnoend}{false}% - \renewcommand{\@algocf@endoption}[1]{\@firstword##1 \@nil}% - \algocf@setBlock}% -% -\newcommand{\SetAlgoNoEnd}{%%%%%%%%%%%%%%%%%%%%%%%%%%% NoEnd - \setboolean{algocf@optnoend}{true}% - \renewcommand{\@algocf@endoption}[1]{}% - \algocf@setBlock}% -% -\newcommand{\SetAlgoNoLine}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline -\renewcommand{\algocf@@block}[2]{\algocf@@@block{\algocf@Noline{##1}}{##2}}% -\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% -\renewcommand{\Hlne}{}}% -% -\newcommand{\SetAlgoVlined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Vline -\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 -\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 -\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\par}% -%\long -\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% -\renewcommand{\Hlne}{}}% -% -%% -%% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ``Input:'''s like command -% -%%% -% text staying at the right of the longer keyword of KwInOut commands -% (text of KwInOut commands are all vertically aligned) -% -\newcommand{\algocf@newinout}{\par\parindent=\inoutindent}% to put right indentation after a \\ in the KwInOut -\newcommand{\SetKwInOut}[2]{% - \sbox\algocf@inoutbox{\KwSty{#2}\algocf@typo:}% - \expandafter\ifx\csname InOutSizeDefined\endcsname\relax% if first time used - \newcommand\InOutSizeDefined{}\setlength{\inoutsize}{\wd\algocf@inoutbox}% - \sbox\algocf@inoutbox{\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~}\setlength{\inoutindent}{\wd\algocf@inoutbox}% - \else% else keep the larger dimension - \ifdim\wd\algocf@inoutbox>\inoutsize% - \setlength{\inoutsize}{\wd\algocf@inoutbox}% - \sbox\algocf@inoutbox{\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~}\setlength{\inoutindent}{\wd\algocf@inoutbox}% - \fi% - \fi% the dimension of the box is now defined. - \algocf@newcommand{#1}[1]{% - \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% -% {\let\\\algocf@newinout\hangindent=\wd\algocf@inoutbox\hangafter=1\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~##1\par}% - {\let\\\algocf@newinout\hangindent=\inoutindent\hangafter=1\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~##1\par}% - \algocf@linesnumbered% reset the numbering of the lines - }}% -% -%% allow to ajust the skip size of InOut -%% -\newcommand{\ResetInOut}[1]{% - \sbox\algocf@inoutbox{\hbox{\KwSty{#1}\algocf@typo:\ }}% - \setlength{\inoutsize}{\wd\algocf@inoutbox}% - }% -% -% -%%% -% text staying at the right of the keyword. -% -\newcommand{\algocf@newinput}{\par\parindent=\wd\algocf@inputbox}% to put right indentation after a \\ in the KwInput -\newcommand{\SetKwInput}[2]{% - \algocf@newcommand{#1}[1]{% - \sbox\algocf@inputbox{\hbox{\KwSty{#2}\algocf@typo: }}% - \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% - {\let\\\algocf@newinput\hangindent=\wd\algocf@inputbox\hangafter=1\unhbox\algocf@inputbox##1\par}% - \algocf@linesnumbered% reset the numbering of the lines - }}% -\newcommand{\SetKwData}[2]{% - \algocf@newcommand{@#1}[1]{\DataSty{#2(}\ArgSty{##1}\DataSty{)}}% - \algocf@newcommand{#1}{% - \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% - }% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% tallent: -% -% Add following macros: -% \SetKwHangingKw: [kw] ------------ <= hanging determined by [kw] -% ------------ -% Should act like a combination of \SetKwInput and \SetKw. -% Based on \SetKwInput: -% - remove ':' at end of keyword -% - do not reset numbering -% - use separate savebox -\newsavebox{\algocf@hangingbox} -\newcommand{\algocf@newhanging}{\par\parindent=\wd\algocf@hangingbox}% to put right indentation after a \\ in the KwInput -\newcommand{\SetKwHangingKw}[2]{% - \algocf@newcommand{#1}[1]{% - \sbox\algocf@hangingbox{\hbox{\KwSty{#2}\algocf@typo\ }}% - {\let\\\algocf@newhanging\hangindent=\wd\algocf@hangingbox\hangafter=1\unhbox\algocf@hangingbox##1\;}% - }% -}% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Comments macros -% -%%%% -% comment in the text, first argument is the name of the macro, second is -% the text put before the comment, third is the text put at the end of the -% comment. -% -% first side comment justification -\newcommand{\SetSideCommentLeft}{\setboolean{algocf@scleft}{true}}% -\newcommand{\SetSideCommentRight}{\setboolean{algocf@scleft}{false}}% -\newcommand{\SetNoFillComment}{\setboolean{algocf@optfillcomment}{false}}% -\newcommand{\SetFillComment}{\setboolean{algocf@optfillcomment}{true}}% -% -% next comment and side comment -% -\newcommand{\algocf@endmarkcomment}{\relax}% -\newcommand{\algocf@fillcomment}{% - \ifthenelse{\boolean{algocf@optfillcomment}}{\hfill}{\relax}}% -% -\newcommand{\algocf@startcomment}{% - \hangindent=\wd\algocf@inputbox\hangafter=1\usebox\algocf@inputbox}% -\newcommand{\algocf@endcomment}{\algocf@fillcomment\algocf@endmarkcomment\ignorespaces\par}% -\newcommand{\algocf@endstartcomment}{\algocf@endcomment\algocf@startcomment\ignorespaces}% -% -\newboolean{algocf@sidecomment}% -\newboolean{algocf@altsidecomment}\setboolean{algocf@altsidecomment}{false}% -\newcommand{\algocf@scpar}{\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\par}}% -\newcommand{\algocf@sclfill}{\ifthenelse{\boolean{algocf@scleft}}{\algocf@fillcomment}{\relax}}% -\newcommand{\algocf@scrfill}{\ifthenelse{\boolean{algocf@scleft}}{\relax}{\hfill}}% -\newcommand{\algocf@startsidecomment}{\usebox\algocf@inputbox}% -\newcommand{\algocf@endsidecomment}{\algocf@endmarkcomment\algocf@scpar}% -\newcommand{\algocf@endstartsidecomment}{% - \algocf@sclfill\algocf@endsidecomment% - \algocf@scrfill\algocf@startsidecomment\ignorespaces}% -% -\newcommand{\SetKwComment}[3]{% - \algocf@newcommand{#1}{\@ifstar{\csname algocf@#1@star\endcsname}{\csname algocf@#1\endcsname}}% - \algocf@newcommand{algocf@#1}[1]{% - \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% - \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% - {\renewcommand{\algocf@endmarkcomment}{#3}% - \let\\\algocf@endstartcomment% - \algocf@startcomment\CommentSty{% - \strut\ignorespaces##1\strut\algocf@fillcomment#3}\par}% - \algocf@linesnumbered% reset the numbering of the lines - }% - %%% side comment definitions - \algocf@newcommand{algocf@#1@star}[2][]{% - \ifArgumentEmpty{##1}\relax{% TODO: Is this even necessary, with all those \ifx's? - \ifthenelse{\boolean{algocf@scleft}}{\setboolean{algocf@sidecomment}{true}}{\setboolean{algocf@sidecomment}{false}}% - \ifx##1h\setboolean{algocf@altsidecomment}{true}\SetSideCommentLeft\fi% - \ifx##1f\setboolean{algocf@altsidecomment}{true}\SetSideCommentRight\fi% - \ifx##1l\setboolean{algocf@altsidecomment}{false}\SetSideCommentLeft\fi% - \ifx##1r\setboolean{algocf@altsidecomment}{false}\SetSideCommentRight\fi% - }% - \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% - \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% - {% - \renewcommand{\algocf@endmarkcomment}{#3}% - \let\\\algocf@endstartsidecomment% - % here is the comment - \ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\@endalgocfline\ }% - \algocf@scrfill\algocf@startsidecomment\CommentSty{% - \strut\ignorespaces##2\strut\algocf@sclfill#3}\algocf@scpar% - }% - \algocf@linesnumbered% reset the numbering of the lines - \ifArgumentEmpty{##1}\relax{% - \ifthenelse{\boolean{algocf@sidecomment}}{\setboolean{algocf@scleft}{true}}{\setboolean{algocf@scleft}{false}}% - \setboolean{algocf@altsidecomment}{false}% - }% - }% -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% KwProg -% -\newcommand{\SetKwProg}[4]{% - \algocf@newcmdside{#1} 3{\KwSty{#2}\ifArgumentEmpty{#2}\relax{\ }\ArgSty{##2}\KwSty{#3}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##3}{#4}}% - \algocf@newcmdside{l#1}3{\KwSty{#2} \ArgSty{##2}\KwSty{#3} ##3\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par}% -}% -% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Kw -% -\newcommand{\SetKw}[2]{% - \algocf@newcommand{@#1}[1]{\KwSty{#2} \ArgSty{##1}} - \algocf@newcommand{#1}{\@ifnextchar\bgroup{\csname @#1\endcsname}{\KwSty{#2}\xspace}}% -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% KwFunction -% -\newcommand{\SetKwFunction}[2]{% -%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc - \expandafter\gdef\csname @#1\endcsname##1{\FuncSty{#2(}\ArgSty{##1}\FuncSty{)}}% - \expandafter\gdef\csname#1\endcsname{% - \@ifnextchar\bgroup{\csname @#1\endcsname}{\FuncSty{#2}\xspace}}% -}% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% KwTab -% -\newcommand{\SetKwArray}[2]{% -%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc - \expandafter\gdef\csname @#1\endcsname##1{\DataSty{#2[}\ArgSty{##1}\DataSty{]}}% - \expandafter\gdef\csname#1\endcsname{% - \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% KwBlock -% -\newcommand{\SetKwBlock}[3]{% - \algocf@newcmdside{#1}{2} - {\KwSty{#2}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##2}{#3}\par} -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% condition typo -% -\newcommand{\algocf@scond}{ } -\newcommand{\algocf@econd}{ } -\newcommand{\algocf@ucond}{} -\newcommand{\SetStartEndCondition}[3]{% - \renewcommand{\algocf@scond}{#1}\renewcommand{\algocf@econd}{#2}\renewcommand{\algocf@ucond}{#3}} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% For Switch -% -\newcommand{\SetKwSwitch}[9]{% #1=\Switch #2=\Case #3=\Other #4=switch #5=do #6=case #7=otherwise #8=endcase #9=endsw - \algocf@newcmdside{#1}{3} - {\KwSty{#4}\algocf@scond\ArgSty{##2}\algocf@econd\KwSty{#5}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##3}{#9}} -%%%% Case - \algocf@newcmdside{#2}{3}{\KwSty{#6}\algocf@scond\ArgSty{##2}\algocf@ucond\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##3}{#8}}% - \algocf@newcmdside{u#2}{3}{\KwSty{#6}\algocf@scond\ArgSty{##2}\algocf@ucond\ifArgumentEmpty{##1}\relax{ ##1}\algocf@group{##3}}% - \algocf@newcmdside{l#2}{3}{\KwSty{#6}\algocf@scond\ArgSty{##2}\algocf@ucond\ ##3\@endalgocfline\ifArgumentEmpty{##1}\relax{ ##1}\strut\par}% -%%%% Other - \algocf@newcmdside{#3}{2}{\KwSty{#7}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##2}{#8}}% - \algocf@newcmdside{l#3}{2}{\KwSty{#7}\ ##2\@endalgocfline\ifArgumentEmpty{##1}\relax{ ##1}\strut\par}% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% If macros -% -\newcommand{\SetKwIF}[8]{% #1=\If #2=\ElseIf #3=\Else #4=if #5=then #6=elseif #7=else #8=endif -% -% common text - \algocf@newcommand{#1@ifthen}[1]{\KwSty{#4}\algocf@scond\ArgSty{##1}\algocf@econd\KwSty{#5}}% - \algocf@newcommand{#1@endif} [1]{\algocf@block{##1}{#8}}% - \algocf@newcommand{#1@noend} [1]{\algocf@group{##1}}% - \algocf@newcommand{#1@else} [1]{\algocf@group{##1}\KwSty{#7}}% - \algocf@newcommand{#2@elseif}[1]{\KwSty{#6}\algocf@scond\ArgSty{##1}\algocf@econd\KwSty{#5}}% - \algocf@newcommand{#3@else} {\KwSty{#7}}% -%%%% If then { } endif - \algocf@newcmdside{#1}3{\csname #1@ifthen\endcsname{##2}\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@endif\endcsname{##3}}% -%%%% If then {} else {} endif - % first command to handle optional side comment of else (so just after first braces) - \algocf@newcmdside{algocf@e#1thenelse}2{\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@endif\endcsname{##2}} - % the definition of if-then-else command using command above - \algocf@newcmdside{e#1}3{\csname #1@ifthen\endcsname{##2}\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@else\endcsname{##3}\csname algocf@e#1thenelse\endcsname}% - %%% leif - \algocf@newcmdside{le#1}4{\csname #1@ifthen\endcsname{##2} ##3 \csname #3@else\endcsname\ ##4\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par} -%%%% If then - \algocf@newcmdside{l#1}3{\csname #1@ifthen\endcsname{##2} ##3\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par}% - \algocf@newcmdside{u#1}3{\csname #1@ifthen\endcsname{##2}\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@noend\endcsname{##3}}% -%%%% ElseIf {} endif - \algocf@newcmdside{#2} 3{\csname #2@elseif\endcsname{##2}\relax\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@endif\endcsname{##3}}% -%%%% ElseIf - \algocf@newcmdside{l#2}3{\csname #2@elseif\endcsname{##2} ##3\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par}% - \algocf@newcmdside{u#2}3{\csname #2@elseif\endcsname{##2}\relax\ifArgumentEmpty{##1}\relax{ ##1}\csname #1@noend\endcsname{##3}}% -%%%% Else {} endif - \algocf@newcmdside{#3} 2{\csname #3@else\endcsname\ifArgumentEmpty{##1}\relax\ ##1\csname #1@endif\endcsname{##2}}% -%%%% Else - \algocf@newcmdside{l#3}2{\csname #3@else\endcsname\ ##2\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par}% - \algocf@newcmdside{u#3}2{\csname #3@else\endcsname \ifArgumentEmpty{##1}\relax{\ ##1\relax}\csname #1@noend\endcsname{##2}}% -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% For macros -% -\newcommand{\SetKwFor}[4]{% - \algocf@newcmdside{#1} 3{\KwSty{#2}\algocf@scond\ArgSty{##2}\algocf@econd\KwSty{#3}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##3}{#4}}% - \algocf@newcmdside{l#1}3{\KwSty{#2}\algocf@scond\ArgSty{##2}\algocf@econd\KwSty{#3} ##3\@endalgocfline\ifArgumentEmpty{##1}\relax{##1}\strut\par}% -}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Repeat macros -% -\newsavebox{\algocf@untilbox}% to handle width of until keyword needed to have good skip - % for line numbers -\newskip\algocf@skipuntil -\newcommand{\SetKwRepeat}[3]{% - \algocf@newcmdsides{#1}{3}{% - \sbox\algocf@untilbox{\KwSty{#3}\algocf@scond}\algocf@skipuntil=\wd\algocf@untilbox% - \KwSty{#2}\ifArgumentEmpty{##1}\relax{##1}\algocf@group{##3}% - \KwSty{#3}\algocf@scond% until keyword and start condition typo - \advance\skiptotal by\algocf@skipuntil% - \ArgSty{##2}% - \advance\skiptotal by-\algocf@skipuntil% - \algocf@ucond% - \algocf@skipuntil=0pt% reset counter - }{\@endalgocfline}{\strut\par}% - \algocf@newcmdside{l#1}3{\KwSty{#2} ##3 \KwSty{#3}\algocf@scond\ArgSty{##2}\algocf@ucond\@endalgocfline\ifArgumentEmpty{##1}\relax{ ##1}\strut\par}% -}% -% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%% Environments definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%% -%% Caption management -%% -% for the following macros: -% #1 is given by caption and is equal to fnum@algocf -% #2 is the text given in argument by the user in the \caption macro -% -%%%%% text of caption -\newcommand{\algocf@captionlayout}[1]{#1}% -\newcommand{\SetAlgoCaptionLayout}[1]{% - \renewcommand{\algocf@captionlayout}[1]{\csname #1\endcsname{##1}}}% -\newcommand{\algocf@capseparator}{:}% -\newcommand{\SetAlgoCaptionSeparator}[1]{\renewcommand{\algocf@capseparator}{#1}}% -\newcommand{\algocf@captiontext}[2]{% - \algocf@captionlayout{\AlCapSty{\AlCapFnt #1\algocf@typo\algocf@capseparator}\nobreakspace% - \AlCapNameSty{\AlCapNameFnt{}#2}}}% text of caption -% -%%%%% default caption of algorithm: used if no specific style caption is defined -\newcommand{\algocf@makecaption}[2]{% - \addtolength{\hsize}{\algomargin}% - \sbox\@tempboxa{\algocf@captiontext{#1}{#2}}% - \ifdim\wd\@tempboxa >\hsize% % if caption is longer than a line - \hskip .5\algomargin% - \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}% then caption is not centered - \else% - \global\@minipagefalse% - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% else caption is centered - \fi% - \addtolength{\hsize}{-\algomargin}% -}% -% -\newsavebox\algocf@capbox% -\newcommand{\algocf@makecaption@plain}[2]{% - \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}}% -\newcommand{\algocf@makecaption@boxed}[2]{% - \addtolength{\hsize}{-\algomargin}% - \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}% - \addtolength{\hsize}{\algomargin}% - }% -% -\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 -}% -% -\newlength{\algoheightruledefault}\setlength{\algoheightruledefault}{0.8pt}% -\newlength{\algoheightrule}\setlength{\algoheightrule}{\algoheightruledefault}% -\newlength{\algotitleheightruledefault}\setlength{\algotitleheightruledefault}{0.8pt}% -\newlength{\algotitleheightrule}\setlength{\algotitleheightrule}{\algotitleheightruledefault}% -\newcommand{\algocf@caption@plain}{\vskip\AlCapSkip\box\algocf@capbox}% -\newcommand{\algocf@caption@plainruled}{\algocf@caption@plain}% -\newcommand{\algocf@caption@boxed}{\vskip\AlCapSkip\box\algocf@capbox}% -\newcommand{\algocf@caption@ruled}{\box\algocf@capbox\kern\interspacetitleruled\hrule height\algotitleheightrule depth0pt\kern\interspacealgoruled}% -\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% - \vbox{% - \hrule\vskip\interspacetitleboxruled% - \hbox to\hsize{\unhbox\algocf@capbox\hfill}\vskip\interspacetitleboxruled% - }% - %\hskip-0.35pt% - \vrule% - }\nointerlineskip% - \addtolength{\hsize}{0.8pt}% -}% -% -% -%%%% set caption for the environment -\newcommand{\algocf@captionref}{% - \renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\algocf@algocfref}}% - \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value - \let\old@thealgocf=\thealgocf\renewcommand{\thealgocf}{{\relsize{\algocf@refrelsize}\algocf@algocfref}}% - \gdef\@currentlabel{\algocf@algocfref}% let the label use the new ref -}% -% -% Unfortunatly, we also need our own caption to set some specific stuff for special references. But after these -% settings, we call the original caption. -% -\long\def\algocf@caption@algo#1[#2]#3{% - \ifthenelse{\equal{\algocf@algocfref}{\relax}}{}{\algocf@captionref}% - \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... - \ifthenelse{\equal{\algocf@algocfref}{\relax}}{\renewcommand{\theHalgocf}{\thealgocf}}{% take algocf as Href - \renewcommand{\theHalgocf}{\algocf@algocfref}}%else if SetAlgoRefName done, take this name as ref. - \hyper@refstepcounter{algocf}%set algocf as category of ref - }% - \algocf@latexcaption{#1}[{#2}]{{#3}}% call original caption -}% -% -% beamer define is own caption overrinding latex caption! -% as we need it, we have put here the original definition -% to handle manual ref, unfortunately we have to add one line to handle algocf@algocfref -\long\def\algocf@latexcaption#1[#2]#3{% original definition of caption - \par% - \addcontentsline{\csname ext@#1\endcsname}{#1}% - {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% - \begingroup% - \@parboxrestore% - \if@minipage% - \@setminipage% - \fi% - \normalsize% - \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par% - \endgroup% -}% -% -% \ifx\beamer@makecaption\undefined% -% \else% beamer detected -\ifx\@makecaption\undefined% -\newcommand{\@makecaption}[2]{\relax}% -\fi% -%% - -% -% more and more packages redefine \@caption instead of just \@makecaption which makes algorithm2e -% caption not works since based on standard \@caption. So we force the definition of \@caption to be -% the standard one (the one from LaTeX) inside algorithm environment. -% -% unfortunately, makecaption is called with \ignorespace #3 so -% we can't do the @currentlabel definition inside \algocf@captionproctext -\long\def\algocf@caption@proc#1[#2]#3{% - \ifthenelse{\boolean{algocf@nokwfunc}}{\relax}{% - \SetKwFunction{\algocf@captname#3@}{\algocf@captname#3@}% - }% - % we tell hyperref to use algocfproc as category and to take the appropriate ref. - \ifthenelse{\boolean{algocf@func}}{\def\@proc@func{algocffunc}}{\def\@proc@func{algocfproc}}% - \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... - \ifthenelse{\boolean{algocf@procnumbered}}{% - \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%if procnumbered, take \thealgocf as ref - }{% - \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%else take procedure or function name - }% - \hyper@refstepcounter{\@proc@func}% - }% - \ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% - \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value - \gdef\@currentlabel{\algocf@captname#3@}% let the label be the name of the function, not the counter - }% - \ifthenelse{\equal{\algocf@captparam#2@}{\arg@e}}{% if no paramater, we remove the () - \algocf@latexcaption{#1}[\algocf@procname\nobreakspace\algocf@captname#2@]{#3}% - }{% else we give the complete name - \algocf@latexcaption{#1}[\algocf@procname\nobreakspace#2]{#3}% - }% -}% -%% -%%% setcaption -\newcommand{\algocf@setcaption}{% - \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment, caption text must be changed - \let\algocf@oldcaptiontext=\algocf@captiontext% - \renewcommand{\algocf@captiontext}[2]{% - \algocf@captionproctext{##1}{##2}% - }% - }{}% - \let\algocf@savecaption=\@caption% - \ifthenelse{\boolean{algocf@procenvironment}}{\let\@caption=\algocf@caption@proc}{\let\@caption=\algocf@caption@algo}% - \let\algocf@oldmakecaption=\@makecaption% - \renewcommand{\@makecaption}[2]{% - \expandafter\csname algocf@makecaption@\algocf@style\endcsname{##1}{##2}% - }% -}% -% -%%%%% reset caption -% -% since we have force the LaTeX caption for algorithm environment, we must go back to the caption -% used in the text. -\newcommand{\algocf@resetcaption}{% - \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment - \let\thealgocf=\old@thealgocf% restore normal counter printing - \let\algocf@captiontext=\algocf@oldcaptiontext% restore normal caption text - }{}% - \let\@caption=\algocf@savecaption% now restore caption outside algo/proc/func environment - \let\@makecaption=\algocf@oldmakecaption% and restore makecaption outside outside algo/proc/func environment - \algocf@resetfnum% -}% -% -%%%%% nocaptionofalgo and restorecaptionofalgo -- -\newcommand{\NoCaptionOfAlgo}{% - \let\@old@algocf@captiontext=\algocf@captiontext% - \renewcommand{\algocf@captiontext}[2]{\AlCapNameSty{\AlCapNameFnt{}##2}}% -}% -\newcommand{\RestoreCaptionOfAlgo}{% - \let\algocf@captiontext=\@old@algocf@captiontext% -}% -% -% ---------------------- algocf environment -% -\newcounter{algocfline}% % new counter to make lines numbers be internally -\setcounter{algocfline}{0}% % different in different algorithms -\newcounter{algocfproc}% counter to count all algo environment (proc, func), just used by hyperref to avoir "same -\setcounter{algocfproc}{0}% identifier" error caused by algocf being set to '-' for procedure or function or not - % changed if no caption is given. -% -\expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist -\newcounter{algocf}% % just define a new counter -\renewcommand{\thealgocf}{\@arabic\c@algocf}% and the way it is printed -\else% else -\newcounter{algocf}[\algocf@within]% % counter is numbered within \algocf@within -\renewcommand\thealgocf{\csname the\algocf@within\endcsname.\@arabic\c@algocf}% -\fi% -% -\def\fps@algocf{htbp}% % default -\def\ftype@algocf{10}% % float type -\def\ext@algocf{\algocf@list} % loa by default, lof if figure option used -\newcommand{\fnum@algocf}{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}% -\newcommand{\algocf@resetfnum}{\renewcommand{\fnum@algocf}{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}}% -\newenvironment{algocf}% % float environment for algorithms - {\@float{algocf}}% - {\end@float}% -\newenvironment{algocf*}% % float* environment for algorithms - {\@dblfloat{algocf}}% - {\end@dblfloat}% -% -\def\algocf@seclistalgo{}% -\ifx\l@chapter\undefined\let\algocf@seclistalgo=\section\else\let\algocf@seclistalgo=\chapter\fi% -\@ifundefined{if@restonecol}{\newif\if@restonecol}\relax% -\newcommand\listofalgocfs{% - \ifx\algocf@seclistalgo\chapter% - \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi% - \fi% - \algocf@seclistalgo*{\listalgorithmcfname}% - \@mkboth{\MakeUppercase\listalgorithmcfname}% - {\MakeUppercase\listalgorithmcfname}% - \@starttoc{loa}% - \ifx\algocf@seclistalgo\chapter% - \if@restonecol\twocolumn\fi% - \fi% -} -% -\newcommand*\l@algocf{\@dottedtocline{1}{1em}{2.3em}}% line of the list -% -% ---------------------- algorithm environment -% -%%%%%%% -%% -%% Algorithm environment definition -%% -%%%%%%% -%% -% -\newsavebox\algocf@algoframe% -\def\@algocf@pre@plain{\relax}% action to be done before printing the algo. -\def\@algocf@post@plain{\relax}% action to be done after printing the algo. -\def\@algocf@capt@plain{bottom}% where the caption should be localized. -\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@capt@ruled{top}% -\def\@algocf@pre@algoruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% -\def\@algocf@post@algoruled{\kern\interspacealgoruled\hrule height\algoheightrule \relax}% -\def\@algocf@capt@algoruled{top}% -\def\@algocf@pre@tworuled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% -\def\@algocf@post@tworuled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% -\def\@algocf@capt@tworuled{top}% -\def\@algocf@pre@boxruled{\noindent\begin{lrbox}{\algocf@algoframe}}% -\def\@algocf@post@boxruled{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% -\def\@algocf@capt@boxruled{above}% -\def\@algocf@pre@plainruled{\@algocf@pre@ruled}% action to be done before printing the algo. -\def\@algocf@post@plainruled{\@algocf@post@ruled\kern\interspacealgoruled}% action to be done before printing the algo. -\def\@algocf@capt@plainruled{under}% -% -\newcommand{\noalgocaption}{\def\@algocf@capt@ruled{none}} -% -%% before algocf or figure environment -\newcommand{\@algocf@init@caption}{% - \ifthenelse{\boolean{algocf@procenvironment}}{% if we are inside a procedure/function environment - \@algocf@proctitleofalgo% set Titleofalgo to Procedure: or Function: - % accordingly to the environment - \let\old@thealgocf=\thealgocf\ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% - \renewcommand{\thealgocf}{-}}% - }{% else inside environment algorithm - \@algocf@algotitleofalgo% fix name for \Titleofalgo to \algorithmcfname - }% - \algocf@setcaption% set caption to our caption style -}% -% -\newcommand{\@algofloatboxreset}{\@setminipage} -\newcommand{\@algocf@init}{% - \refstepcounter{algocfline}% - \stepcounter{algocfproc}%to have a different counter for each environment and being abble to make the difference - %between href of algoline in different algorithms. - \ifthenelse{\boolean{algocf@optnoend}}{% - \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% - }{% - \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% - }% -}% -%% after the end of algocf or figure environment -\newcommand{\@algocf@term@caption}{% - \algocf@resetcaption% restore original caption -}% -% -\newcommand{\@algocf@term}{% - \setboolean{algocf@algoH}{false}% no H by default - \ifthenelse{\boolean{algocf@optnoend}}{% - \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% - }{% - \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% - }% - \SetAlgoRefName{\relax}% -}% -% -%%%%%%%%%%%%%%%%% -%% makethealgo: macro which print effectively the algo in its box -%% -\newsavebox\algocf@algobox% -\newcommand{\algocf@makethealgo}{% - \vtop{% - % place caption above if needed bye the style - \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{above}}% - {\csname algocf@caption@\algocf@style\endcsname}{}% - % - % precommand according to the style - \csname @algocf@pre@\algocf@style\endcsname% - % place caption at top if needed bye the style - \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{top}}% - {\csname algocf@caption@\algocf@style\endcsname}{}% - % - \box\algocf@algobox% the algo - % place caption at bottom if needed bye the style - \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{bottom}}% - {\csname algocf@caption@\algocf@style\endcsname}{}% - % postcommand according to the style - \csname @algocf@post@\algocf@style\endcsname% - % place caption under if needed bye the style - \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{under}}% - {\csname algocf@caption@\algocf@style\endcsname}{}% - }% -}% -%%%%%%%%%%%%%%%%%%% -% -%% at the beginning of algocf or figure environment -\newenvironment{algomathdisplay}{\[}{\@endalgocfline\]\ifthenelse{\boolean{algocf@linesnumbered}}{\nl}{\relax}}% -\newcommand{\@algocf@start}{% - \@algoskip% - \begin{lrbox}{\algocf@algobox}% - \setlength{\algowidth}{\hsize}% - \vbox\bgroup% save all the algo in a box - \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}% - \let\@mathsemicolon=\;\def\;{\ifmmode\@mathsemicolon\else\@endalgoln\fi}% - \raggedright\AlFnt{}% - \ifthenelse{\boolean{algocf@slide}}{\IncMargin{\skipalgocfslide}}{}% - \@algoinsideskip% -% \let\@emathdisplay=\]\def\]{\algocf@endline\@emathdisplay\nl}% -}% -% -%% at the end of algocf or figure environment -\newcommand{\@algocf@finish}{% - \@algoinsideskip% - \egroup%end of vtop which contain all the text - \hfill\egroup%end of hbox wich contains [margin][vtop] - \ifthenelse{\boolean{algocf@slide}}{\DecMargin{\skipalgocfslide}}{}% - % - \egroup%end of main vbox - \end{lrbox}% - \algocf@makethealgo% print the algo - \@algoskip% - % restore dimension and macros - \setlength{\hsize}{\algowidth}% - \lineskip\normallineskip\setlength{\skiptotal}{\@defaultskiptotal}% - \let\;=\@mathsemicolon% - \let\]=\@emathdisplay% -}% -% -%%%%%%%%%%%%%%%%%%%% -%% basic definition of the environment algorithm -%% -% -\newboolean{algocf@procenvironment}\setboolean{algocf@procenvironment}{false}% -\newboolean{algocf@func}\setboolean{algocf@func}{false}% -\newboolean{algocf@algoH}\setboolean{algocf@algoH}{false}% -\newboolean{algocf@algostar}\setboolean{algocf@algostar}{false}% -% -%%% environment for {algorithm}[H] -\newenvironment{algocf@Here}{\noindent% - \def\@captype{algocf}% if not defined, caption exit with an error - \begin{minipage}{\hsize}% -}{% - \end{minipage}%\par% -}% -%%% real algorithm environment which manages H and * option -% \let\algocf@originalfloatboxreset=\@floatboxreset% -% \let\@floatboxreset=\@algofloatboxreset% -\newenvironment{algocf@algorithm}[1][htbp]{ - \@algocf@init% - \ifthenelse{\equal{\algocf@float}{figure}}{% if option figure set - \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option - \begin{figure*}[#1]% call figure* - }{% else algorithm environment with figure option - \begin{figure}[#1]% call figure - }% - }{% else normal algorithm environment - \@algocf@init@caption% - \ifthenelse{\equal{#1}{H}}{% if [H] algorithm - \if@twocolumn\@latex@error{[H] in two columns mode is not allowed for algorithms}\fi% TODO: SCREAM if H in two colums! - \setboolean{algocf@algoH}{true}\begin{algocf@Here}% call corresponding environment - }{% else floating algorithm environment - \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* - \begin{algocf*}[#1]% call algocf* - }{% else algorithm environment - \begin{algocf}[#1]% call algcf - }% - }% - }% fin test option figure ou pas - \@algocf@start% - \@ResetCounterIfNeeded% - \algocf@linesnumbered\ignorespaces% -}{% - \@algocf@finish% - \ifthenelse{\equal{\algocf@float}{figure}}{% - \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option - \end{figure*}% call figure* - }{% else algorithm environment with figure option - \end{figure}% call figure - }% - }{% - \@algocf@term@caption% - \ifthenelse{\boolean{algocf@algoH}}{% if [H] algorithm - \end{algocf@Here}\par% call corresponding environment - }{% else floating algorithm environment - \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* - \end{algocf*}% call algocf* - }{% else algorithm environment - \end{algocf}% call algocf - }% - }% - }% - \@algocf@term\ignorespacesafterend% -}% -% -%%% user algorithm environment -\newenvironment{\algocf@envname}[1][htbp]{% - \setboolean{algocf@algostar}{false}% - \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -%%% user algorithm* environment -\newenvironment{\algocf@envname*}[1][htbp]{% - \setboolean{algocf@algostar}{true}% - \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -% -%%%%%%%%%%%%%%%%%%%%%%% -%%% -% -\expandafter\newcommand\csname\algocf@listofalgorithms\endcsname{% - \ifthenelse{\equal{\algocf@float}{figure}}{\listoffigures}{\listofalgocfs}% -}% -%%% -%%% -% -% ---------------------- procedure and function environments -% -% -% -- new style (used in particular in the caption of function and procedure environments) -% -% three macros to extract parts of the caption -\gdef\algocf@captname#1(#2)#3@{#1} % keep characters before the first brace -\gdef\algocf@captparam#1(#2)#3@{#2} % keep character in between the braces -\gdef\algocf@captother#1(#2)#3@{#3} % keep character after the braces -% -%%% Text of caption for Procedure or Function -\newcommand{\algocf@captionproctext}[2]{% - {% - \ProcSty{\ProcFnt\algocf@procname\ifthenelse{\boolean{algocf@procnumbered}}{\nobreakspace\thealgocf\algocf@typo\algocf@capseparator}{\relax}}% - \nobreakspace\ProcNameSty{\ProcNameFnt\algocf@captname #2@}% Name of the procedure in ProcName Style. - \ifthenelse{\equal{\algocf@captparam #2@}{\arg@e}}{}{% if no argument, write nothing - \ProcNameSty{\ProcNameFnt(}\ProcArgSty{\ProcArgFnt\algocf@captparam #2@}\ProcNameSty{\ProcNameFnt)}%else put arguments in ProcArgSty: - }% endif - \algocf@captother #2@% - }% -}% -% -% -% -- procedure and function environments are defined from algocf@algorithm environment -% -\newenvironment{procedure}[1][htbp]{% - \setboolean{algocf@algostar}{false}% - \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% - \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -\newenvironment{function}[1][htbp]{% - \setboolean{algocf@algostar}{false}% - \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% - \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -% -\newenvironment{procedure*}[1][htbp]{% - \setboolean{algocf@algostar}{true}% - \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% - \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -\newenvironment{function*}[1][htbp]{% - \setboolean{algocf@algostar}{true}% - \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% - \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% - \begin{algocf@algorithm}[#1]\ignorespaces% -}{% - \end{algocf@algorithm}\ignorespacesafterend% -}% -% -% -%%%%%%%%%%%%%%%%%%%% -%% definition of algondfloat environment -%% -\ifthenelse{\boolean{algocf@endfloat}}{% if endfloat option then -\newcommand{\algoplace}{% macro which is used to writhe algorithm about there - \begin{center}% - [\algorithmcfname~\thepostfig\ about here.]% - \end{center}% -}% -\newcommand{\algoendfloat}{% use as a \begin{algoendfloat} environment to start scanning of line -% \immediate\openout\@mainfff\jobname.fff% - \efloat@condopen{fff} - \efloat@iwrite{fff}{\string\begin{\algocf@envname}}% - \if@domarkers% - \ifthenelse{\equal{\algocf@list}{lof}}{% - \addtocounter{postfig}{1}% - }{% - \addtocounter{postalgo}{1}% - }% - \algoplace% - \fi% - \bgroup% - \let\do\ef@makeinnocent\dospecials% - \ef@makeinnocent\^^L% and whatever other special cases - \endlinechar`\^^M \catcode`\^^M=12 \ef@xalgocfendfloat}% -}{\relax}%%%% end of endfloat option ifthenelse -%% some macros useful for endfloat option that cannot be defined inside the ifthenelse -%scan algoendfloat algorithm and write the text into .fff file -{\catcode`\^^M=12 \endlinechar=-1 % - \gdef\ef@xalgocfendfloat#1^^M{% scan the lines inside algoendfloat environment being read by latex - \def\test{#1}% test is the line being currently scan by latex - \ifx\test\ef@endalgocftest% if it is \end{algoendfloat} - \def\next{% define next as to not continue the scan and write \end{algorithm} into .fff file - \egroup\end{algoendfloat}% - \efloat@iwrite{fff}{\string\end{\algocf@envname}}% - \efloat@iwrite{fff}{\string\efloatseparator}% - \efloat@iwrite{fff}{ }% - }% - \else% else write the current line being scanned by latex and set next to continue the scan - \efloat@iwrite{fff}{#1}% - \let\next\ef@xalgocfendfloat% - \fi% endif - \next}% next is continue if it was else condition, else it does not continue the scan and write end to file -}% -% test if the scan is finish by looking at the string \end{algoendfloat} -{\escapechar=-1% - \xdef\ef@endalgocftest{\string\\end\string\{algoendfloat\string\}}% -}% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -\newcommand{\TitleOfAlgo}[1]{\@titleprefix\ - \TitleSty{#1}\par\smallskip}% -% -\newcommand{\SetAlgorithmName}[3]{% - \renewcommand{\listalgorithmcfname}{#3}% - \renewcommand{\algorithmcfname}{#1}% - \renewcommand{\algorithmautorefname}{#2}% -}% -% -\newcommand{\algocf@refrelsize}{-2}\newcommand{\SetAlgoRefRelativeSize}[1]{\renewcommand{\algocf@refrelsize}{#1}}% -\newcommand{\SetAlgoRefName}[1]{% - \renewcommand{\algocf@algocfref}{#1}% -}% -% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -% ------------------------- Default Definitions -% -%% -%% -% -\SetKwComment{tcc}{/* }{ */}% -\SetKwComment{tcp}{// }{}% -% -%\newcommand{\algocf@defaults@common}{ -% -% -% french keywords -% -%\SetKwInOut{AlgDonnees}{Donn\'ees}\SetKwInOut{AlgRes}{R\'esultat} -\SetKwHangingKw{HDonnees}{Donnees$\rightarrow$} -\SetKwInput{Donnees}{Donn\'ees}% -\SetKwInput{Res}{R\'esultat}% -\SetKwInput{Entree}{Entr\'ees}% -\SetKwInput{Sortie}{Sorties}% -\SetKw{KwA}{\`a}% -\SetKw{Retour}{retourner}% -\SetKwBlock{Deb}{d\'ebut}{fin}% -\SetKwRepeat{Repeter}{r\'ep\'eter}{jusqu'\`a}% -% -\SetKwIF{Si}{SinonSi}{Sinon}{si}{alors}{sinon si}{sinon}{fin si}% -\SetKwSwitch{Suivant}{Cas}{Autre}{suivant}{faire}{cas o\`u}{autres cas}{fin cas}{fin d'alternative}% -\SetKwFor{Pour}{pour}{faire}{fin pour}% -\SetKwFor{PourPar}{pour}{faire en parall\`ele}{fin pour}% -\SetKwFor{PourCh}{pour chaque}{faire}{fin pour chaque}% -\SetKwFor{PourTous}{pour tous les}{faire}{fin pour tous}% -\SetKwFor{Tq}{tant que}{faire}{fin tq}% -% -% english keywords -% -\SetKwHangingKw{KwHData}{Data$\rightarrow$} -\SetKwInput{KwIn}{Input}% -\SetKwInput{KwOut}{Output}% -\SetKwInput{KwData}{Data}% -\SetKwInput{KwResult}{Result}% -\SetKw{KwTo}{to} -\SetKw{KwRet}{return}% -\SetKw{Return}{return}% -\SetKwBlock{Begin}{begin}{end}% -\SetKwRepeat{Repeat}{repeat}{until}% -% -\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{end if}% -\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end case}{end switch}% -\SetKwFor{For}{for}{do}{end for}% -\SetKwFor{ForPar}{for}{do in parallel}{end forpar} -\SetKwFor{ForEach}{foreach}{do}{end foreach}% -\SetKwFor{ForAll}{forall the}{do}{end forall}% -\SetKwFor{While}{while}{do}{end while}% -% -% --- German keywords -% -\SetKwInput{Ein}{Eingabe}%KwIn -\SetKwInput{Aus}{Ausgabe}%KwOut -\SetKwInput{Daten}{Daten}%KwData -\SetKwInput{Ergebnis}{Ergebnis}%KwResult -\SetKw{Bis}{bis}%KwTo -\SetKw{KwZurueck}{zur\"uck}%KwRet -\SetKw{Zurueck}{zur\"uck}%Return -\SetKwBlock{Beginn}{Beginn}{Ende}%Begin -\SetKwRepeat{Wiederh}{wiederhole}{bis}%Repeat -% -\SetKwIF{Wenn}{SonstWenn}{Sonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf -\SetKwSwitch{Unterscheide}{Fall}{Anderes}{unterscheide}{tue}{Fall}{sonst}{Ende Fall}{Ende Unt.}%Switch -\SetKwFor{Fuer}{f\"ur}{tue}{Ende f\"ur}%For -\SetKwFor{FuerPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar -\SetKwFor{FuerJedes}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach -\SetKwFor{FuerAlle}{f\"ur alle}{tue}{Ende f\"ur}%ForAll -\SetKwFor{Solange}{solange}{tue}{Ende solange}%While -% -% --- Czech keywords -% -\SetKwInput{Vst}{Vstup}% -\SetKwInput{Vyst}{V\'{y}stup}% -\SetKwInput{Vysl}{V\'{y}sledek}% -% -% --- Portuguese keywords -% -\SetKwInput{Entrada}{Entrada}% -\SetKwInput{Saida}{Sa\'{i}da}% -\SetKwInput{Dados}{Dados}% -\SetKwInput{Resultado}{Resultado}% -\SetKw{Ate}{at\'{e}} -\SetKw{KwRetorna}{retorna}% -\SetKw{Retorna}{retorna}% -\SetKwBlock{Inicio}{in\'{i}cio}{fim}% -\SetKwRepeat{Repita}{repita}{at\'{e}}% -% -\SetKwIF{Se}{SenaoSe}{Senao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% -\SetKwSwitch{Selec}{Caso}{Outro}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim caso}{fim selec}% -\SetKwFor{Para}{para}{fa\c{c}a}{fim para}% -\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para} -\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}% -\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}% -\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}% -% -% --- Italian keywords -% -\SetKwInput{KwIng}{Ingresso}% -\SetKwInput{KwUsc}{Uscita}% -\SetKwInput{KwDati}{Dati}% -\SetKwInput{KwRisult}{Risultato}% -\SetKw{KwA}{a}% -\SetKw{KwRitorna}{ritorna}% -\SetKw{Ritorna}{ritorna}% -\SetKwBlock{Inizio}{inizio}{fine}% -\SetKwRepeat{Ripeti}{ripeti}{finch\'e}% -% -\SetKwIF{Sea}{AltSe}{Altrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% -\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end case}{endsw}% -\SetKwFor{Per}{per}{fai}{fine per}% -\SetKwFor{PerPar}{per}{fai in parallelo}{fine per}% -\SetKwFor{PerCiascun}{per ciascun}{fai}{fine per ciascun}% -\SetKwFor{PerTutti}{per tutti i}{fai}{fine per tutti}% -\SetKwFor{Finche}{finch\'e}{fai}{fine finch\'e}% -% -% --- Spanish keywords -% -\SetKwInput{Datos}{Datos} -\SetKwInput{Resultado}{Resultado} -\SetKwInput{Entrada}{Entrada} -\SetKwInput{Salida}{Salida} -\SetKw{KwA}{a} -\SetKw{KwDevolver}{devolver} -\SetKw{Devolver}{devolver} -\SetKwBlock{Inicio}{inicio}{fin} -\SetKwIF{SSi}{EnOtroCasoSi}{EnOtroCaso}{si}{entonces}{sin\'o, si}{sin\'o}{fin si} -\SetKwSwitch{Seleccionar}{Caso}{Otro}{seleccionar}{hacer}{caso}{sin\'o}{fin caso}{fin seleccionar} -\SetKwFor{Para}{para}{hacer}{fin para} -\SetKwFor{ParaPara}{par}{hacer en paralelo}{fin para} -\SetKwFor{EnParalelo}{para}{hacer en paralelo}{fin para} -\SetKwFor{Mientras}{mientras}{hacer}{fin mientras} -\SetKwFor{ParaCada}{para cada}{hacer}{fin para cada} -\SetKwFor{ParaTodo}{para todo}{hacer}{fin para todo} -\SetKwRepeat{Repetir}{repetir}{hasta que} -% -% Croatian keywords -% -\SetKwInput{KwUlaz}{Ulaz}%KwIn -\SetKwInput{KwIzlaz}{Izlaz}%KwOut -\SetKwInput{KwPodaci}{Podaci}%KwData -\SetKwInput{KwRezultat}{Rezultat}%KwResult -\SetKw{KwDo}{do}%KwTo -\SetKw{KwVrati}{vrati}%KwRet -\SetKw{Vrati}{vrati}%Return -\SetKwBlock{Pocetak}{po\v{c}etak}{kraj}%Begin -\SetKwRepeat{Ponavljaj}{ponavljaj}{dok ne bude}%Repeat -% -\SetKwIF{Ako}{InaceAko}{Inace}{ako}{onda}{ina\v{c}e ako}{ina\v{c}e}{kraj}%gIf -\SetKwSwitch{Granaj}{Slucaj}{Inace}{granaj}{\v{c}ini}{slu\v{c}aj}{ina\v{c}e}{kraj}{kraj}%Switch -\SetKwFor{Za}{za}{\v{c}ini}{kraj}%For -\SetKwFor{ZaPar}{za}{izvr\v{s}avaj paralelno}{kraj}%ForPar -\SetKwFor{ZaSvaki}{za svaki}{\v{c}ini}{kraj}%mForEach -\SetKwFor{ZaSvaku}{za svaku}{\v{c}ini}{kraj}%fForEach -\SetKwFor{ZaSvako}{za svako}{\v{c}ini}{kraj}%nForEach -\SetKwFor{ZaSve}{za sve}{\v{c}ini}{kraj}%ForAll -\SetKwFor{Dok}{dok}{\v{c}ini}{kraj}%While -% -% --- End -%} -% -%\algocf@defaults@common -% -% option onelanguage redefinition -% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{french}}{% -\SetKwInput{KwIn}{Entr\'ees}% -\SetKwInput{KwOutSortie}{Sorties}% -\SetKwInput{KwData}{Donn\'ees}% -\SetKwInput{KwResult}{R\'esultat}% -\SetKw{KwTo}{\`a}% -\SetKw{KwRet}{retourner}% -\SetKw{Return}{retourner}% -\SetKwBlock{Begin}{d\'ebut}{fin}% -\SetKwRepeat{Repeat}{r\'ep\'eter}{jusqu'\`a}% -% -\SetKwIF{If}{ElseIf}{Else}{si}{alors}{sinon si}{sinon}{fin si}% -\SetKwSwitch{Switch}{Case}{Other}{suivant}{faire}{cas o\`u}{autres cas}{fin cas}{fin d'alternative}% -\SetKwFor{For}{pour}{faire}{fin pour}% -\SetKwFor{ForPar}{pour}{faire en parall\`ele}{fin pour}% -\SetKwFor{ForEach}{pour chaque}{faire}{fin pour chaque}% -\SetKwFor{ForAll}{pour tous les}{faire}{fin pour tous}% -\SetKwFor{While}{tant que}{faire}{fin tq}% -}{}% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{german}}{% -\SetKwInput{KwIn}{Eingabe}%KwIn -\SetKwInput{KwOut}{Ausgabe}%KwOut -\SetKwInput{KwData}{Daten}%KwData -\SetKwInput{KwResult}{Ergebnis}%KwResult -\SetKw{KwTo}{bis}%KwTo -\SetKw{KwRet}{zur\"uck}%KwRet -\SetKw{Return}{zur\"uck}%Return -\SetKwBlock{Begin}{Beginn}{Ende}%Begin -\SetKwRepeat{Repeat}{wiederhole}{bis}%Repeat -% -\SetKwIF{If}{ElseIf}{Else}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf -\SetKwSwitch{Switch}{Case}{Other}{unterscheide}{tue}{Fall}{sonst}{Ende Fall}{Ende Unt.}%Switch -\SetKwFor{For}{f\"ur}{tue}{Ende f\"ur}%For -\SetKwFor{ForPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar -\SetKwFor{ForEach}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach -\SetKwFor{ForAll}{f\"ur alle}{tue}{Ende f\"ur}%ForAll -\SetKwFor{While}{solange}{tue}{Ende solange}%While -}{}% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{portuguese}}{% -\SetKwInput{KwIn}{Entrada}% -\SetKwInput{KwOut}{Sa\'{i}da}% -\SetKwInput{KwData}{Dados}% -\SetKwInput{KwResult}{Resultado}% -\SetKw{KwTo}{at\'{e}} -\SetKw{KwRet}{retorna}% -\SetKw{Return}{retorna}% -\SetKwBlock{Begin}{in\'{i}cio}{fim}% -\SetKwRepeat{Repeat}{repita}{at\'{e}}% -% -\SetKwIF{If}{ElseIf}{Else}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% -\SetKwSwitch{Switch}{Case}{Other}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim caso}{fim selec}% -\SetKwFor{For}{para}{fa\c{c}a}{fim para}% -\SetKwFor{ForPar}{para}{fa\c{c}a em paralelo}{fim para} -\SetKwFor{ForEach}{para cada}{fa\c{c}a}{fim para cada}% -\SetKwFor{ForAll}{para todo}{fa\c{c}a}{fim para todo}% -\SetKwFor{While}{enquanto}{fa\c{c}a}{fim enqto}% -}{}% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{italiano}}{% -\SetKwInput{KwIn}{Ingresso}% -\SetKwInput{KwOut}{Uscita}% -\SetKwInput{KwData}{Dati}% -\SetKwInput{KwResult}{Risultato}% -\SetKw{KwTo}{a}% -\SetKw{KwRet}{ritorna}% -\SetKw{Return}{ritorna}% -\SetKwBlock{Begin}{inizio}{fine}% -\SetKwRepeat{Repeat}{ripeti}{finch\'e}% -% -\SetKwIF{If}{ElseIf}{Else}{se}{allora}{altrimenti se}{allora}{fine se}% -\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end case}{endsw}% -\SetKwFor{For}{per}{fai}{fine per}% -\SetKwFor{ForPar}{per}{fai in parallelo}{fine per}% -\SetKwFor{ForEach}{per ciascun}{fai}{fine per ciascun}% -\SetKwFor{ForAll}{per tutti i}{fai}{fine per tutti}% -\SetKwFor{While}{finch\'e}{fai}{fine finch\'e}% -}{}% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{spanish}}{% -\SetKwInput{KwIn}{Entrada}% -\SetKwInput{KwOut}{Salida}% -\SetKwInput{KwData}{Datos}% -\SetKwInput{KwResult}{Resultado}% -\SetKw{KwTo}{a}% -\SetKw{KwRet}{devolver}% -\SetKw{Return}{devolver}% -\SetKwBlock{Begin}{inicio}{fin}% -\SetKwRepeat{Repeat}{repetir}{hasta que}% -% -\SetKwIF{If}{ElseIf}{Else}{si}{entonces}{sin\'o, si}{en otro caso}{fin si} -\SetKwSwitch{Switch}{Case}{Other}{seleccionar}{hacer}{caso}{sin\'o}{fin caso}{fin seleccionar} -\SetKwFor{For}{per}{fai}{fine per}% -\SetKwFor{ForPar}{par}{hacer in paralelo}{fin para}% -\SetKwFor{ForEach}{para cada}{hacer}{fin para cada} -\SetKwFor{ForAll}{para todo}{hacer}{fin para todo} -\SetKwFor{While}{mientras}{hacer}{fin mientras} -}{}% -% -\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{croatian}}{% -\SetKwInput{KwIn}{Ulaz}%KwIn -\SetKwInput{KwOut}{Izlaz}%KwOut -\SetKwInput{KwData}{Podaci}%KwData -\SetKwInput{KwResult}{Rezultat}%KwResult -\SetKw{KwTo}{do}%KwTo -\SetKw{KwRet}{vrati}%KwRet -\SetKw{Return}{vrati}%Return -\SetKwBlock{Begin}{po\v{c}etak}{kraj}%Begin -\SetKwRepeat{Repeat}{ponavljaj}{dok ne bude}%Repeat -% -\SetKwIF{If}{ElseIf}{Else}{ako}{onda}{ina\v{c}e ako}{ina\v{c}e}{kraj}%gIf -\SetKwSwitch{Switch}{Case}{Other}{granaj}{\v{c}ini}{slu\v{c}aj}{ina\v{c}e}{kraj}{kraj}%Switch -\SetKwFor{For}{za}{\v{c}ini}{kraj}%For -\SetKwFor{ForPar}{za}{izvr\v{s}avaj paralelno}{kraj}%ForPar -\SetKwFor{ForEach}{za svaki}{\v{c}ini}{kraj}%ForEach -\SetKwFor{ForAll}{za sve}{\v{c}ini}{kraj}%ForAll -\SetKwFor{While}{dok}{\v{c}ini}{kraj}%While -}{}% -% -%%%% old commands compatibility -% -\ifthenelse{\boolean{algocf@oldcommands}}{% -\newcommand{\SetNoLine}{\SetAlgoNoLine}% -\newcommand{\SetNoline}{\SetAlgoNoLine}% -\newcommand{\SetVline}{\SetAlgoVlined}% -\newcommand{\SetLine}{\SetAlgoLined}% -% -\newcommand{\dontprintsemicolon}{\DontPrintSemicolon}% -\newcommand{\printsemicolon}{\PrintSemicolon}% -\newcommand{\incmargin}[1]{\IncMargin{#1}}% -\newcommand{\decmargin}[1]{\DecMargin{-#1}}% -\newcommand{\setnlskip}[1]{\SetNlSkip{#1}}% -\newcommand{\Setnlskip}[1]{\SetNlSkip{#1}}% -\newcommand{\setalcapskip}[1]{\SetAlCapSkip{#1}}% -\newcommand{\setalcaphskip}[1]{\SetAlCapHSkip{#1}}% -\newcommand{\nlSty}[1]{\NlSty{#1}}% -\newcommand{\Setnlsty}[3]{\SetNlSty{#1}{#2}{#3}}% -\newcommand{\linesnumbered}{\LinesNumbered}% -\newcommand{\linesnotnumbered}{\LinesNotNumbered}% -\newcommand{\linesnumberedhidden}{\LinesNumberedHidden}% -\newcommand{\showln}{\ShowLn}% -\newcommand{\showlnlabel}[1]{\ShowLnLabel{#1}}% -\newcommand{\nocaptionofalgo}{\NoCaptionOfAlgo}% -\newcommand{\restorecaptionofalgo}{\RestoreCaptionOfAlgo}% -\newcommand{\restylealgo}[1]{\RestyleAlgo{#1}}% -% -\newcommand{\Titleofalgo}[1]{\TitleOfAlgo{#1}}% -% \SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif} -\newcommand{\SetKwIf}[6]{\SetKwIF{#1}{#2#1}{#2}{#3}{#4}{#5 #1}{#5}{#6}} -% -\SetKwIF{gSi}{gSinonSi}{gSinon}{si}{alors}{sinon si}{sinon}{fin si}% -\SetKwIF{gIf}{gElsIf}{gElse}{if}{then}{else if}{else}{end if}% -\SetKwIF{gIf}{gElseIf}{gElse}{if}{then}{else if}{else}{end if}% -\SetKwIF{gWenn}{gSonstWenn}{gSonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf -\SetKwIF{gSe}{gSenaoSe}{gSenao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% -\SetKwIF{gSea}{gAltSe}{gAltrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% -\SetKw{Ret}{return}% -\SetKwInput{Data}{Data}% -\SetKwInput{Result}{Result}% -}{% - \relax% -}% -% -% -% -%% -%%% -%%%% END \ No newline at end of file diff --git a/algorithmic.sty b/algorithmic.sty deleted file mode 100644 index a8ea254..0000000 --- a/algorithmic.sty +++ /dev/null @@ -1,192 +0,0 @@ -% ALGORITHMIC STYLE for LaTeX version 2e -% -% This style file is free software; you can redistribute it and/or -% modify it under the terms of the GNU Lesser General Public -% License as published by the Free Software Foundation; either -% version 2 of the License, or (at your option) any later version. -% -% This style file is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -% Lesser General Public License for more details. -% -% You should have received a copy of the GNU Lesser General Public -% License along with this style file; if not, write to the -% Free Software Foundation, Inc., 59 Temple Place - Suite 330, -% Boston, MA 02111-1307, USA. -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{algorithmic}[2006/06/02] -\typeout{Document Style `algorithmic' - environment} -% -\RequirePackage{ifthen} -\RequirePackage{calc} -\RequirePackage{keyval} -\newboolean{ALC@noend} -\setboolean{ALC@noend}{false} -\newcounter{ALC@line} -\newcounter{ALC@rem} -\newcounter{ALC@depth} -\newlength{\ALC@tlm} -% -\DeclareOption{noend}{\setboolean{ALC@noend}{true}} -% -\ProcessOptions -% -% For keyval-style options -\def\algsetup{\setkeys{ALG}} -% -% For indentation of algorithms -\newlength{\algorithmicindent} -\setlength{\algorithmicindent}{0pt} -\define@key{ALG}{indent}{\setlength{\algorithmicindent}{#1}} -\ifthenelse{\lengthtest{\algorithmicindent=0pt}}% - {\setlength{\algorithmicindent}{1em}}{} -% -% For line numbers' delimiters -\newcommand{\ALC@linenodelimiter}{:} -\define@key{ALG}{linenodelimiter}{\renewcommand{\ALC@linenodelimiter}{#1}} - -% -% For line numbers' size -\newcommand{\ALC@linenosize}{\footnotesize} -\define@key{ALG}{linenosize}{\renewcommand{\ALC@linenosize}{#1}} - -% -% ALGORITHMIC -\newcommand{\algorithmicrequire}{\textbf{Require:}} -\newcommand{\algorithmicensure}{\textbf{Ensure:}} -\newcommand{\algorithmiccomment}[1]{\{#1\}} -\newcommand{\algorithmicend}{\textbf{end}} -\newcommand{\algorithmicif}{\textbf{if}} -\newcommand{\algorithmicthen}{\textbf{then}} -\newcommand{\algorithmicelse}{\textbf{else}} -\newcommand{\algorithmicelsif}{\algorithmicelse\ \algorithmicif} -\newcommand{\algorithmicendif}{\algorithmicend\ \algorithmicif} -\newcommand{\algorithmicfor}{\textbf{for}} -\newcommand{\algorithmicforall}{\textbf{for all}} -\newcommand{\algorithmicdo}{\textbf{do}} -\newcommand{\algorithmicendfor}{\algorithmicend\ \algorithmicfor} -\newcommand{\algorithmicwhile}{\textbf{while}} -\newcommand{\algorithmicendwhile}{\algorithmicend\ \algorithmicwhile} -\newcommand{\algorithmicloop}{\textbf{loop}} -\newcommand{\algorithmicendloop}{\algorithmicend\ \algorithmicloop} -\newcommand{\algorithmicrepeat}{\textbf{repeat}} -\newcommand{\algorithmicuntil}{\textbf{until}} -\newcommand{\algorithmicprint}{\textbf{print}} -\newcommand{\algorithmicreturn}{\textbf{return}} -\newcommand{\algorithmictrue}{\textbf{true}} -\newcommand{\algorithmicfalse}{\textbf{false}} -\def\ALC@setref{% - \def\@currentlabel{\theALC@line}% -} -\def\ALC@item[#1]{% -\if@noparitem \@donoparitem - \else \if@inlabel \indent \par \fi - \ifhmode \unskip\unskip \par \fi - \if@newlist \if@nobreak \@nbitem \else - \addpenalty\@beginparpenalty - \addvspace\@topsep \addvspace{-\parskip}\fi - \else \addpenalty\@itempenalty \addvspace\itemsep - \fi - \global\@inlabeltrue -\fi -\everypar{\global\@minipagefalse\global\@newlistfalse - \if@inlabel\global\@inlabelfalse \hskip -\parindent \box\@labels - \penalty\z@ \fi - \everypar{}}\global\@nobreakfalse -\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi -\sbox\@tempboxa{\makelabel{#1}}% -\global\setbox\@labels - \hbox{\unhbox\@labels \hskip \itemindent - \hskip -\labelwidth \hskip -\ALC@tlm - \ifdim \wd\@tempboxa >\labelwidth - \box\@tempboxa - \else \hbox to\labelwidth {\unhbox\@tempboxa}\fi - \hskip \ALC@tlm}\ignorespaces} -% -\newenvironment{algorithmic}[1][0]{ -\setcounter{ALC@depth}{\@listdepth}% -\let\@listdepth\c@ALC@depth% -\let\@item\ALC@item% - \newcommand{\ALC@lno}{% -\ifthenelse{\equal{\arabic{ALC@rem}}{0}} -{{\ALC@linenosize \arabic{ALC@line}\ALC@linenodelimiter}}{}% -} -\let\@listii\@listi -\let\@listiii\@listi -\let\@listiv\@listi -\let\@listv\@listi -\let\@listvi\@listi -\let\@listvii\@listi - \newenvironment{ALC@g}{ - \begin{list}{\ALC@lno}{ \itemsep\z@ \itemindent\z@ - \listparindent\z@ \rightmargin\z@ - \topsep\z@ \partopsep\z@ \parskip\z@\parsep\z@ - \leftmargin \algorithmicindent%1em - \addtolength{\ALC@tlm}{\leftmargin} - } - } - {\end{list}} - \newcommand{\ALC@it}{\refstepcounter{ALC@rem}\refstepcounter{ALC@line}\ifthenelse{\equal{\arabic{ALC@rem}}{#1}}{\setcounter{ALC@rem}{0}}{}\item\ALC@setref} - \newcommand{\ALC@com}[1]{\ifthenelse{\equal{##1}{default}}% -{}{\ \algorithmiccomment{##1}}} - \newcommand{\REQUIRE}{\item[\algorithmicrequire]} - \newcommand{\ENSURE}{\item[\algorithmicensure]} - \newcommand{\PRINT}{\ALC@it\algorithmicprint{}\ \ } - \newcommand{\RETURN}{\ALC@it\algorithmicreturn{}\ \ } - \newcommand{\TRUE}{\algorithmictrue{}} - \newcommand{\FALSE}{\algorithmicfalse{}} - \newcommand{\STATE}{\ALC@it} - \newcommand{\STMT}{\ALC@it} - \newcommand{\COMMENT}[1]{\algorithmiccomment{##1}} - \newenvironment{ALC@if}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@for}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@whl}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@loop}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@rpt}{\begin{ALC@g}}{\end{ALC@g}} - \renewcommand{\\}{\@centercr} - \newcommand{\IF}[2][default]{\ALC@it\algorithmicif\ ##2\ \algorithmicthen% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\ELSE}[1][default]{\end{ALC@if}\ALC@it\algorithmicelse% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\ELSIF}[2][default]% -{\end{ALC@if}\ALC@it\algorithmicelsif\ ##2\ \algorithmicthen% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\FOR}[2][default]{\ALC@it\algorithmicfor\ ##2\ \algorithmicdo% -\ALC@com{##1}\begin{ALC@for}} - \newcommand{\FORALL}[2][default]{\ALC@it\algorithmicforall\ ##2\ % -\algorithmicdo% -\ALC@com{##1}\begin{ALC@for}} - \newcommand{\WHILE}[2][default]{\ALC@it\algorithmicwhile\ ##2\ % -\algorithmicdo% -\ALC@com{##1}\begin{ALC@whl}} - \newcommand{\LOOP}[1][default]{\ALC@it\algorithmicloop% -\ALC@com{##1}\begin{ALC@loop}} - \newcommand{\REPEAT}[1][default]{\ALC@it\algorithmicrepeat% -\ALC@com{##1}\begin{ALC@rpt}} - \newcommand{\UNTIL}[1]{\end{ALC@rpt}\ALC@it\algorithmicuntil\ ##1} - \ifthenelse{\boolean{ALC@noend}}{ - \newcommand{\ENDIF}{\end{ALC@if}} - \newcommand{\ENDFOR}{\end{ALC@for}} - \newcommand{\ENDWHILE}{\end{ALC@whl}} - \newcommand{\ENDLOOP}{\end{ALC@loop}} - }{ - \newcommand{\ENDIF}{\end{ALC@if}\ALC@it\algorithmicendif} - \newcommand{\ENDFOR}{\end{ALC@for}\ALC@it\algorithmicendfor} - \newcommand{\ENDWHILE}{\end{ALC@whl}\ALC@it\algorithmicendwhile} - \newcommand{\ENDLOOP}{\end{ALC@loop}\ALC@it\algorithmicendloop} - } - \renewcommand{\@toodeep}{} - \begin{list}{\ALC@lno}{\setcounter{ALC@rem}{0}\setcounter{ALC@line}{0}% - \itemsep\z@ \itemindent\z@ \listparindent\z@% - \partopsep\z@ \parskip\z@ \parsep\z@% - \labelsep 0.5em \topsep 0.2em% -\ifthenelse{\equal{#1}{0}} - {\labelwidth 0.5em } - {\labelwidth 1.2em } -\leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep} - \ALC@tlm\labelsep - } -} -{\end{list}} diff --git a/bare_adv.tex b/bare_adv.tex deleted file mode 100755 index 0007bec..0000000 --- a/bare_adv.tex +++ /dev/null @@ -1,1100 +0,0 @@ - -%% bare_adv.tex -%% V1.3 -%% 2007/01/11 -%% by Michael Shell -%% See: -%% http://www.michaelshell.org/ -%% for current contact information. -%% -%% This is a skeleton file demonstrating the advanced use of IEEEtran.cls -%% (requires IEEEtran.cls version 1.7 or later) with an IEEE Computer -%% Society journal paper. -%% -%% Support sites: -%% http://www.michaelshell.org/tex/ieeetran/ -%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ -%% and -%% http://www.ieee.org/ - -%%************************************************************************* -%% Legal Notice: -%% This code is offered as-is without any warranty either expressed or -%% implied; without even the implied warranty of MERCHANTABILITY or -%% FITNESS FOR A PARTICULAR PURPOSE! -%% User assumes all risk. -%% In no event shall IEEE or any contributor to this code be liable for -%% any damages or losses, including, but not limited to, incidental, -%% consequential, or any other damages, resulting from the use or misuse -%% of any information contained here. -%% -%% All comments are the opinions of their respective authors and are not -%% necessarily endorsed by the IEEE. -%% -%% This work is distributed under the LaTeX Project Public License (LPPL) -%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, -%% distributed and modified. A copy of the LPPL, version 1.3, is included -%% in the base LaTeX documentation of all distributions of LaTeX released -%% 2003/12/01 or later. -%% Retain all contribution notices and credits. -%% ** Modified files should be clearly indicated as such, including ** -%% ** renaming them and changing author support contact information. ** -%% -%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, -%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex -%%************************************************************************* - -% *** Authors should verify (and, if needed, correct) their LaTeX system *** -% *** with the testflow diagnostic prior to trusting their LaTeX platform *** -% *** with production work. IEEE's font choices can trigger bugs that do *** -% *** not appear when using other class files. *** -% The testflow support page is at: -% http://www.michaelshell.org/tex/testflow/ - - - -% IEEEtran V1.7 and later provides for these CLASSINPUT macros to allow the -% user to reprogram some IEEEtran.cls defaults if needed. These settings -% override the internal defaults of IEEEtran.cls regardless of which class -% options are used. Do not use these unless you have good reason to do so as -% they can result in nonIEEE compliant documents. User beware. ;) -% -%\newcommand{\CLASSINPUTbaselinestretch}{1.0} % baselinestretch -%\newcommand{\CLASSINPUTinnersidemargin}{1in} % inner side margin -%\newcommand{\CLASSINPUToutersidemargin}{1in} % outer side margin -%\newcommand{\CLASSINPUTtoptextmargin}{1in} % top text margin -%\newcommand{\CLASSINPUTbottomtextmargin}{1in}% bottom text margin - - - -% Note that the a4paper option is mainly intended so that authors in -% countries using A4 can easily print to A4 and see how their papers will -% look in print - the typesetting of the document will not typically be -% affected with changes in paper size (but the bottom and side margins will). -% Use the testflow package mentioned above to verify correct handling of -% both paper sizes by the user's LaTeX system. -% -% Also note that the "draftcls" or "draftclsnofoot", not "draft", option -% should be used if it is desired that the figures are to be displayed in -% draft mode. -% -\documentclass[12pt,journal,compsoc]{IEEEtran} -% The Computer Society requires 12pt. -% If IEEEtran.cls has not been installed into the LaTeX system files, -% manually specify the path to it like: -% \documentclass[10pt,journal,compsoc]{../sty/IEEEtran} - - -% For Computer Society journals, IEEEtran defaults to the use of -% Palatino/Palladio as is done in IEEE Computer Society journals. -% To go back to Times Roman, you can use this code: -%\renewcommand{\rmdefault}{ptm}\selectfont - - - - - -% Some very useful LaTeX packages include: -% (uncomment the ones you want to load) - - - -% *** MISC UTILITY PACKAGES *** -% -%\usepackage{ifpdf} -% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional -% compilation based on whether the output is pdf or dvi. -% usage: -% \ifpdf -% % pdf code -% \else -% % dvi code -% \fi -% The latest version of ifpdf.sty can be obtained from: -% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ -% Also, note that IEEEtran.cls V1.7 and later provides a builtin -% \ifCLASSINFOpdf conditional that works the same way. -% When switching from latex to pdflatex and vice-versa, the compiler may -% have to be run twice to clear warning/error messages. - - - - - - -% *** CITATION PACKAGES *** -% -\ifCLASSOPTIONcompsoc - % IEEE Computer Society needs nocompress option - % requires cite.sty v4.0 or later (November 2003) - % \usepackage[nocompress]{cite} -\else - % normal IEEE - % \usepackage{cite} -\fi -% cite.sty was written by Donald Arseneau -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package -% \cite{} output to follow that of IEEE. Loading the cite package will -% result in citation numbers being automatically sorted and properly -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's -% \cite will automatically add leading space, if needed. Use cite.sty's -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. -% cite.sty is already installed on most LaTeX systems. Be sure and use -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does -% not currently provide for hyperlinked citations. -% The latest version can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ -% The documentation is contained in the cite.sty file itself. -% -% Note that some packages require special options to format as the Computer -% Society requires. In particular, Computer Society papers do not use -% compressed citation ranges as is done in typical IEEE papers -% (e.g., [1]-[4]). Instead, they list every citation separately in order -% (e.g., [1], [2], [3], [4]). To get the latter we need to load the cite -% package with the nocompress option which is supported by cite.sty v4.0 -% and later. Note also the use of a CLASSOPTION conditional provided by -% IEEEtran.cls V1.7 and later. - - - - - -% *** GRAPHICS RELATED PACKAGES *** -% -\ifCLASSINFOpdf - % \usepackage[pdftex]{graphicx} - % declare the path(s) where your graphic files are - % \graphicspath{{../pdf/}{../jpeg/}} - % and their extensions so you won't have to specify these with - % every instance of \includegraphics - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} -\else - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx - % will default to the driver specified in the system graphics.cfg if no - % driver is specified. - % \usepackage[dvips]{graphicx} - % declare the path(s) where your graphic files are - % \graphicspath{{../eps/}} - % and their extensions so you won't have to specify these with - % every instance of \includegraphics - % \DeclareGraphicsExtensions{.eps} -\fi -% graphicx was written by David Carlisle and Sebastian Rahtz. It is -% required if you want graphics, photos, etc. graphicx.sty is already -% installed on most LaTeX systems. The latest version and documentation can -% be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ -% Another good source of documentation is "Using Imported Graphics in -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ -% -% latex, and pdflatex in dvi mode, support graphics in encapsulated -% postscript (.eps) format. pdflatex in pdf mode supports graphics -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats -% which can result in "jaggedy"/blurry rendering of lines and letters as -% well as large increases in file sizes. -% -% You can find documentation about the pdfTeX application at: -% http://www.tug.org/applications/pdftex - - - -%\usepackage{ps4pdf} -% dvi->ps workflow is required to use such packages as psfrag.sty and -% pstricks.sty. However, Rolf Niepraschk's ps4pdf.sty provides a way to -% apply psfrag/pstricks effects to .eps figures and then get the resultant -% figures in .pdf form. Thus, providing an easier way for migrating from -% .eps to .pdf figures. After ps4pdf.sty loads, if: -% 1. producing .dvi output: the output file will consist ONLY of the -% figures (or other constructs encased within \PSforPDF commands) -% 2. producing .pdf output: pdflatex will look in the filename-pics.pdf -% file, where filename is the basename of the tex document, for the -% graphics (or other constructs encased within \PSforPDF commands). -% NOTE: If you ever change your figures, you must remember to remake -% the filename-pics.pdf file. -% -% This way you can do a: -% -% latex filename -% dvips -Ppdf -o filename-pics.ps filename.dvi -% ps2pdf filename-pics.ps filename-pics.pdf -% -% to produce a filename-pics.pdf graphics container that contains -% .pdf versions of the graphics with psfrag, pstricks, etc. features. -% Note that you will not typically be able to view the figures in -% filename-pics.ps because of an offset. However, you will be able to -% view them in filename-pics.pdf. Also, note that when ps4pdf is in effect -% with .dvi output, you may get harmless over/under full box warnings - -% ignore them. -% Then, run pdflatex: -% -% pdflatex filename -% -% to use pdflatex to make PDF output, automatically using the figures in -% filename-pics.pdf. Alternatively, you could use dvips -i option to -% obtain separate .pdf files for each figure: -% -% dvips -Ppdf -i -E -o fig filename -% -% then convert each figure to pdf via a command such as epstopdf and then -% use pdflatex with these pdf figures and then to dispense with ps4pdf. -% -% Remember to rerun through latex/dvips/ps2pdf if you ever change your -% figures so that filename-pics.pdf gets updated. -% ps4pdf requires David Kastrup's preview-latex and a recent LaTeX system -% (circa 2001 or later). The ps4pdf package and documentation can be -% obtained at: http://www.ctan.org/tex-archive/macros/latex/contrib/ps4pdf/ -% The preview-latex package and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/preview/ -% -% provide a bogus \PSforPDF, even when not loading pd4pdf. This way we can -% stop loading ps4pdf.sty if we choose to make separate .pdf versions of -% each of our figures. -\providecommand{\PSforPDF}[1]{#1} -% Note that in order for ps4pdf to work, all commands related to psfrag, -% pstricks, etc. must be called within the PSforPDF command. This applies -% even when *loading* via \usepackage psfrag.sty, etc. - - -%\PSforPDF{\usepackage{psfrag}} -% psfrag.sty was written by Craig Barratt, Michael C. Grant, and -% David Carlisle. It allows you to substitute LaTeX commands for text in -% imported EPS graphic files. In this way, LaTeX symbols can be placed into -% graphics that have been generated by other applications. You must use -% latex->dvips->ps2pdf workflow (not direct pdf output from pdflatex) if -% you wish to use this capability because it works via some PostScript -% tricks. Alternatively, the graphics could be processed as separate files -% via psfrag and dvips, then converted to PDF for inclusion in the main file -% which uses pdflatex. ps4pdf.sty (above) provides a way of doing this all -% at once within the main file. -% Docs are in "The PSfrag System" by Michael C. Grant and David Carlisle. -% There is also some information about using psfrag in "Using Imported -% Graphics in LaTeX2e" by Keith Reckdahl which documents the graphicx -% package (see above). The psfrag package and documentation can be obtained -% at: http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/ -% -% Note that the current version of psfrag does not "turn itself off" when -% running under pdf output. This will result in a harmless warning -% about a non-PDF \special. However, to silence this, a bogus psfrag -% command can be provided instead of loading psfrag.sty when PDF output -% is being used. Thus, a more complex alternative conditional loading scheme -% can be employed instead of the straightforword way above: -% -%\ifCLASSINFOpdf -% if outputting PDF, do not use or load psfrag.sty as current versions -% output a non-PDF special that generates a harmless, but annoying warning. -% Instead, we provide a bogus \psfrag command that does nothing with -% its arguments. This is a tad tricky because \psfrag can have up to six -% arguments four of which are optional: \psfrag{}[][][][]{} -% Code based on that in psfrag.sty -%\makeatletter -%\def\psfrag{\@ifstar{\@BOGUSpsfraga}{\@BOGUSpsfraga}} -%\def\@BOGUSpsfraga{\begingroup -% \@makeother\"\@makeother\*\@makeother\!\@makeother\~% -% \@makeother\:\@makeother\\\@makeother\%\@makeother\#% -% \@makeother\ \@BOGUSpsfragb} -%\def\@BOGUSpsfragb#1{\endgroup -% \@ifnextchar [{\@BOGUSpsfragc}% -% {\@BOGUSpsfrag}} -%\def\@BOGUSpsfragc[#1]{\@ifnextchar [{\@BOGUSpsfragd}% -% {\@BOGUSpsfrag}} -%\def\@BOGUSpsfragd[#1]{\@ifnextchar [{\@BOGUSpsfrage}% -% {\@BOGUSpsfrag}} -%\def\@BOGUSpsfrage[#1]{\@ifnextchar [{\@BOGUSpsfragf}% -% {\@BOGUSpsfrag}} -%\def\@BOGUSpsfragf[#1]{\@BOGUSpsfrag} -%\def\@BOGUSpsfrag#1{\ignorespaces} -%\makeatother -%\else -% using dvi output, load psfrag, but funnel it through PSforPDF -% as required by ps4pdf.sty -%\PSforPDF{\usepackage{psfrag}} -%\fi - - - - - -% *** MATH PACKAGES *** -% -%\usepackage[cmex10]{amsmath} -% A popular package from the American Mathematical Society that provides -% many useful and powerful commands for dealing with mathematics. If using -% it, be sure to load this package with the cmex10 option to ensure that -% only type 1 fonts will utilized at all point sizes. Without this option, -% it is possible that some math symbols, particularly those within -% footnotes, will be rendered in bitmap form which will result in a -% document that can not be IEEE Xplore compliant! -% -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 -% thus preventing page breaks from occurring within multiline equations. Use: -%\interdisplaylinepenalty=2500 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally -% does. amsmath.sty is already installed on most LaTeX systems. The latest -% version and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ - - - - - -% *** SPECIALIZED LIST PACKAGES *** -%\usepackage{acronym} -% acronym.sty was written by Tobias Oetiker. This package provides tools for -% managing documents with large numbers of acronyms. (You don't *have* to -% use this package - unless you have a lot of acronyms, you may feel that -% such package management of them is bit of an overkill.) -% Do note that the acronym environment (which lists acronyms) will have a -% problem when used under IEEEtran.cls because acronym.sty relies on the -% description list environment - which IEEEtran.cls has customized for -% producing IEEE style lists. A workaround is to declared the longest -% label width via the IEEEtran.cls \IEEEiedlistdecl global control: -% -% \renewcommand{\IEEEiedlistdecl}{\IEEEsetlabelwidth{SONET}} -% \begin{acronym} -% -% \end{acronym} -% \renewcommand{\IEEEiedlistdecl}{\relax}% remember to reset \IEEEiedlistdecl -% -% instead of using the acronym environment's optional argument. -% The latest version and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/acronym/ - - -%\usepackage{algorithmic} -% algorithmic.sty was written by Peter Williams and Rogerio Brito. -% This package provides an algorithmic environment fo describing algorithms. -% You can use the algorithmic environment in-text or within a figure -% environment to provide for a floating algorithm. Do NOT use the algorithm -% floating environment provided by algorithm.sty (by the same authors) or -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated -% algorithm float types and packages that provide these will not provide -% correct IEEE style captions. The latest version and documentation of -% algorithmic.sty can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ -% There is also a support site at: -% http://algorithms.berlios.de/index.html -% Also of interest may be the (relatively newer and more customizable) -% algorithmicx.sty package by Szasz Janos: -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ - - - - -% *** ALIGNMENT PACKAGES *** -% -%\usepackage{array} -% Frank Mittelbach's and David Carlisle's array.sty patches and improves -% the standard LaTeX2e array and tabular environments to provide better -% appearance and additional user controls. As the default LaTeX2e table -% generation code is lacking to the point of almost being broken with -% respect to the quality of the end results, all users are strongly -% advised to use an enhanced (at the very least that provided by array.sty) -% set of table tools. array.sty is already installed on most systems. The -% latest version and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ - - -%\usepackage{mdwmath} -%\usepackage{mdwtab} -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, -% especially mdwmath.sty and mdwtab.sty which are used to format equations -% and tables, respectively. The MDWtools set is already installed on most -% LaTeX systems. The lastest version and documentation is available at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ - - -% IEEEtran contains the IEEEeqnarray family of commands that can be used to -% generate multiline equations as well as matrices, tables, etc., of high -% quality. - - -%\usepackage{eqparbox} -% Also of notable interest is Scott Pakin's eqparbox package for creating -% (automatically sized) equal width boxes - aka "natural width parboxes". -% Available at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ - - - - - -% *** SUBFIGURE PACKAGES *** -%\ifCLASSOPTIONcompsoc -%\usepackage[tight,normalsize,sf,SF]{subfigure} -%\else -%\usepackage[tight,footnotesize]{subfigure} -%\fi -% subfigure.sty was written by Steven Douglas Cochran. This package makes it -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE -% work, it is a good idea to load it with the tight package option to reduce -% the amount of white space around the subfigures. Computer Society papers -% use a larger font and \sffamily font for their captions, hence the -% additional options needed under compsoc mode. subfigure.sty is already -% installed on most LaTeX systems. The latest version and documentation can -% be obtained at: -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ -% subfigure.sty has been superceeded by subfig.sty. - - -%\ifCLASSOPTIONcompsoc -% \usepackage[caption=false]{caption} -% \usepackage[font=normalsize,labelfont=sf,textfont=sf]{subfig} -%\else -% \usepackage[caption=false]{caption} -% \usepackage[font=footnotesize]{subfig} -%\fi -% subfig.sty, also written by Steven Douglas Cochran, is the modern -% replacement for subfigure.sty. However, subfig.sty requires and -% automatically loads Axel Sommerfeldt's caption.sty which will override -% IEEEtran.cls handling of captions and this will result in nonIEEE style -% figure/table captions. To prevent this problem, be sure and preload -% caption.sty with its "caption=false" package option. This is will preserve -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later -% (recommended due to many improvements over 1.2) of subfig.sty supports -% the caption=false option directly: -%\ifCLASSOPTIONcompsoc -% \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig} -%\else -% \usepackage[caption=false,font=footnotesize]{subfig} -%\fi -% -% The latest version and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ -% The latest version and documentation of caption.sty can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ - - - - -% *** FLOAT PACKAGES *** -% -%\usepackage{fixltx2e} -% fixltx2e, the successor to the earlier fix2col.sty, was written by -% Frank Mittelbach and David Carlisle. This package corrects a few problems -% in the LaTeX2e kernel, the most notable of which is that in current -% LaTeX2e releases, the ordering of single and double column floats is not -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a -% single column figure to be placed prior to an earlier double column -% figure. The latest version and documentation can be found at: -% http://www.ctan.org/tex-archive/macros/latex/base/ - - -%\usepackage{stfloats} -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e -% the ability to do double column floats at the bottom of the page as well -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in -% LaTeX2e). It also provides a command: -%\fnbelowfloat -% to enable the placement of footnotes below bottom floats (the standard -% LaTeX2e kernel puts them above bottom floats). This is an invasive package -% which rewrites many portions of the LaTeX2e float routines. It may not work -% with other packages that modify the LaTeX2e float routines. The latest -% version and documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ -% Documentation is contained in the stfloats.sty comments as well as in the -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE -% does not allow \baselineskip to stretch. Authors submitting work to the -% IEEE should note that IEEE rarely uses double column equations and -% that authors should try to avoid such use. Do not be tempted to use the -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does -% not format its papers in such ways. - - -%\ifCLASSOPTIONcaptionsoff -% \usepackage[nomarkers]{endfloat} -% \let\MYoriglatexcaption\caption -% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}} -%\fi -% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg. -% This package may be useful when used in conjunction with IEEEtran.cls' -% captionsoff option. Some IEEE journals/societies require that submissions -% have lists of figures/tables at the end of the paper and that -% figures/tables without any captions are placed on a page by themselves at -% the end of the document. If needed, the draftcls IEEEtran class option or -% \CLASSINPUTbaselinestretch interface can be used to increase the line -% spacing as well. Be sure and use the nomarkers option of endfloat to -% prevent endfloat from "marking" where the figures would have been placed -% in the text. The two hack lines of code above are a slight modification of -% that suggested by in the endfloat docs (section 8.3.1) to ensure that -% the full captions always appear in the list of figures/tables - even if -% the user used the short optional argument of \caption[]{}. -% IEEE papers do not typically make use of \caption[]'s optional argument, -% so this should not be an issue. A similar trick can be used to disable -% captions of packages such as subfig.sty that lack options to turn off -% the subcaptions: -% For subfig.sty: -% \let\MYorigsubfloat\subfloat -% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}} -% For subfigure.sty: -% \let\MYorigsubfigure\subfigure -% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}} -% However, the above trick will not work if both optional arguments of -% the \subfloat/subfig command are used. Furthermore, there needs to be a -% description of each subfigure *somewhere* and endfloat does not add -% subfigure captions to its list of figures. Thus, the best approach is to -% avoid the use of subfigure captions (many IEEE journals avoid them anyway) -% and instead reference/explain all the subfigures within the main caption. -% The latest version of endfloat.sty and its documentation can obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/ -% -% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used -% later in the document, say, to conditionally put the References on a -% page by themselves. - - - - - -% *** PDF, URL AND HYPERLINK PACKAGES *** -% -%\usepackage{url} -% url.sty was written by Donald Arseneau. It provides better support for -% handling and breaking URLs. url.sty is already installed on most LaTeX -% systems. The latest version can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ -% Read the url.sty source comments for usage information. Basically, -% \url{my_url_here}. - - -% NOTE: PDF thumbnail features are not required in IEEE papers -% and their use requires extra complexity and work. -%\ifCLASSINFOpdf -% \usepackage[pdftex]{thumbpdf} -%\else -% \usepackage[dvips]{thumbpdf} -%\fi -% thumbpdf.sty and its companion Perl utility were written by Heiko Oberdiek. -% It allows the user a way to produce PDF documents that contain fancy -% thumbnail images of each of the pages (which tools like acrobat reader can -% utilize). This is possible even when using dvi->ps->pdf workflow if the -% correct thumbpdf driver options are used. thumbpdf.sty incorporates the -% file containing the PDF thumbnail information (filename.tpm is used with -% dvips, filename.tpt is used with pdftex, where filename is the base name of -% your tex document) into the final ps or pdf output document. An external -% utility, the thumbpdf *Perl script* is needed to make these .tpm or .tpt -% thumbnail files from a .ps or .pdf version of the document (which obviously -% does not yet contain pdf thumbnails). Thus, one does a: -% -% thumbpdf filename.pdf -% -% to make a filename.tpt, and: -% -% thumbpdf --mode dvips filename.ps -% -% to make a filename.tpm which will then be loaded into the document by -% thumbpdf.sty the NEXT time the document is compiled (by pdflatex or -% latex->dvips->ps2pdf). Users must be careful to regenerate the .tpt and/or -% .tpm files if the main document changes and then to recompile the -% document to incorporate the revised thumbnails to ensure that thumbnails -% match the actual pages. It is easy to forget to do this! -% -% Unix systems come with a Perl interpreter. However, MS Windows users -% will usually have to install a Perl interpreter so that the thumbpdf -% script can be run. The Ghostscript PS/PDF interpreter is also required. -% See the thumbpdf docs for details. The latest version and documentation -% can be obtained at. -% http://www.ctan.org/tex-archive/support/thumbpdf/ -% Be sure and use only version 3.8 (2005/07/06) or later of thumbpdf as -% earlier versions will not work properly with recent versions of pdfTeX -% (1.20a and later). - - -% NOTE: PDF hyperlink and bookmark features are not required in IEEE -% papers and their use requires extra complexity and work. -% *** IF USING HYPERREF BE SURE AND CHANGE THE EXAMPLE PDF *** -% *** TITLE/SUBJECT/AUTHOR/KEYWORDS INFO BELOW!! *** -\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true, -pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true, -colorlinks=true,linkcolor={black},citecolor={black},pagecolor={black}, -urlcolor={black}, -pdftitle={Bare Demo of IEEEtran.cls for Computer Society Journals},%.dvi->.ps->.pdf workflow if the respective packages/scripts are -% loaded/invoked with the correct driver options (dvips, etc.). -% As most IEEE papers use URLs sparingly (mainly in the references), this -% may not be as big an issue as with other publications. -% -% That said, recently Vilar Camara Neto introduced his breakurl.sty -% package which permits hyperref to easily break URLs even in dvi -% mode. Note that breakurl, unlike most other packages, must be loaded -% AFTER hyperref. The latest version of breakurl and its documentation can -% be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/breakurl/ -% breakurl.sty is not for use under pdflatex pdf mode. Versions 1.10 -% (September 23, 2005) and later are recommened to avoid bugs in earlier -% releases. -% -% The advanced features offer by hyperref.sty are not required for IEEE -% submission, so users should weigh these features against the added -% complexity of use. Users who wish to use hyperref *must* ensure that -% their hyperref version is 6.72u or later *and* IEEEtran.cls is version -% 1.6b or later. -% The package options above demonstrate how to enable PDF bookmarks -% (a type of table of contents viewable in Acrobat Reader) as well as -% PDF document information (title, subject, author and keywords) that is -% viewable in Acrobat reader's Document_Properties menu. PDF document -% information is also used extensively to automate the cataloging of PDF -% documents. The above set of options ensures that hyperlinks will not be -% colored in the text and thus will not be visible in the printed page, -% but will be active on "mouse over". USING COLORS OR OTHER HIGHLIGHTING -% OF HYPERLINKS CAN RESULT IN DOCUMENT REJECTION BY THE IEEE, especially if -% these appear on the "printed" page. IF IN DOUBT, ASK THE RELEVANT -% SUBMISSION EDITOR. You may need to add the option hypertexnames=false if -% you used duplicate equation numbers, etc., but this should not be needed -% in normal IEEE work. -% The latest version of hyperref and its documentation can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/ - - - - - -% *** Do not adjust lengths that control margins, column widths, etc. *** -% *** Do not use packages that alter fonts (such as pslatex). *** -% There should be no need to do such things with IEEEtran.cls V1.6 and later. -% (Unless specifically asked to do so by the journal or conference you plan -% to submit to, of course. ) - - -% correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} - - -\begin{document} -% -% paper title -% can use linebreaks \\ within to get better formatting as desired -\title{Bare Advanced Demo of IEEEtran.cls\\ for Computer Society Journals} -% -% -% author names and IEEE memberships -% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break -% a structure at a ~ so this keeps an author's name from being broken across -% two lines. -% use \thanks{} to gain access to the first footnote area -% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks -% was not built to handle multiple paragraphs -% -% -%\IEEEcompsocitemizethanks is a special \thanks that produces the bulleted -% lists the Computer Society journals use for "first footnote" author -% affiliations. Use \IEEEcompsocthanksitem which works much like \item -% for each affiliation group. When not in compsoc mode, -% \IEEEcompsocitemizethanks becomes like \thanks and -% \IEEEcompsocthanksitem becomes a line break with idention. This -% facilitates dual compilation, although admittedly the differences in the -% desired content of \author between the different types of papers makes a -% one-size-fits-all approach a daunting prospect. For instance, compsoc -% journal papers have the author affiliations above the "Manuscript -% received ..." text while in non-compsoc journals this is reversed. Sigh. - -\author{Michael~Shell,~\IEEEmembership{Member,~IEEE,} - John~Doe,~\IEEEmembership{Fellow,~OSA,} - and~Jane~Doe,~\IEEEmembership{Life~Fellow,~IEEE}% <-this % stops a space -\IEEEcompsocitemizethanks{\IEEEcompsocthanksitem M. Shell is with the Department -of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, -GA, 30332.\protect\\ -% note need leading \protect in front of \\ to get a newline within \thanks as -% \\ is fragile and will error, could use \hfil\break instead. -E-mail: see http://www.michaelshell.org/contact.html -\IEEEcompsocthanksitem J. Doe and J. Doe are with Anonymous University.}% <-this % stops a space -\thanks{Manuscript received April 19, 2005; revised January 11, 2007.}} - -% note the % following the last \IEEEmembership and also \thanks - -% these prevent an unwanted space from occurring between the last author name -% and the end of the author line. i.e., if you had this: -% -% \author{....lastname \thanks{...} \thanks{...} } -% ^------------^------------^----Do not want these spaces! -% -% a space would be appended to the last name and could cause every name on that -% line to be shifted left slightly. This is one of those "LaTeX things". For -% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get -% "AB" then you have to do: "\textbf{A}\textbf{B}" -% \thanks is no different in this regard, so shield the last } of each \thanks -% that ends a line with a % and do not let a space in before the next \thanks. -% Spaces after \IEEEmembership other than the last one are OK (and needed) as -% you are supposed to have spaces between the names. For what it is worth, -% this is a minor point as most people would not even notice if the said evil -% space somehow managed to creep in. - - - -% The paper headers -\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}% -{Shell \MakeLowercase{\textit{et al.}}: Bare Advanced Demo of IEEEtran.cls for Journals} -% The only time the second header will appear is for the odd numbered pages -% after the title page when using the twoside option. -% -% *** Note that you probably will NOT want to include the author's *** -% *** name in the headers of peer review papers. *** -% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if -% you desire. - - - -% The publisher's ID mark at the bottom of the page is less important with -% Computer Society journal papers as those publications place the marks -% outside of the main text columns and, therefore, unlike regular IEEE -% journals, the available text space is not reduced by their presence. -% If you want to put a publisher's ID mark on the page you can do it like -% this: -%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE} -% or like this to get the Computer Society new two part style. -%\IEEEpubid{\makebox[\columnwidth]{\hfill 0000--0000/00/\$00.00~\copyright~2007 IEEE}% -%\hspace{\columnsep}\makebox[\columnwidth]{Published by the IEEE Computer Society\hfill}} -% Remember, if you use this you must call \IEEEpubidadjcol in the second -% column for its text to clear the IEEEpubid mark (Computer Society jorunal -% papers don't need this extra clearance.) - - - -% use for special paper notices -%\IEEEspecialpapernotice{(Invited Paper)} - - - -% for Computer Society papers, we must declare the abstract and index terms -% PRIOR to the title within the \IEEEcompsoctitleabstractindextext IEEEtran -% command as these need to go into the title area created by \maketitle. -\IEEEcompsoctitleabstractindextext{% -\begin{abstract} -%\boldmath -The abstract goes here. -\end{abstract} -% IEEEtran.cls defaults to using nonbold math in the Abstract. -% This preserves the distinction between vectors and scalars. However, -% if the journal you are submitting to favors bold math in the abstract, -% then you can use LaTeX's standard command \boldmath at the very start -% of the abstract to achieve this. Many IEEE journals frown on math -% in the abstract anyway. In particular, the Computer Society does -% not want either math or citations to appear in the abstract. - -% Note that keywords are not normally used for peerreview papers. -\begin{IEEEkeywords} -Computer Society, IEEEtran, journal, \LaTeX, paper, template. -\end{IEEEkeywords}} - - -% make the title area -\maketitle - - -% To allow for easy dual compilation without having to reenter the -% abstract/keywords data, the \IEEEcompsoctitleabstractindextext text will -% not be used in maketitle, but will appear (i.e., to be "transported") -% here as \IEEEdisplaynotcompsoctitleabstractindextext when compsoc mode -% is not selected if conference mode is selected - because compsoc -% conference papers position the abstract like regular (non-compsoc) -% papers do! -\IEEEdisplaynotcompsoctitleabstractindextext -% \IEEEdisplaynotcompsoctitleabstractindextext has no effect when using -% compsoc under a non-conference mode. - - -% For peer review papers, you can put extra information on the cover -% page as needed: -% \ifCLASSOPTIONpeerreview -% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} -% \fi -% -% For peerreview papers, this IEEEtran command inserts a page break and -% creates the second title. It will be ignored for other modes. -\IEEEpeerreviewmaketitle - - - -\section{Introduction} -% Computer Society journal papers do something a tad strange with the very -% first section heading (almost always called "Introduction"). They place it -% ABOVE the main text! IEEEtran.cls currently does not do this for you. -% However, You can achieve this effect by making LaTeX jump through some -% hoops via something like: -% -%\ifCLASSOPTIONcompsoc -% \noindent\raisebox{2\baselineskip}[0pt][0pt]% -% {\parbox{\columnwidth}{\section{Introduction}\label{sec:introduction}% -% \global\everypar=\everypar}}% -% \vspace{-1\baselineskip}\vspace{-\parskip}\par -%\else -% \section{Introduction}\label{sec:introduction}\par -%\fi -% -% Admittedly, this is a hack and may well be fragile, but seems to do the -% trick for me. Note the need to keep any \label that may be used right -% after \section in the above as the hack puts \section within a raised box. - - - -% The very first letter is a 2 line initial drop letter followed -% by the rest of the first word in caps (small caps for compsoc). -% -% form to use if the first word consists of a single letter: -% \IEEEPARstart{A}{demo} file is .... -% -% form to use if you need the single drop letter followed by -% normal text (unknown if ever used by IEEE): -% \IEEEPARstart{A}{}demo file is .... -% -% Some journals put the first two words in caps: -% \IEEEPARstart{T}{his demo} file is .... -% -% Here we have the typical use of a "T" for an initial drop letter -% and "HIS" in caps to complete the first word. -\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' -for IEEE Computer Society journal papers produced under \LaTeX\ using -IEEEtran.cls version 1.7 and later. -% You must have at least 2 lines in the paragraph with the drop letter -% (should never be an issue) -I wish you the best of success. - -\hfill mds - -\hfill January 11, 2007 - -\subsection{Subsection Heading Here} -Subsection text here. - -% needed in second column of first page if using \IEEEpubid -%\IEEEpubidadjcol - -\subsubsection{Subsubsection Heading Here} -Subsubsection text here. - - -% An example of a floating figure using the graphicx package. -% Note that \label must occur AFTER (or within) \caption. -% For figures, \caption should occur after the \includegraphics. -% Note that IEEEtran v1.7 and later has special internal code that -% is designed to preserve the operation of \label within \caption -% even when the captionsoff option is in effect. However, because -% of issues like this, it may be the safest practice to put all your -% \label just after \caption rather than within \caption{}. -% -% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class -% option should be used if it is desired that the figures are to be -% displayed while in draft mode. -% -%\begin{figure}[!t] -%\centering -%\includegraphics[width=2.5in]{myfigure} -% where an .eps filename suffix will be assumed under latex, -% and a .pdf suffix will be assumed for pdflatex; or what has been declared -% via \DeclareGraphicsExtensions. -%\caption{Simulation Results} -%\label{fig_sim} -%\end{figure} - -% Note that IEEE typically puts floats only at the top, even when this -% results in a large percentage of a column being occupied by floats. -% However, the Computer Society has been known to put floats at the bottom. - - -% An example of a double column floating figure using two subfigures. -% (The subfig.sty package must be loaded for this to work.) -% The subfigure \label commands are set within each subfloat command, the -% \label for the overall figure must come after \caption. -% \hfil must be used as a separator to get equal spacing. -% The subfigure.sty package works much the same way, except \subfigure is -% used instead of \subfloat. -% -%\begin{figure*}[!t] -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% -%\label{fig_first_case}} -%\hfil -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% -%\label{fig_second_case}}} -%\caption{Simulation results} -%\label{fig_sim} -%\end{figure*} -% -% Note that often IEEE papers with subfigures do not employ subfigure -% captions (using the optional argument to \subfloat), but instead will -% reference/describe all of them (a), (b), etc., within the main caption. - - -% An example of a floating table. Note that, for IEEE style tables, the -% \caption command should come BEFORE the table. Table text will default to -% \footnotesize as IEEE normally uses this smaller font for tables. -% The \label must come after \caption as always. -% -%\begin{table}[!t] -%% increase table row spacing, adjust to taste -%\renewcommand{\arraystretch}{1.3} -% if using array.sty, it might be a good idea to tweak the value of -% \extrarowheight as needed to properly center the text within the cells -%\caption{An Example of a Table} -%\label{table_example} -%\centering -%% Some packages, such as MDW tools, offer better commands for making tables -%% than the plain LaTeX2e tabular which is used here. -%\begin{tabular}{|c||c|} -%\hline -%One & Two\\ -%\hline -%Three & Four\\ -%\hline -%\end{tabular} -%\end{table} - - -% Note that IEEE does not put floats in the very first column - or typically -% anywhere on the first page for that matter. Also, in-text middle ("here") -% positioning is not used. Most IEEE journals use top floats exclusively. -% However, Computer Society journals sometimes do use bottom floats - bear -% this in mind when choosing appropriate optional arguments for the -% figure/table environments. -% Note that, LaTeX2e, unlike IEEE journals, places footnotes above bottom -% floats. This can be corrected via the \fnbelowfloat command of the -% stfloats package. - - - -\section{Conclusion} -The conclusion goes here. - - - - - -% if have a single appendix: -%\appendix[Proof of the Zonklar Equations] -% or -%\appendix % for no appendix heading -% do not use \section anymore after \appendix, only \section* -% is possibly needed - -% use appendices with more than one appendix -% then use \section to start each appendix -% you must declare a \section before using any -% \subsection or using \label (\appendices by itself -% starts a section numbered zero.) -% - - -\appendices -\section{Proof of the First Zonklar Equation} -Appendix one text goes here. - -% you can choose not to have a title for an appendix -% if you want by leaving the argument blank -\section{} -Appendix two text goes here. - - -% use section* for acknowledgement -\ifCLASSOPTIONcompsoc - % The Computer Society usually uses the plural form - \section*{Acknowledgments} -\else - % regular IEEE prefers the singular form - \section*{Acknowledgment} -\fi - - -The authors would like to thank... - - -% Can use something like this to put references on a page -% by themselves when using endfloat and the captionsoff option. -\ifCLASSOPTIONcaptionsoff - \newpage -\fi - - - -% trigger a \newpage just before the given reference -% number - used to balance the columns on the last page -% adjust value as needed - may need to be readjusted if -% the document is modified later -%\IEEEtriggeratref{8} -% The "triggered" command can be changed if desired: -%\IEEEtriggercmd{\enlargethispage{-5in}} - -% references section - -% can use a bibliography generated by BibTeX as a .bbl file -% BibTeX documentation can be easily obtained at: -% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/ -% The IEEEtran BibTeX style support page is at: -% http://www.michaelshell.org/tex/ieeetran/bibtex/ -%\bibliographystyle{IEEEtran} -% argument is your BibTeX string definitions and bibliography database(s) -%\bibliography{IEEEabrv,../bib/paper} -% -% manually copy in the resultant .bbl file -% set second argument of \begin to the number of references -% (used to reserve space for the reference number labels box) -\begin{thebibliography}{1} - -\bibitem{IEEEhowto:kopka} -H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus - 0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. - -\end{thebibliography} - -% biography section -% -% If you have an EPS/PDF photo (graphicx package needed) extra braces are -% needed around the contents of the optional argument to biography to prevent -% the LaTeX parser from getting confused when it sees the complicated -% \includegraphics command within an optional argument. (You could create -% your own custom macro containing the \includegraphics command to make things -% simpler here.) -%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell} -% or if you just want to reserve a space for a photo: - -\begin{IEEEbiography}{Michael Shell} -Biography text here. -\end{IEEEbiography} - -% if you will not have a photo at all: -\begin{IEEEbiographynophoto}{John Doe} -Biography text here. -\end{IEEEbiographynophoto} - -% insert where needed to balance the two columns on the last page with -% biographies -%\newpage - -\begin{IEEEbiographynophoto}{Jane Doe} -Biography text here. -\end{IEEEbiographynophoto} - -% You can push biographies down or up by placing -% a \vfill before or after them. The appropriate -% use of \vfill depends on what kind of text is -% on the last page and whether or not the columns -% are being equalized. - -%\vfill - -% Can be used to pull up biographies so that the bottom of the last one -% is flush with the other column. -%\enlargethispage{-5in} - - - -% that's all folks -\end{document} - - diff --git a/bare_conf.aux b/bare_conf.aux deleted file mode 100644 index 7532109..0000000 --- a/bare_conf.aux +++ /dev/null @@ -1,53 +0,0 @@ -\relax -\citation{asc02} -\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}} -\@writefile{toc}{\contentsline {section}{\numberline {II}\uppercase {Related work}}{1}} -\newlabel{rw}{{II}{1}} -\citation{Gallais06} -\citation{Tian02} -\citation{Ye03} -\citation{Zhang05} -\citation{HeinzelmanCB02} -\citation{Berman05efficientenergy} -\citation{1240799} -\citation{Tian02} -\citation{Prasad:2007:DAL:1782174.1782218} -\citation{chin2007} -\citation{Huang:2003:CPW:941350.941367} -\citation{Ye03} -\citation{cardei05} -\citation{Cardei:2006:ECP:1646656.1646898} -\citation{Slijepcevic01powerefficient} -\citation{cardei02} -\citation{Abrams:2004:SKA:984622.984684} -\citation{Slijepcevic01powerefficient} -\citation{Cardei:2005:IWS:1160086.1160098} -\citation{Slijepcevic01powerefficient} -\citation{Zorbas2007} -\citation{Slijepcevic01powerefficient} -\citation{Manju2011} -\citation{cardei05bis} -\citation{Cardei:2005:IWS:1160086.1160098} -\citation{berman04} -\citation{garg98} -\citation{pc10} -\citation{pc10} -\@writefile{toc}{\contentsline {section}{\numberline {III}\uppercase {Distributed coverage model}}{3}} -\newlabel{pd}{{III}{3}} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Multi-Round Coverage Protocol\relax }}{3}} -\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} -\newlabel{fig:4}{{1}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-A}}\textbf INFO Exchange Phase}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-B}}\textbf Leader Election Phase}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-C}}\textbf Decision Phase}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-D}}\textbf Sensing Phase}{3}} -\citation{Zhang05} -\citation{pedraza2006} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Wireless Sensor node represented by 13 principle points \relax }}{4}} -\newlabel{fig3}{{2}{4}} -\@writefile{toc}{\contentsline {section}{\numberline {IV}\uppercase {Coverage problem formulation}}{4}} -\newlabel{cp}{{IV}{4}} -\newlabel{eq13}{{3}{4}} -\newlabel{eq14}{{4}{4}} -\newlabel{eq:ip2r}{{5}{4}} -\citation{HeinzelmanCB02} diff --git a/bare_conf.log b/bare_conf.log deleted file mode 100644 index be0b2fa..0000000 --- a/bare_conf.log +++ /dev/null @@ -1,1015 +0,0 @@ -This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.7.11) 30 JUL 2013 21:23 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**bare_conf -(./bare_conf.tex -LaTeX2e <2011/06/27> -Babel and hyphenation patterns for english, dumylang, nohyphenation, lo -aded. -(./IEEEtran.cls -Document Class: IEEEtran 2012/11/21 V1.8c by Harald Hanche-Olsen and Anders Chr -istensen --- Based on V1.7a by Michael Shell --- See the "IEEEtran_HOWTO" manual for usage information. --- http://www.michaelshell.org/tex/ieeetran/ -\@IEEEtrantmpdimenA=\dimen102 -\@IEEEtrantmpdimenB=\dimen103 -\@IEEEtrantmpcountA=\count79 -\@IEEEtrantmpcountB=\count80 -\@IEEEtrantmptoksA=\toks14 -LaTeX Font Info: Try loading font information for OT1+ptm on input line 373. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd -File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. -) --- Using 8.5in x 11in (letter) paper. --- Using PDF output. -\@IEEEnormalsizeunitybaselineskip=\dimen104 --- This is a 10 point document. -\CLASSINFOnormalsizebaselineskip=\dimen105 -\CLASSINFOnormalsizeunitybaselineskip=\dimen106 -\IEEEnormaljot=\dimen107 -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <5> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <5> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <7> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <8> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <8> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <9> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <10> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <11> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <11> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <12> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <17> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <17> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <20> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <20> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <24> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 731. -LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <24> not available -(Font) Font shape `OT1/ptm/b/it' tried instead on input line 731. -\IEEEilabelindentA=\dimen108 -\IEEEilabelindentB=\dimen109 -\IEEEilabelindent=\dimen110 -\IEEEelabelindent=\dimen111 -\IEEEdlabelindent=\dimen112 -\IEEElabelindent=\dimen113 -\IEEEiednormlabelsep=\dimen114 -\IEEEiedmathlabelsep=\dimen115 -\IEEEiedtopsep=\skip41 -\c@section=\count81 -\c@subsection=\count82 -\c@subsubsection=\count83 -\c@paragraph=\count84 -\c@IEEEsubequation=\count85 -\abovecaptionskip=\skip42 -\belowcaptionskip=\skip43 -\c@figure=\count86 -\c@table=\count87 -\@IEEEeqnnumcols=\count88 -\@IEEEeqncolcnt=\count89 -\@IEEEtmpitemindent=\dimen116 -\c@IEEEbiography=\count90 -\@IEEEtranrubishbin=\box26 -) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count91 -\float@exts=\toks15 -\float@box=\box27 -\@float@everytoks=\toks16 -\@floatcapt=\box28 -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty -Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 1999/03/16 v1.13 key=value parser (DPC) -\KV@toks@=\toks17 -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live -) -Package graphics Info: Driver file: pdftex.def on input line 91. - -(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) -) -\Gread@gobject=\count92 -)) -\Gin@req@height=\dimen117 -\Gin@req@width=\dimen118 -) -\epsfxsize=\dimen119 -\epsfysize=\dimen120 -) -(/usr/share/texlive/texmf-dist/tex/latex/subfigure/subfigure.sty -Package: subfigure 2002/03/15 v2.1.5 subfigure package -\subfigtopskip=\skip44 -\subfigcapskip=\skip45 -\subfigcaptopadj=\dimen121 -\subfigbottomskip=\skip46 -\subfigcapmargin=\dimen122 -\subfiglabelskip=\skip47 -\c@subfigure=\count93 -\c@lofdepth=\count94 -\c@subtable=\count95 -\c@lotdepth=\count96 - -**************************************** -* Local config file subfigure.cfg used * -**************************************** -(/usr/share/texlive/texmf-dist/tex/latex/subfigure/subfigure.cfg) -\subfig@top=\skip48 -\subfig@bottom=\skip49 -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty -Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ) -\calc@Acount=\count97 -\calc@Bcount=\count98 -\calc@Adimen=\dimen123 -\calc@Bdimen=\dimen124 -\calc@Askip=\skip50 -\calc@Bskip=\skip51 -LaTeX Info: Redefining \setlength on input line 76. -LaTeX Info: Redefining \addtolength on input line 77. -\calc@Ccount=\count99 -\calc@Cskip=\skip52 -) -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) -) -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2009/06/22 v3.00 - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support -\@emptytoks=\toks18 -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 96. -)) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2000/07/18 v2.13 AMS math features -\@mathmargin=\skip53 - -For additional information on amsmath, use the `?' option. -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -Package: amstext 2000/06/29 v2.01 - -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 -\@emptytoks=\toks19 -\ex@=\dimen125 -)) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d -\pmbraise@=\dimen126 -) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -Package: amsopn 1999/12/14 v2.01 operator names -) -\inf@bad=\count100 -LaTeX Info: Redefining \frac on input line 211. -\uproot@=\count101 -\leftroot@=\count102 -LaTeX Info: Redefining \overline on input line 307. -\classnum@=\count103 -\DOTSCASE@=\count104 -LaTeX Info: Redefining \ldots on input line 379. -LaTeX Info: Redefining \dots on input line 382. -LaTeX Info: Redefining \cdots on input line 467. -\Mathstrutbox@=\box29 -\strutbox@=\box30 -\big@size=\dimen127 -LaTeX Font Info: Redeclaring font encoding OML on input line 567. -LaTeX Font Info: Redeclaring font encoding OMS on input line 568. -\macc@depth=\count105 -\c@MaxMatrixCols=\count106 -\dotsspace@=\muskip10 -\c@parentequation=\count107 -\dspbrk@lvl=\count108 -\tag@help=\toks20 -\row@=\count109 -\column@=\count110 -\maxfields@=\count111 -\andhelp@=\toks21 -\eqnshift@=\dimen128 -\alignsep@=\dimen129 -\tagshift@=\dimen130 -\tagwidth@=\dimen131 -\totwidth@=\dimen132 -\lineht@=\dimen133 -\@envbody=\toks22 -\multlinegap=\skip54 -\multlinetaggap=\skip55 -\mathdisplay@stack=\toks23 -LaTeX Info: Redefining \[ on input line 2666. -LaTeX Info: Redefining \] on input line 2667. -) -(/usr/share/texlive/texmf-dist/tex/latex/base/latexsym.sty -Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) -\symlasy=\mathgroup6 -LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' -(Font) U/lasy/m/n --> U/lasy/b/n on input line 47. -) -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/txfonts.sty -Package: txfonts 2008/01/22 v3.2.1 -LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. -LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. -\symitalic=\mathgroup7 -LaTeX Font Info: Overwriting symbol font `italic' in version `bold' -(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. -LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. -LaTeX Font Info: Overwriting symbol font `letters' in version `normal' -(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. -\symlettersA=\mathgroup8 -LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' -(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. -LaTeX Font Info: Redeclaring math alphabet \mathfrak on input line 70. -LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. -LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' -(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. -LaTeX Font Info: Redeclaring symbol font `AMSa' on input line 93. -LaTeX Font Info: Overwriting symbol font `AMSa' in version `normal' -(Font) U/msa/m/n --> U/txsya/m/n on input line 93. -LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' -(Font) U/msa/m/n --> U/txsya/m/n on input line 93. -LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' -(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. -LaTeX Font Info: Redeclaring symbol font `AMSb' on input line 102. -LaTeX Font Info: Overwriting symbol font `AMSb' in version `normal' -(Font) U/msb/m/n --> U/txsyb/m/n on input line 102. -LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' -(Font) U/msb/m/n --> U/txsyb/m/n on input line 102. -LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' -(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. -\symsymbolsC=\mathgroup9 -LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' -(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. -LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' -(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. -\symlargesymbolsA=\mathgroup10 -LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' -(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. -LaTeX Info: Redefining \not on input line 1043. -) -(./algorithmic.sty -Package: algorithmic 2006/06/02 - -Document Style `algorithmic' - environment -(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) -) -\c@ALC@line=\count112 -\c@ALC@rem=\count113 -\c@ALC@depth=\count114 -\ALC@tlm=\skip56 -\algorithmicindent=\skip57 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2005/09/27 v1.99g Standard LaTeX package - -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def -File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file -LaTeX Font Info: Redeclaring font encoding T1 on input line 43. -) -LaTeX Font Info: Try loading font information for T1+ptm on input line 100. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd -File: t1ptm.fd 2001/06/04 font definitions for T1/ptm. -)) -(/usr/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty -(/usr/share/texmf/tex/latex/pgf/basiclayer/pgf.sty -(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty -(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex -\pgfutil@everybye=\toks24 -) -(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def -\pgfutil@abb=\box31 - -(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty -Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) -)) -(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex -Package: pgfrcs 2010/10/25 v2.10 (rcs-revision 1.24) -)) -Package: pgf 2008/01/15 v2.10 (rcs-revision 1.12) - -(/usr/share/texmf/tex/latex/pgf/basiclayer/pgfcore.sty -(/usr/share/texmf/tex/latex/pgf/systemlayer/pgfsys.sty -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys.code.tex -Package: pgfsys 2010/06/30 v2.10 (rcs-revision 1.37) - -(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex -\pgfkeys@pathtoks=\toks25 -\pgfkeys@temptoks=\toks26 - -(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex -\pgfkeys@tmptoks=\toks27 -)) -\pgf@x=\dimen134 -\pgf@y=\dimen135 -\pgf@xa=\dimen136 -\pgf@ya=\dimen137 -\pgf@xb=\dimen138 -\pgf@yb=\dimen139 -\pgf@xc=\dimen140 -\pgf@yc=\dimen141 -\w@pgf@writea=\write3 -\r@pgf@reada=\read1 -\c@pgf@counta=\count115 -\c@pgf@countb=\count116 -\c@pgf@countc=\count117 -\c@pgf@countd=\count118 - -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgf.cfg -File: pgf.cfg 2008/05/14 (rcs-revision 1.7) -) -Package pgfsys Info: Driver file for pgf: pgfsys-pdftex.def on input line 900. - -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def -File: pgfsys-pdftex.def 2009/05/22 (rcs-revision 1.26) - -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def -File: pgfsys-common-pdf.def 2008/05/19 (rcs-revision 1.10) -))) -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex -File: pgfsyssoftpath.code.tex 2008/07/18 (rcs-revision 1.7) -\pgfsyssoftpath@smallbuffer@items=\count119 -\pgfsyssoftpath@bigbuffer@items=\count120 -) -(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex -File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) -)) -(/usr/share/texmf/tex/latex/xcolor/xcolor.sty -Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive -) -Package xcolor Info: Driver file: pdftex.def on input line 225. -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. -Package xcolor Info: Model `RGB' extended on input line 1353. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcore.code.tex -Package: pgfcore 2010/04/11 v2.10 (rcs-revision 1.7) - -(/usr/share/texmf/tex/generic/pgf/math/pgfmath.code.tex -(/usr/share/texmf/tex/generic/pgf/math/pgfmathcalc.code.tex -(/usr/share/texmf/tex/generic/pgf/math/pgfmathutil.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathparser.code.tex -\pgfmath@dimen=\dimen142 -\pgfmath@count=\count121 -\pgfmath@box=\box32 -\pgfmath@toks=\toks28 -\pgfmath@stack@operand=\toks29 -\pgfmath@stack@operation=\toks30 -) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.code.tex -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex))) -(/usr/share/texmf/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count122 -)) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex -File: pgfcorepoints.code.tex 2010/04/09 (rcs-revision 1.20) -\pgf@picminx=\dimen143 -\pgf@picmaxx=\dimen144 -\pgf@picminy=\dimen145 -\pgf@picmaxy=\dimen146 -\pgf@pathminx=\dimen147 -\pgf@pathmaxx=\dimen148 -\pgf@pathminy=\dimen149 -\pgf@pathmaxy=\dimen150 -\pgf@xx=\dimen151 -\pgf@xy=\dimen152 -\pgf@yx=\dimen153 -\pgf@yy=\dimen154 -\pgf@zx=\dimen155 -\pgf@zy=\dimen156 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex -File: pgfcorepathconstruct.code.tex 2010/08/03 (rcs-revision 1.24) -\pgf@path@lastx=\dimen157 -\pgf@path@lasty=\dimen158 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex -File: pgfcorepathusage.code.tex 2008/04/22 (rcs-revision 1.12) -\pgf@shorten@end@additional=\dimen159 -\pgf@shorten@start@additional=\dimen160 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex -File: pgfcorescopes.code.tex 2010/09/08 (rcs-revision 1.34) -\pgfpic=\box33 -\pgf@hbox=\box34 -\pgf@layerbox@main=\box35 -\pgf@picture@serial@count=\count123 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex -File: pgfcoregraphicstate.code.tex 2008/04/22 (rcs-revision 1.9) -\pgflinewidth=\dimen161 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex -File: pgfcoretransformations.code.tex 2009/06/10 (rcs-revision 1.11) -\pgf@pt@x=\dimen162 -\pgf@pt@y=\dimen163 -\pgf@pt@temp=\dimen164 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex -File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex -File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex -File: pgfcorepathprocessing.code.tex 2008/10/09 (rcs-revision 1.8) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex -File: pgfcorearrows.code.tex 2008/04/23 (rcs-revision 1.11) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex -File: pgfcoreshade.code.tex 2008/11/23 (rcs-revision 1.13) -\pgf@max=\dimen165 -\pgf@sys@shading@range@num=\count124 -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex -File: pgfcoreimage.code.tex 2010/03/25 (rcs-revision 1.16) - -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex -File: pgfcoreexternal.code.tex 2010/09/01 (rcs-revision 1.17) -\pgfexternal@startupbox=\box36 -)) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex -File: pgfcorelayers.code.tex 2010/08/27 (rcs-revision 1.2) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex -File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2) -) -(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex -File: pgfcorepatterns.code.tex 2009/07/02 (rcs-revision 1.3) -))) -(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex -File: pgfmoduleshapes.code.tex 2010/09/09 (rcs-revision 1.13) -\pgfnodeparttextbox=\box37 -) -(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex -File: pgfmoduleplot.code.tex 2010/10/22 (rcs-revision 1.8) -) -(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty -Package: pgfcomp-version-0-65 2007/07/03 v2.10 (rcs-revision 1.7) -\pgf@nodesepstart=\dimen166 -\pgf@nodesepend=\dimen167 -) -(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty -Package: pgfcomp-version-1-18 2007/07/23 v2.10 (rcs-revision 1.1) -)) -(/usr/share/texmf/tex/latex/pgf/utilities/pgffor.sty -(/usr/share/texmf/tex/latex/pgf/utilities/pgfkeys.sty -(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex)) -(/usr/share/texmf/tex/generic/pgf/utilities/pgffor.code.tex -Package: pgffor 2010/03/23 v2.10 (rcs-revision 1.18) -\pgffor@iter=\dimen168 -\pgffor@skip=\dimen169 -\pgffor@stack=\toks31 -\pgffor@toks=\toks32 -)) -(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex -Package: tikz 2010/10/13 v2.10 (rcs-revision 1.76) - -(/usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex -File: pgflibraryplothandlers.code.tex 2010/05/31 v2.10 (rcs-revision 1.15) -\pgf@plot@mark@count=\count125 -\pgfplotmarksize=\dimen170 -) -\tikz@lastx=\dimen171 -\tikz@lasty=\dimen172 -\tikz@lastxsaved=\dimen173 -\tikz@lastysaved=\dimen174 -\tikzleveldistance=\dimen175 -\tikzsiblingdistance=\dimen176 -\tikz@figbox=\box38 -\tikz@tempbox=\box39 -\tikztreelevel=\count126 -\tikznumberofchildren=\count127 -\tikznumberofcurrentchild=\count128 -\tikz@fig@count=\count129 - -(/usr/share/texmf/tex/generic/pgf/modules/pgfmodulematrix.code.tex -File: pgfmodulematrix.code.tex 2010/08/24 (rcs-revision 1.4) -\pgfmatrixcurrentrow=\count130 -\pgfmatrixcurrentcolumn=\count131 -\pgf@matrix@numberofcolumns=\count132 -) -\tikz@expandcount=\count133 - -(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopat -hs.code.tex -File: tikzlibrarytopaths.code.tex 2008/06/17 v2.10 (rcs-revision 1.2) -))) (/usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty -Package: xspace 2009/10/20 v1.13 Space after command names (DPC,MH) -) -(./algorithm2e.sty -Package: algorithm2e 2013/01/06 v5.00 algorithms environments -\c@AlgoLine=\count134 - (/usr/share/texlive/texmf-dist/tex/latex/relsize/relsize.sty -Package: relsize 2011/09/21 ver 4.0 -Examine \normalsize starts \@setfontsize size may be 10. -Examine \small starts \@setfontsize size may be 9. -Examine \footnotesize starts \@setfontsize size may be 8. -Examine \large starts \@setfontsize size may be 12. -Examine \Large starts \@setfontsize size may be 14. -Examine \LARGE starts \@setfontsize size may be 17. -Examine \scriptsize starts \@setfontsize size may be 7. -Examine \tiny starts \@setfontsize size may be 5. -Examine \huge starts \@setfontsize size may be 20. -Examine \Huge starts \@setfontsize size may be 24. ) -******************************************************** -Package `algorithm2e' Release 5.0 -- january 06 2013 -- -- algorithm2e-announce@lirmm.fr mailing list for announcement about releases -- algorithm2e-discussion@lirmm.fr mailing list for discussion about package -subscribe by emailing sympa@lirmm.fr with 'subscribe ' -- Author: Christophe Fiorio (cfiorio@um2.fr) -******************************************************** -\skiptotal=\skip58 -\skiplinenumber=\skip59 -\skiprule=\skip60 -\skiphlne=\skip61 -\skiptext=\skip62 -\skiplength=\skip63 -\algomargin=\skip64 -\skipalgocfslide=\skip65 -\algowidth=\dimen177 -\inoutsize=\dimen178 -\inoutindent=\dimen179 -\interspacetitleruled=\dimen180 -\interspacealgoruled=\dimen181 -\interspacetitleboxruled=\dimen182 -\algocf@inoutbox=\box40 -\algocf@inputbox=\box41 -\AlCapSkip=\skip66 -\AlCapHSkip=\skip67 -\algoskipindent=\skip68 -\algocf@nlbox=\box42 -\algocf@hangingbox=\box43 -\algocf@untilbox=\box44 -\algocf@skipuntil=\skip69 -\algocf@capbox=\box45 -\algoheightruledefault=\skip70 -\algoheightrule=\skip71 -\algotitleheightruledefault=\skip72 -\algotitleheightrule=\skip73 -\c@algocfline=\count135 -\c@algocfproc=\count136 -\c@algocf=\count137 -\algocf@algoframe=\box46 -\algocf@algobox=\box47 -) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2012/02/19 v3.2f Customizing captions (AR) - -(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2012/01/12 v1.4b caption3 kernel (AR) -\captionmargin=\dimen183 -\captionmargin@=\dimen184 -\captionwidth=\dimen185 -\caption@indent=\dimen186 -\caption@parindent=\dimen187 -\caption@hangindent=\dimen188 -Package caption Info: Unknown document class (or package), -(caption) standard defaults will be used. -) - -Package caption Warning: Unsupported document class (or package) detected, -(caption) usage of the caption package is not recommended. -See the caption package documentation for explanation. - -Package caption Info: \@makecaption = \long macro:#1#2->\ifx \@captype \@IEEEta -blestring \footnotesize {\centering \normalfont \footnotesize #1.\qquad \scshap -e #2\par }\@IEEEtablecaptionsepspace \else \@IEEEfigurecaptionsepspace \setbox -\@tempboxa \hbox {\normalfont \footnotesize {#1.}~~ #2}\ifdim \wd \@tempboxa >\ -hsize \setbox \@tempboxa \hbox {\normalfont \footnotesize {#1.}~~ }\parbox [t]{ -\hsize }{\normalfont \footnotesize \noindent \unhbox \@tempboxa #2}\else \ifCLA -SSOPTIONconference \hbox to\hsize {\normalfont \footnotesize \box \@tempboxa \h -fil }\else \hbox to\hsize {\normalfont \footnotesize \box \@tempboxa \hfil }\fi - \fi \fi . -\c@ContinuedFloat=\count138 -Package caption Info: float package is loaded. -Package caption Info: subfigure package is loaded. -) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty -Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi) -\c@tracingmulticols=\count139 -\mult@box=\box48 -\multicol@leftmargin=\dimen189 -\c@unbalance=\count140 -\c@collectmore=\count141 -\doublecol@number=\count142 -\multicoltolerance=\count143 -\multicolpretolerance=\count144 -\full@width=\dimen190 -\page@free=\dimen191 -\premulticols=\dimen192 -\postmulticols=\dimen193 -\multicolsep=\skip74 -\multicolbaselineskip=\skip75 -\partial@page=\box49 -\last@line=\box50 -\mult@rightbox=\box51 -\mult@grightbox=\box52 -\mult@gfirstbox=\box53 -\mult@firstbox=\box54 -\@tempa=\box55 -\@tempa=\box56 -\@tempa=\box57 -\@tempa=\box58 -\@tempa=\box59 -\@tempa=\box60 -\@tempa=\box61 -\@tempa=\box62 -\@tempa=\box63 -\@tempa=\box64 -\@tempa=\box65 -\@tempa=\box66 -\@tempa=\box67 -\@tempa=\box68 -\@tempa=\box69 -\@tempa=\box70 -\@tempa=\box71 -\c@columnbadness=\count145 -\c@finalcolumnbadness=\count146 -\last@try=\dimen194 -\multicolovershoot=\dimen195 -\multicolundershoot=\dimen196 -\mult@nat@firstbox=\box72 -\colbreak@box=\box73 -\multicol@sort@counter=\count147 -) (./bare_conf.aux - -LaTeX Warning: Label `fig3' multiply defined. - -) -\openout1 = `bare_conf.aux'. - -LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 37. -LaTeX Font Info: Try loading font information for OML+txmi on input line 37. - - (/usr/share/texlive/texmf-dist/tex/latex/txfonts/omltxmi.fd -File: omltxmi.fd 2000/12/15 v3.1 -) -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 37. -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 37. -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 37. -LaTeX Font Info: Try loading font information for OMS+txsy on input line 37. - - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/omstxsy.fd -File: omstxsy.fd 2000/12/15 v3.1 -) -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 37. -LaTeX Font Info: Try loading font information for OMX+txex on input line 37. - - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/omxtxex.fd -File: omxtxex.fd 2000/12/15 v3.1 -) -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 37. -LaTeX Font Info: Try loading font information for U+txexa on input line 37. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxexa.fd -File: utxexa.fd 2000/12/15 v3.1 -) -LaTeX Font Info: ... okay on input line 37. -LaTeX Font Info: Try loading font information for T1+txr on input line 37. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/t1txr.fd -File: t1txr.fd 2000/12/15 v3.1 -) -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count148 -\scratchdimen=\dimen197 -\scratchbox=\box74 -\nofMPsegments=\count149 -\nofMParguments=\count150 -\everyMPshowfont=\toks33 -\MPscratchCnt=\count151 -\MPscratchDim=\dimen198 -\MPnumerator=\count152 -\makeMPintoPDFobject=\count153 -\everyMPtoPDFconversion=\toks34 -) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO -) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) -Package ifpdf Info: pdfTeX in PDF mode is detected. -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf - -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) -)) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) -Package grfext Info: Graphics extension search list: -(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 452. - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -ABD: EveryShipout initializing macros -Package caption Info: Begin \AtBeginDocument code. -Package caption Info: End \AtBeginDocument code. -LaTeX Font Info: Try loading font information for OT1+txr on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/ot1txr.fd -File: ot1txr.fd 2000/12/15 v3.1 -) -LaTeX Font Info: Try loading font information for U+txsya on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsya.fd -File: utxsya.fd 2000/12/15 v3.1 -) -LaTeX Font Info: Try loading font information for U+txsyb on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsyb.fd -File: utxsyb.fd 2000/12/15 v3.1 -) -LaTeX Font Info: Try loading font information for U+lasy on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/base/ulasy.fd -File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions -) -LaTeX Font Info: Try loading font information for U+txmia on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxmia.fd -File: utxmia.fd 2000/12/15 v3.1 -) -LaTeX Font Info: Try loading font information for U+txsyc on input line 59. - -(/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsyc.fd -File: utxsyc.fd 2000/12/15 v3.1 -) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} - - -] -Underfull \hbox (badness 1436) in paragraph at lines 134--138 -\T1/txr/m/n/10 where each round has a self-scheduling phase fol-lowed - [] - - -Underfull \hbox (badness 2103) in paragraph at lines 134--138 -\T1/txr/m/n/10 and net-work life-time is max-i-mized while the cov-er-age - [] - - -Underfull \hbox (badness 1436) in paragraph at lines 134--138 -\T1/txr/m/n/10 re-quire-ments be-ing main-tained. This al-go-rithm works in - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 134--138 - - [] - -[2] -Package epstopdf Info: Source file: -(epstopdf) date: 2013-07-30 21:23:32 -(epstopdf) size: 886264 bytes -(epstopdf) Output file: -(epstopdf) Command: -(epstopdf) \includegraphics on input line 209. -runsystem(repstopdf --outfile=FirstModel-eps-converted-to.pdf FirstModel.eps).. -.executed safely (allowed). - -Package epstopdf Info: Result file: -(epstopdf) date: 2013-07-30 21:23:42 -(epstopdf) size: 50483 bytes. - -File: FirstModel-eps-converted-to.pdf Graphic file (type pdf) - - -Package pdftex.def Info: FirstModel-eps-converted-to.pdf used on input line 209 -. -(pdftex.def) Requested size: 199.16928pt x 47.7457pt. - -Underfull \hbox (badness 10000) in paragraph at lines 235--239 - - [] - -[3 <./FirstModel-eps-converted-to.pdf>] -Package epstopdf Info: Source file: -(epstopdf) date: 2013-07-30 21:23:32 -(epstopdf) size: 166031 bytes -(epstopdf) Output file: -(epstopdf) date: 2013-07-30 21:23:32 -(epstopdf) size: 57812 bytes -(epstopdf) Command: -(epstopdf) \includegraphics on input line 289. -Package epstopdf Info: Output file is already uptodate. - - -File: principles13-eps-converted-to.pdf Graphic file (type pdf) - - -Package pdftex.def Info: principles13-eps-converted-to.pdf used on input line 2 -89. -(pdftex.def) Requested size: 158.99118pt x 122.85681pt. - -Underfull \hbox (badness 10000) in paragraph at lines 298--313 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 325--327 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 344--346 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 358--360 - - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 370--371 - - [] - -[4 <./principles13-eps-converted-to.pdf>] - -LaTeX Warning: File `CR2R2L_1.eps' not found on input line 437. - -Package epstopdf Info: Source file: -(epstopdf) Output file: -(epstopdf) Command: -(epstopdf) \includegraphics on input line 437. -Package epstopdf Info: Output file is already uptodate. - -! Package pdftex.def Error: File `CR2R2L_1-eps-converted-to.pdf' not found. - -See the pdftex.def package documentation for explanation. -Type H for immediate help. - ... - -l.437 \includegraphics[scale=0.5]{CR2R2L_1.eps} - \\~ ~ ~(a) -? x - -Here is how much of TeX's memory you used: - 15032 strings out of 495059 - 262900 string characters out of 3182030 - 334138 words of memory out of 3000000 - 17876 multiletter control sequences out of 15000+200000 - 123570 words of font info for 153 fonts, out of 3000000 for 9000 - 17 hyphenation exceptions out of 8191 - 56i,9n,55p,1070b,283s stack positions out of 5000i,500n,10000p,200000b,50000s -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on bare_conf.pdf (4 pages, 192349 bytes). -PDF statistics: - 73 PDF objects out of 1000 (max. 8388607) - 48 compressed objects within 1 object stream - 0 named destinations out of 1000 (max. 500000) - 11 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/bare_conf.pdf b/bare_conf.pdf deleted file mode 100644 index 6188f85..0000000 Binary files a/bare_conf.pdf and /dev/null differ