summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/yagusylo/yagusylo.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/yagusylo/yagusylo.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/yagusylo/yagusylo.sty')
-rw-r--r--macros/latex/contrib/yagusylo/yagusylo.sty561
1 files changed, 561 insertions, 0 deletions
diff --git a/macros/latex/contrib/yagusylo/yagusylo.sty b/macros/latex/contrib/yagusylo/yagusylo.sty
new file mode 100644
index 0000000000..bcef7dad25
--- /dev/null
+++ b/macros/latex/contrib/yagusylo/yagusylo.sty
@@ -0,0 +1,561 @@
+%%
+%% This is file `yagusylo.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% yagusylo.dtx (with options: `package,en')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 Y. Henel alias le TeXnicien de surface
+%% <le.texnicien.de.surface@wanadoo.fr>
+%%
+%% This file 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.
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\def\fileversion{v1.2}
+\def\filedate{2009/02/26}
+\def\docdate{2009/02/26}
+\def\fileinfo{Yet Another Grand Unified Symbols Loader
+ par Le TeXnicien de surface}
+\ProvidesPackage{yagusylo}
+ [\filedate\space\fileversion\space\fileinfo]
+\RequirePackage{xifthen}
+\RequirePackage{suffix}
+\RequirePackage{xargs}
+\newcommand*{\Y@GINFO}[2][]{}
+\newcommand*{\Y@GWARNING}[3]{}
+\define@choicekey*+[Y@G]{yagusylo.sty}{symfam}[\Y@G@SymFamChoice\nr]%
+ {marvosym,fourier,wasysym,bbding,dingbat,ark,ifsym,ifsymgeo,%
+ ifsymgeonarrow,ifsymgeowide,ifsymclock,ifsymweather,pifont}%
+ [pifont]%
+ {\Y@GINFO{You choose \Y@G@SymFamChoice}}%
+ {\PackageError{yagusylo}%
+ {The symbols family ``\Y@G@SymFamChoice'' is not yet known.}
+ {I don't know the family you required.\MessageBreak
+ If it's not a typo you may consider to contact me
+ (TdS)\MessageBreak to obtain support for it.}}
+\define@boolkey[Y@G]{yagusylo.sty}[Y@G@]{color}[false]{}
+\define@boolkey[Y@G]{yagusylo.sty}[Y@G@]{configfile}[false]{}
+\define@choicekey*+[Y@G]{yagusylo.sty}{info}[\Y@G@Info\nr]%
+ {mute,normal,verbose}[normal]{}{}
+\define@choicekey*+[Y@G]{yagusylo.sty}{onerror}[\Y@G@OnError\nr]%
+ {nice,tough}[tough]{}{}
+\define@key[Y@G]{yagusylo.sty}{XcolorOptions}[!Y@G!]%
+ {\def\Y@GXcolorOptions{#1}}
+\ExecuteOptionsX[Y@G]{symfam,color,XcolorOptions,info,onerror,configfile}
+\ProcessOptionsX[Y@G]\relax
+\let\nr\relax
+\ifY@G@color
+\ifthenelse{\equal{\Y@GXcolorOptions}{!Y@G!}}
+ {\RequirePackage{xcolor}}
+ {\RequirePackage[\Y@GXcolorOptions]{xcolor}
+ \PackageInfo{yagusylo}{Package xcolor loaded with options:
+ \Y@GXcolorOptions}}
+\define@key[Y@G]{yagusylo.sty}{symcolor}[red]{\def\Y@GSymColor{#1}}
+\setkeys[Y@G]{yagusylo.sty}{symcolor}
+\newcommand\Y@G@Couleur[1]{\color{#1}}
+\else
+\define@key[Y@G]{yagusylo.sty}{symcolor}[]{}
+\newcommand\Y@G@Couleur[1]{\relax}
+\def\Y@GSymColor{\relax}
+\fi
+\disable@keys[Y@G]{yagusylo.sty}{color,onerror,info}
+\newcommand\setyagusylokeys[1]{%
+ \ifthenelse{\equal{#1}{*}}%
+ {\setkeys[Y@G]{yagusylo.sty}{%
+ symfam,symcolor,%
+ leadtype,symplace,sympos,boxwidth,before,after,%
+ head,tail}}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}}
+\AtEndOfPackage{%
+\PackageInfo{yagusylo}{^^J%
+============================================================^^J%
+^^J%
+****************** YAGUSYLO GLOBAL SETUPS ******************^^J%
+^^J%
+===================== GENERAL OPTIONS ======================^^J%
+^^J%
+option ``info'' ......... is ``\Y@G@Info''^^J%
+option ``onerror'' ...... is ``\Y@G@OnError''^^J%
+option ``color'' ........ is \ifY@G@color``true''\else``false''\fi^^J%
+option ``configfile'' ... is \ifY@G@configfile``true''\else``false''\fi^^J%
+^^J%
+-------------------- CHANGEABLE OPTIONS --------------------^^J%
+^^J%
+\ifY@G@color
+option ``symcolor'' ....... is ``\Y@GSymColor''^^J\fi
+option ``symfam'' ......... is ``\Y@G@SymFamChoice''^^J%
+option ``leadtype'' ....... is ``\Y@Gyagfillleadtype''^^J%
+option ``symplace'' ....... is ``\Y@Gyagfillsymplace''^^J%
+option ``sympos'' ......... is ``\Y@Gyagfillsympos''^^J%
+option ``boxwidth'' ....... is ``\Y@Gyagfillboxwidth''^^J%
+option ``before'' ......... is ``\Y@Gyagfillbefore''^^J%
+option ``after'' .......... is ``\Y@Gyagfillafter''^^J%
+option ``head'' ........... is ``\the\Y@Glinehead''^^J%
+option ``tail'' ........... is ``\the\Y@Glinetail''^^J%
+::::::::::::::::: OPTIONS FOR YAGENUMERATE :::::::::::::::::^^J%
+option ``firstitemnum'' ... is ``\number\Y@GEnumFirstItemNum''^^J%
+option ``enumlength'' ..... is ``\number\Y@GEnumLength''^^J%
+\ifY@G@color
+option ``symcolor'' ....... is ``\Y@GEnumSymColor''^^J\fi
+option ``symfam'' ......... is ``\Y@G@EnumSymFamChoice''^^J%
+------------------------------------------------------------^^J%
+^^J%
+The known patterns for environment ``yagenumerate'' are:^^J%
+``piwcr'' (default), ``piwcs'', ``pibcr'', and ``pibcs''.^^J%
+^^J%
+============================================================%
+\@gobbletwo}%
+\ifthenelse{\equal{\Y@G@Info}{verbose}}
+ {\renewcommand*{\Y@GINFO}[2][0]{\PackageInfo{yagusylo}{#2}}}{}%
+\ifthenelse{\equal{\Y@G@Info}{normal}}
+ {\renewcommand*{\Y@GINFO}[2][0]{%
+ \ifthenelse{#1>0}{\PackageInfo{yagusylo}{#2}}}{}}{}%
+ \ifthenelse{\equal{\Y@G@OnError}{tough}}
+ {\renewcommand*{\Y@GWARNING}[3]{\PackageError{yagusylo}{#1}{#3}}}{}
+ \ifthenelse{\equal{\Y@G@OnError}{normal}}
+ {\renewcommand*{\Y@GWARNING}[3]{\PackageError{yagusylo}{#1}{#3}}}{}
+ \ifthenelse{\equal{\Y@G@OnError}{nice}}
+ {\renewcommand*{\Y@GWARNING}[3]{\PackageWarning{yagusylo}{#1#2}}}{}}
+\newcommand\Y@G@U@FamilyDef[1]{\fontencoding{U}\fontfamily{#1}}
+\newcommand\Y@Gif[3]{%
+ \ifthenelse{\equal{#1}{#2}}{\Y@G@U@FamilyDef{#3}}{}}
+\newcommand\Y@GifE[4]{%
+ \ifthenelse{\equal{#1}{#2}}{\Y@G@U@FamilyDef{#3}#4}{}}
+\newcommand\Y@Gyagding[3]{{%
+ \Y@G@GetSymb{#1}\selectfont\Y@G@Couleur{#3}\char#2}}
+\newcommandx\yagding[3][1=\Y@G@SymFamChoice,3=\Y@GSymColor]{{%
+ \Y@G@GetSymb{#1}\selectfont\Y@G@Couleur{#3}\char#2}}
+\newcommand\Y@G@GetSymb[1]{%
+ \Y@GifE{#1}{marvosym}{mvs}{\fontseries{m}\fontshape{n}}%
+ \Y@Gif{#1}{fourier}{futs}%
+ \Y@Gif{#1}{wasysym}{wasy}%
+ \Y@Gif{#1}{bbding}{ding}%
+ \Y@Gif{#1}{dingbat}{dingbat}%
+ \Y@Gif{#1}{ark}{ark}%
+ \Y@Gif{#1}{ifsym}{ifsym}%
+ \Y@Gif{#1}{ifsymgeo}{ifgeo}%
+ \Y@GifE{#1}{ifsymgeonarrow}{ifgeo}{\fontshape{na}}%
+ \Y@GifE{#1}{ifsymgeowide}{ifgeo}{\fontshape{w}}%
+ \Y@Gif{#1}{ifsymclock}{ifclk}%
+ \Y@Gif{#1}{ifsymweather}{ifwea}%
+ \Y@Gif{#1}{pifont}{pzd}}
+\newcommandx\defdingname[5][1=*,2=local,5=\Y@GSymColor]{%
+ \Y@GINFO{You define ``#4'' with symbols family ``#1'' and color
+ ``#5''}%
+ \ifthenelse{\equal{#1}{*}}
+ {\ifthenelse{\equal{#2}{local}}
+ {\ifthenelse{\equal{#5}{*}}
+ {\expandafter\edef\csname Y@G@@ #4\endcsname
+ {\yagding[\Y@G@SymFamChoice]{#3}[\noexpand\Y@GSymColor]}}
+ {\expandafter\edef\csname Y@G@@ #4\endcsname
+ {\yagding[\Y@G@SymFamChoice]{#3}[#5]}}}%
+ {\ifthenelse{\equal{#2}{global}}
+ {\ifthenelse{\equal{#5}{*}}
+ {\expandafter\xdef\csname Y@G@@ #4\endcsname
+ {\yagding[\Y@G@SymFamChoice]{#3}[\noexpand\Y@GSymColor]}}
+ {\expandafter\xdef\csname Y@G@@ #4\endcsname
+ {\yagding[\Y@G@SymFamChoice]{#3}[#5]}}}%
+ {\Y@GWARNING{Value #2 not recognised} {.\MessageBreak The possible
+ values are ``local'' (default) and ``global''.\MessageBreak I
+ will assume you wanted ``local''} {The possible values are
+ ``local'' (default) and ``global''}}}}%
+ {\ifthenelse{\equal{#2}{local}}
+ {\ifthenelse{\equal{#5}{*}}
+ {\expandafter\edef\csname Y@G@@ #4\endcsname
+ {\yagding[#1]{#3}[\noexpand\Y@GSymColor]}}
+ {\expandafter\edef\csname Y@G@@ #4\endcsname
+ {\yagding[#1]{#3}[#5]}}}%
+ {\ifthenelse{\equal{#2}{global}}
+ {\ifthenelse{\equal{#5}{*}}
+ {\expandafter\xdef\csname Y@G@@ #4\endcsname
+ {\yagding[#1]{#3}[\noexpand\Y@GSymColor]}}
+ {\expandafter\xdef\csname Y@G@@ #4\endcsname
+ {\yagding[#1]{#3}[#5]}}}%
+ {\Y@GWARNING{Value #2 not recognised} {.\MessageBreak The possible
+ values are ``local'' (default) and ``global''.\MessageBreak I
+ will assume you wanted ``local''} {The possible values are
+ ``local'' (default) and ``global''}}}}}
+\WithSuffix\newcommandx\yagding+[6][1=U,6=\Y@GSymColor]{{%
+ \fontencoding{#1}\fontfamily{#2}%
+ \ifthenelse{\equal{#3}{*}}{}{\fontseries{#3}}%
+ \ifthenelse{\equal{#4}{*}}{}{\fontshape{#4}}%
+ \selectfont\Y@G@Couleur{#6}\char#5}}
+\WithSuffix\newcommand\yagding*[1]{%
+ \ifthenelse{\isnamedefined{Y@G@@ #1}}
+ {\csname Y@G@@ #1\endcsname}
+ {[\string? #1 \string?]%
+ \Y@GWARNING{The name #1 is not defined}
+ {.\MessageBreak
+ Or you forgot to define it\MessageBreak
+ or you defined it inside an alien group.\MessageBreak
+ In any case you used it}{}}}
+\WithSuffix\newcommandx\defdingname+[8] [1=U,2=local,8=\Y@GSymColor]{%
+ \ifthenelse{\equal{#2}{local}}%
+ {\ifthenelse{\equal{#8}{*}}%
+ {\expandafter\edef\csname Y@G@@ #7\endcsname
+ {\yagding+[#1]{#3}{#4}{#5}{#6}[\noexpand\Y@GSymColor]}}%
+ {\expandafter\edef\csname Y@G@@ #7\endcsname
+ {\yagding+[#1]{#3}{#4}{#5}{#6}[#8]}}}%
+ {\ifthenelse{\equal{#2}{global}}%
+ {\ifthenelse{\equal{#8}{*}}%
+ {\expandafter\xdef\csname Y@G@@ #7\endcsname
+ {\yagding+[#1]{#3}{#4}{#5}{#6}[\noexpand\Y@GSymColor]}}%
+ {\expandafter\xdef\csname Y@G@@ #7\endcsname
+ {\yagding+[#1]{#3}{#4}{#5}{#6}[#8]}}}%
+ {\Y@GWARNING{Value #2 not recognised} {.\MessageBreak The possible
+ values are ``local'' (default) and ``global''.\MessageBreak I
+ will assume you wanted ``local''} {The possible values are
+ ``local'' (default) and ``global''}}}}
+\newcommand{\Y@Gfill}[7]%
+{{\leavevmode
+ \dimendef\Y@Glongi=255\relax
+ \dimendef\Y@GBoxActualWidth=254\relax
+ \ifthenelse{\equal{#2}{l}}{\let\Leaders=\leaders}{}%
+ \ifthenelse{\equal{#2}{x}}{\let\Leaders=\xleaders}{}%
+ \ifthenelse{\equal{#2}{c}}{\let\Leaders=\cleaders}{}%
+ \ifthenelse{\equal{#3}{a}}
+ {\def\LaBoite{\hbox{\makebox{\hspace{#6}#1\hspace{#7}}}}}
+ {%
+ \settowidth{\Y@Glongi}{#1}%
+ \ifdim#5>\Y@Glongi%
+ \setlength{\Y@GBoxActualWidth}{#5}%
+ \else
+ \setlength{\Y@GBoxActualWidth}{\Y@Glongi}%
+ \Y@GINFO{The choosen value for ``boxwidth'' is too short,\MessageBreak
+ I will use the natural width of the symbol: \the\Y@GBoxActualWidth}\fi
+ \ifthenelse{\equal{#3}{n}}
+ {\ifthenelse{\(#4<0\)\or\(#4>1000\)}
+ {\Y@GWARNING{I don't understand what you want}
+ {.\MessageBreak I assume the default}
+ {You should read the documentation [[SECyagfillboxwidth]].}%
+ \def\LaBoite{\hbox{\makebox[\Y@GBoxActualWidth][c]{#1}}}}%
+ {\setlength{\Y@Glongi}{\Y@GBoxActualWidth-\Y@Glongi}%
+ \setlength{\Y@Glongi}{\Y@Glongi/1000*#4}%
+ \def\LaBoite{\hbox{\makebox%
+ [\Y@GBoxActualWidth][l]{\hspace*{\Y@Glongi}#1\hfill}}}}}%
+ {\def\LaBoite{\hbox{\makebox[\Y@GBoxActualWidth][#3]{#1}}}}}%
+ \Leaders\LaBoite\hfill\kern\z@}}
+\define@choicekey*+[Y@G]{yagusylo.sty}{leadtype}[\Y@Gyagfillleadtype\nr]%
+ {l,c,x}[l]%
+ {\Y@GINFO{Key ``leadtype'' is ``\Y@Gyagfillleadtype''}}%
+ {\PackageError{yagusylo}%
+ {Possible choices for key ``leadtype'': l (default), c or x}
+ {I don't know the type you required.\MessageBreak
+ Read the doc, please}}
+\define@choicekey*+[Y@G]{yagusylo.sty}{symplace}[\Y@Gyagfillsymplace\nr]%
+ {c,r,l,a,n}[c]%
+ {\Y@GINFO{Key ``symplace'' is ``\Y@Gyagfillsymplace''}}%
+ {\PackageError{yagusylo}%
+ {Possible choices for key ``symplace'': c (default), l, r, a or n}
+ {I don't know the place you required.\MessageBreak
+ Read the doc, please}}
+\define@key[Y@G]{yagusylo.sty}{sympos}[0]{%
+ \ifthenelse{\(#1<0\)\or\(#1>1000\)}
+ {\PackageError{yagusylo}
+ {Your choice ``#1'' for key ``sympos'' is out of bound}
+ {You should chose a interger between 0 and 1000.\MessageBreak
+ You should read the documentation}}
+ {\Y@GINFO{Keys ``sympos'' is ``#1''}%
+ \def\Y@Gyagfillsympos{#1}}}
+\define@key[Y@G]{yagusylo.sty}{boxwidth}[0.2in]{%
+ \ifthenelse{\dimtest{#1}<{0pt} \or \dimtest{#1}={0pt}}
+ {\PackageError{yagusylo}
+ {Your choice ``#1'' for key ``boxwidth'' is out of bound}
+ {You should chose a positive length.\MessageBreak
+ You should read the documentation}}
+ {\Y@GINFO
+ {You've asked for ``#1'' as box width.\MessageBreak
+ In any case the box will be at least\MessageBreak
+ as large as the symbol itself}}%
+ \def\Y@Gyagfillboxwidth{#1}}
+\define@key[Y@G]{yagusylo.sty}{before}[0pt]{%
+ \ifthenelse{\dimtest{#1}<{0pt}}
+ {\PackageError{yagusylo}
+ {Your choice ``#1'' for key ``before'' is out of bound}
+ {You should chose a non-negative length.\MessageBreak
+ You should read the documentation}}
+ {\Y@GINFO{Key ``before'' is ``#1''}}%
+ \def\Y@Gyagfillbefore{#1}}
+\define@key[Y@G]{yagusylo.sty}{after}[!Y@G!]{%
+ \ifthenelse{\equal{#1}{!Y@G!}}%
+ {\def\Y@Gyagfillafter{\Y@Gyagfillbefore}}%
+ {\ifthenelse{\dimtest{#1}<{0pt}}
+ {\PackageError{yagusylo}
+ {Your choice ``#1'' for key ``after'' is out of bound}
+ {You should chose a non-negative length.\MessageBreak
+ You should read the documentation}}
+ {\Y@GINFO{Key ``after'' is ``#1''}}%
+ \def\Y@Gyagfillafter{#1}}}
+\setkeys[Y@G]{yagusylo.sty}{leadtype,symplace,sympos,boxwidth,before,after}
+\newcommand\yagfill[2][!Y@G!]{%
+\begingroup
+\ifthenelse{\equal{#1}{!Y@G!}}{}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+ \Y@Gfill{\yagding{#2}}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+\endgroup}
+\WithSuffix\newcommand\yagfill*[2][!Y@G!]{%
+\begingroup
+\ifthenelse{\equal{#1}{!Y@G!}}%
+ {}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+\Y@Gfill{\yagding*{#2}}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+\endgroup}
+\WithSuffix\newcommand\yagfill+[2][!Y@G!]{%
+\begingroup
+\ifthenelse{\equal{#1}{!Y@G!}}{}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+\Y@Gfill{#2}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+\endgroup}
+\newlength{\Y@Glinehead}
+\newlength{\Y@Glinetail}
+\define@key[Y@G]{yagusylo.sty}{head}[0.5in]{%
+ \setlength{\Y@Glinehead}{#1}}
+\define@key[Y@G]{yagusylo.sty}{tail}[0.5in]{%
+ \setlength{\Y@Glinetail}{#1}}
+\setkeys[Y@G]{yagusylo.sty}{head,tail}
+\newcommandx\setyagline[2][2=!Y@G!]{%
+ \ifthenelse{\equal{#2}{!Y@G!}}%
+ {\setkeys[Y@G]{yagusylo.sty}{head=#1,tail=#1}}%
+ {\setkeys[Y@G]{yagusylo.sty}{head=#1,tail=#2}}}
+\newcommand{\yagline}[2][!Y@G!]%
+{\begingroup
+ \ifthenelse{\equal{#1}{!Y@G!}}{}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+ \par\noindent\hspace{\Y@Glinehead}%
+ \Y@Gfill{\yagding[\Y@G@SymFamChoice]{#2}}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+ \hspace{\Y@Glinetail}\kern\z@\par
+\endgroup}
+\WithSuffix\newcommand\yagline*[2][!Y@G!]%
+{\begingroup
+ \ifthenelse{\equal{#1}{!Y@G!}}{}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+ \par\noindent\hspace{\Y@Glinehead}%
+ \Y@Gfill{\yagding*{#2}}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+ \hspace{\Y@Glinetail}\kern\z@\par
+\endgroup}
+\WithSuffix\newcommand\yagline+[2][!Y@G!]%
+{\begingroup
+ \ifthenelse{\equal{#1}{!Y@G!}}{}%
+ {\setkeys[Y@G]{yagusylo.sty}{#1}}%
+ \par\noindent\hspace{\Y@Glinehead}%
+ \Y@Gfill{#2}%
+ {\Y@Gyagfillleadtype}{\Y@Gyagfillsymplace}%
+ {\Y@Gyagfillsympos}{\Y@Gyagfillboxwidth}%
+ {\Y@Gyagfillbefore}{\Y@Gyagfillafter}%
+ \hspace{\Y@Glinetail}\kern\z@\par
+\endgroup}
+\newcommand{\Y@GLevelTest}[6]{%
+ \ifthenelse%
+ {\cnttest{\value{Y@G#1}}<{\value{Y@G#2}}}%
+ {\setcounter{Y@G#3}{\value{Y@G#1}}}%
+ {\setcounter{Y@G#3}{\value{Y@G#2}}%
+ \ifthenelse{\cnttest{\value{Y@G#1}}={\value{Y@G#2}}}
+ {\Y@GWARNING{Too deeply nested for your setup}
+ {.\MessageBreak
+ I keep on using the last symbol.\MessageBreak
+ You could have a look at your last\MessageBreak
+ ``#4''\MessageBreak First ``#5'' too many}%
+ {You could have a look at your last\MessageBreak
+ ``#4''\MessageBreak First ``#5'' too many.\MessageBreak
+ You should read the documentation [[#6]].}}{}}}
+\newcounter{Y@GItemLevel}
+\newcounter{Y@GItemMark}
+\newcounter{Y@GYagitemizeMaxDepth}
+\newenvironmentx{yagitemize}[3][1=\Y@G@SymFamChoice,3=\Y@GSymColor]
+{\stepcounter{Y@GItemLevel}%
+ \ifthenelse{\equal{#2}{*}}
+ {\Y@GLevelTest{ItemLevel}{YagitemizeMaxDepth}{ItemMark}
+ {setyagitemize}{yagitemize}{5.1.2}%
+ \edef\numero{\roman{Y@GItemMark}}%
+ \begin{list}{%
+ \yagding%
+ [\csname Y@G@symfam@niveau\numero\endcsname]%
+ {\csname Y@G@symfam@numero\numero\endcsname}%
+ [\csname Y@G@symfam@couleur\numero\endcsname]}{}}
+ {\begin{list}{\yagding[#1]{#2}[#3]}{}}}%
+ {\end{list}\addtocounter{Y@GItemLevel}{-1}}
+\newcommand{\setyagitemize}[1]{%
+ \setcounter{Y@GYagitemizeMaxDepth}{0}%
+ \Y@Gsetyagitemize #1.Y@G@.\@nil}
+\def\Y@Gsetyagitemizeaux #1\fi{%
+ \fi \Y@Gsetyagitemize #1}%
+\def\Y@Gsetyagitemize #1.#2{%
+ \def\Y@Gfairemotif ##1,##2,##3\@Y@Gnil{%
+ \edef\Y@Gpremier{##1}\edef\Y@Gdeuxieme{##2}\edef\Y@Gtroisieme{##3}%
+ }
+ \ifx#2\@nil\relax
+ \else
+ \Y@Gfairemotif#1\@Y@Gnil
+ \stepcounter{Y@GYagitemizeMaxDepth}%
+ \edef\numero{\roman{Y@GYagitemizeMaxDepth}}%
+ \expandafter\edef\csname Y@G@symfam@niveau\numero\endcsname{\Y@Gpremier}
+ \expandafter\edef\csname Y@G@symfam@numero\numero\endcsname{\Y@Gdeuxieme}
+ \expandafter\edef\csname Y@G@symfam@couleur\numero\endcsname{\Y@Gtroisieme}
+ \Y@Gsetyagitemizeaux #2\fi}
+\newcounter{Y@GYagitemizeStarMaxDepth}
+\WithSuffix\newcommand\setyagitemize*[1]{%
+ \setcounter{Y@GYagitemizeStarMaxDepth}{0}%
+ \Y@Gsetyagitemizestar #1.Y@G@.\@nil}
+\def\Y@Gsetyagitemizestaraux #1\fi{%
+ \fi \Y@Gsetyagitemizestar #1}%
+\def\Y@Gsetyagitemizestar #1.#2{%
+ \ifx#2\@nil%
+ \relax
+ \else
+ \def\motif{#1}%
+ \stepcounter{Y@GYagitemizeStarMaxDepth}%
+ \edef\numero{\roman{Y@GYagitemizeStarMaxDepth}}%
+ \expandafter\edef%
+ \csname Y@Gsymbol@listdepth\numero\endcsname{%
+ \yagding*{\motif}}%
+ \Y@Gsetyagitemizestaraux #2\fi}
+\newcounter{Y@GItemStarLevel}
+\newenvironment{yagitemize*}[1][!Y@G!]%
+{\stepcounter{Y@GItemStarLevel}
+ \ifthenelse{\equal{#1}{!Y@G!}}
+ {\Y@GLevelTest{ItemStarLevel}{YagitemizeStarMaxDepth}{ItemMark}
+ {setyagitemize*}{yagitemize*}{5.2.2}%
+ \edef\Y@GActualSymbol{\csname
+ Y@Gsymbol@listdepth\roman{Y@GItemMark}\endcsname}}
+ {\edef\Y@GActualSymbol{\yagding*{#1}}}%
+ \begin{list}{\Y@GActualSymbol}{}}
+{\end{list}\addtocounter{Y@GItemStarLevel}{-1}}
+\newcommand\yagnumber[3]{\protect\Y@Gyagding{#1}{\arabic{#2}}{#3}}
+\newboolean{Y@GitemRedefined}
+\define@choicekey*+[Y@G]{y@genum}{symfam}[\Y@G@EnumSymFamChoice\nr]%
+ {marvosym,fourier,wasysym,bbding,dingbat,ark,ifsym,ifsymgeo,%
+ ifsymgeonarrow,ifsymgeowide,ifsymclock,ifsymweather,pifont}%
+ [pifont]%
+ {\Y@GINFO{You choose \Y@G@EnumSymFamChoice}}%
+ {\PackageError{yagusylo}%
+ {The symbols family ``\Y@G@EnumSymFamChoice'' is not yet known.}
+ {I don't know the family you required.\MessageBreak
+ If it's not a typo you may consider to contact me
+ (TdS)\MessageBreak to obtain support for it.}}
+\define@key[Y@G]{y@genum}{symcolor}[blue]{\def\Y@GEnumSymColor{#1}}
+\define@key[Y@G]{y@genum}{firstitemnum}['254]{%
+ \ifthenelse{\(#1<0\)\or \(#1>255\)}
+ {\PackageError{yagusylo}
+ {``#1'' is out of bound or not a number}
+ {``firstitemnum'' requires a natural number\MessageBreak
+ between 0 and 255}}%
+ {\def\Y@GEnumFirstItemNum{#1}%
+ \Y@GINFO{Key ``firstitemnum'' is
+ ``\number\Y@GEnumFirstItemNum''}}}
+\define@key[Y@G]{y@genum}{enumlength}[10]{%
+ \ifthenelse{\(#1<1\)\or \(#1>255\)}
+ {\PackageError{yagusylo}
+ {``#1'' is out of bound or not a number}
+ {``enumlength'' requires a natural number\MessageBreak
+ between 1 and 255}}%
+ {\def\Y@GEnumLength{#1}%
+ \Y@GINFO{Key ``enumlength'' is ``\number\Y@GEnumLength''}}}
+\newcommand*\newenumpattern[2]{%
+ \ifthenelse{\isnamedefined{Y@GEnumPattern@#1}}
+ {\PackageError{yagusylo}{Pattern ``#1'' already defined}{%
+ You should choose another name\MessageBreak
+ this version does NOT provide a ``renewenumpattern'' macro}}
+ {{\renewcommand*{\Y@GINFO}[1]{}
+ \expandafter\gdef\csname Y@GEnumPattern@#1\endcsname{%
+ \setkeys[Y@G]{y@genum}{#2}}}
+ \Y@GINFO[1]{Pattern ``#1'' defined with\MessageBreak
+ symfam=\Y@G@EnumSymFamChoice\MessageBreak
+ symcolor=\Y@GEnumSymColor\MessageBreak
+ firstitetemnum=\number\Y@GEnumFirstItemNum\MessageBreak
+ enumlength=\Y@GEnumLength\MessageBreak}}}
+\newenumpattern{piwcr}{symfam=pifont,firstitemnum='254,enumlength=10}
+\newenumpattern{piwcs}{symfam=pifont,firstitemnum='300,enumlength=10}
+\newenumpattern{pibcr}{symfam=pifont,firstitemnum='266,enumlength=10}
+\newenumpattern{pibcs}{symfam=pifont,firstitemnum='312,enumlength=10}
+\newcommand{\Y@GSetYagEnumerate}[1]{%
+ \ifthenelse{\isnamedefined{Y@GEnumPattern@#1}}%
+ {\csname Y@GEnumPattern@#1\endcsname}%
+ {\Y@GWARNING{The pattern ``#1'' is not know}
+ {.\MessageBreak I select ``piwcr'' instead}
+ {You should read the documentation [[SECyagpattern]].}%
+ \csname Y@GEnumPattern@piwcr\endcsname}}
+\define@key[Y@G]{y@genum}{enumpattern}[piwcr]{%
+ \edef\Y@GEnumPatternChoice{#1}%
+ \Y@GSetYagEnumerate{#1}}
+\setkeys[Y@G]{y@genum}{symfam,symcolor,firstitemnum,enumlength}
+\newcommand\setyagenumeratekeys[1]{%
+ \ifthenelse{\equal{#1}{*}}%
+ {\setkeys[Y@G]{y@genum}
+ {symfam,symcolor,firstitemnum,enumlength,enumpattern}}%
+ {\setkeys[Y@G]{y@genum}{#1}}}
+\newcounter{Y@Gmaxitem}
+\newcounter{Y@Gcitem}
+\newenvironment{yagenumerate}[1][!Y@G!]
+{%
+ \ifthenelse{\equal{#1}{!Y@G!}}
+ {\setkeys[Y@G]{y@genum}{symfam,symcolor,firstitemnum,enumlength}}
+ {\ifthenelse{\equal{#1}{*}}
+ {\setkeys[Y@G]{y@genum}{enumpattern=\Y@GEnumPatternChoice}}
+ {\setkeys[Y@G]{y@genum}{#1}}}%
+ \ifnum\@enumdepth>\thr@@\@toodeep\else
+ \advance\@enumdepth \@ne
+ \def\STOP{\PackageError{yagusylo}
+ {at least one item too many}
+ {you can't use more than ``\number\Y@GEnumLength'' items}}%
+ \setcounter{Y@Gmaxitem}{\Y@GEnumFirstItemNum}
+ \addtocounter{Y@Gmaxitem}{\Y@GEnumLength}
+ \setcounter{Y@Gcitem}{\Y@GEnumFirstItemNum}
+ \ifthenelse{\boolean{Y@GitemRedefined}}{}
+ {\let\Y@Golditem\item
+ \def\item{\stepcounter{Y@Gcitem}
+ \ifnum\theY@Gcitem>\theY@Gmaxitem\expandafter\STOP
+ \else\expandafter\Y@Golditem\fi}
+ \setboolean{Y@GitemRedefined}{true}}
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \expandafter\def\csname p@enum\romannumeral\the\@enumdepth\endcsname{}%
+ \expandafter\def\csname labelenum\romannumeral\the\@enumdepth\endcsname{%
+ \csname theenum\romannumeral\the\@enumdepth\endcsname}%
+ \expandafter\def\csname theenum\romannumeral\the\@enumdepth\endcsname{%
+ \yagnumber{\Y@G@EnumSymFamChoice}%
+ {enum\romannumeral\the\@enumdepth}{\Y@GEnumSymColor}}%
+ \list{\csname label\@enumctr\endcsname}{%
+ \@nmbrlisttrue
+ \def\@listctr{\@enumctr}%
+ \setcounter{\@enumctr}{\Y@GEnumFirstItemNum}%
+ \addtocounter{\@enumctr}{-1}%
+ \def\makelabel##1{\hss\llap{##1}}}
+ \fi}{\endlist}
+\newenvironment{notyagenum}
+ {\let\item\Y@Golditem
+ \setboolean{Y@GitemRedefined}{false}}{}
+\AtBeginDocument{%
+ \ifY@G@configfile
+ \InputIfFileExists{yagusylo.cfg}%
+ {\PackageInfo{yagusylo}{Configuration file found and read\@gobble}}%
+ {\PackageErrorNoLine{yagusylo}
+ {No configuration file found}
+ {Or yagusylo.cfg does not exist\MessageBreak
+ or it is in some place unknown of TeX.}}%
+ \fi}
+\endinput
+%%
+%% End of file `yagusylo.sty'.