diff options
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-graph/latex/tkz-graph.sty')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-graph/latex/tkz-graph.sty | 1028 |
1 files changed, 0 insertions, 1028 deletions
diff --git a/macros/latex/contrib/tkz/tkz-graph/latex/tkz-graph.sty b/macros/latex/contrib/tkz/tkz-graph/latex/tkz-graph.sty deleted file mode 100644 index 645a947aaa..0000000000 --- a/macros/latex/contrib/tkz/tkz-graph/latex/tkz-graph.sty +++ /dev/null @@ -1,1028 +0,0 @@ - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % tk-graphes.sty encodage : utf8 % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % Créé par Alain Matthes le 22-02-2011. % - % contribution : Rafael Villarroel (RV) % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<---------------------------------------------------------------------------> -% Objet : Création de graphes -%<---------------------------------------------------------------------------> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tkz-graph}[2018/09/19 ctan v 1.00 d base for graphs] -%<---------------------------------------------------------------------------> -\ifx\e@alloc\@undefined - \RequirePackage{etex} -\fi -\RequirePackage{ifthen} -\RequirePackage{xkeyval}[2005/11/25] -\RequirePackage{tikz} -\usetikzlibrary{arrows} -%<---------------------------------------------------------------------------> -% todo remove some counters -\newcounter{tkz@gr@a} -\newcounter{tkz@gr@b} -\newcounter{tkz@gr@c} -\newcounter{tkz@gr@e} -\newcounter{tkz@gr@d} -\newcounter{tkz@gr@p} -\newcounter{tkz@gr@i} -\newcounter{tkz@gr@n} -\newcounter{tkz@gr@ta} -\newcounter{tkz@gr@tb} -%<---------------------------------------------------------------------------> -% Init vertex -%<---------------------------------------------------------------------------> -\global\def\tkzActivOff{% -\edef\tkzTwoPtCode{\the\catcode`\:} -\edef\tkzPtExCode{\the\catcode`\!} -\edef\tkzPtVirCode{\the\catcode`\;} -\catcode`\:=12 \catcode`\!=12 \catcode`\;=12}% -\global\def\tkzActivOn{% -\catcode`\:=\tkzTwoPtCode\relax -\catcode`\!=\tkzPtExCode\relax -\catcode`\;=\tkzPtVirCode\relax -}% -%<---------------------------------------------------------------------------> -\def\tkz@gr@background@color{white} -\def\tkz@gr@text@color{black} -\global\edef\tkz@suc@bkc{\tkz@gr@background@color} -\global\edef\tkz@suc@txt{\tkz@gr@text@color} -\pgfkeys{ -/tkzsupcol/.cd, - background/.code = {\global\edef\tkz@suc@bkc{#1}}, - text/.code = {\global\edef\tkz@suc@txt{#1}}, -} -\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}} -\def\tkz@SetUpColors[#1]{% -\begingroup -\pgfkeys{% -tkzsupcol/.cd, - background = \tkz@gr@background@color, - text = \tkz@gr@text@color - } -\pgfqkeys{/tkzsupcol}{#1} -\pagecolor{\tkz@suc@bkc} -\color{\tkz@suc@txt} -\endgroup -} - -\newcommand*{\GraphUnit}{1} -\newcommand*{\VertexInnerSep}{2pt} -\newcommand*{\VertexOuterSep}{0pt} -\newcommand*{\VertexDistance}{3cm} -\newcommand*{\VertexShape}{circle} -\newcommand*{\VertexLineWidth}{0.5pt} -\newcommand*{\VertexLineColor}{\tkz@suc@txt} -\newcommand*{\VertexLightFillColor}{\tkz@suc@bkc} -\newcommand*{\VertexDarkFillColor}{\tkz@suc@txt} -\newcommand*{\VertexTextColor}{\tkz@suc@txt} -\newcommand*{\VertexFillColor}{\tkz@suc@txt} -\newcommand*{\VertexBallColor}{orange} -\newcommand*{\VertexBigMinSize}{24pt} -\newcommand*{\VertexInterMinSize}{18pt} -\newcommand*{\VertexSmallMinSize}{12pt} -\newcommand*{\EdgeFillColor}{orange} -\newcommand*{\EdgeArtColor}{orange} -\newcommand*{\EdgeColor}{\tkz@suc@txt} -\newcommand*{\EdgeDoubleDistance}{1pt} -\newcommand*{\EdgeLineWidth}{0.8pt} -\newcommand*{\LabelTextColor}{\tkz@suc@txt} -\newcommand*{\LabelFillColor}{\tkz@suc@bkc} - -\tikzset{pre/.style={<-,shorten <=1pt,>=stealth',semithick}} -\tikzset{post/.style={->,shorten <=1pt,>=stealth',semithick}} -%<---------------------------------------------------------------------------> -% Simple Vertex -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {SVS} {Shape}{} -\define@cmdkey [GR] {SVS} {MinSize}{} -\define@cmdkey [GR] {SVS} {LineWidth}{} -\define@cmdkey [GR] {SVS} {LineColor}{} -\define@cmdkey [GR] {SVS} {FillColor}{} -\define@cmdkey [GR] {SVS} {InnerSep}{} -\define@cmdkey [GR] {SVS} {OuterSep}{} -\presetkeys [GR] {SVS} {Shape = \VertexShape, - MinSize = \VertexSmallMinSize, - LineWidth = \VertexLineWidth, - LineColor = \VertexLineColor, - InnerSep = \VertexInnerSep, - OuterSep = \VertexOuterSep, - FillColor = \VertexFillColor}{} -\newcommand*{\SetVertexSimple}[1][]{\GR@SetVertexSimple[#1]}% -\def\GR@SetVertexSimple[#1]{% -\setkeys[GR]{SVS}{#1}% -\presetkeys[GR]{vertex}{NoLabel = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \cmdGR@SVS@Shape, - color = \cmdGR@SVS@LineColor, - fill = \cmdGR@SVS@FillColor, - inner sep = \cmdGR@SVS@InnerSep, - outer sep = \cmdGR@SVS@OuterSep, - minimum size = \cmdGR@SVS@MinSize, - line width = \cmdGR@SVS@LineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}}} -%<---------------------------------------------------------------------------> -% Shade Vertex -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {shade} {Shape}{} -\define@cmdkey [GR] {shade} {MinSize}{} -\define@cmdkey [GR] {shade} {LineWidth}{} -\define@cmdkey [GR] {shade} {LineColor}{} -\define@cmdkey [GR] {shade} {BallColor}{} -\define@cmdkey [GR] {shade} {InnerSep}{} -\define@cmdkey [GR] {shade} {OuterSep}{} -\presetkeys [GR] {shade} {Shape = \VertexShape, - MinSize = \VertexBigMinSize, - LineWidth = \VertexLineWidth, - LineColor = \VertexLineColor, - InnerSep = \VertexInnerSep, - OuterSep = \VertexOuterSep, - BallColor = \VertexBallColor}{} -\newcommand*{\SetVertexShade}[1][]{\GR@SetVertexShade[#1]}% -\def\GR@SetVertexShade[#1]{% -\setkeys[GR]{shade}{#1}% -\presetkeys[GR]{vertex}{NoLabel = false}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \cmdGR@shade@Shape, - ball color = \cmdGR@shade@BallColor, - inner sep = \cmdGR@shade@InnerSep, - outer sep = \cmdGR@shade@OuterSep, - minimum size = \cmdGR@shade@MinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor,% color outside - double = \EdgeFillColor,% inside - double distance = \EdgeDoubleDistance}}% -\tikzset{LabelStyle/.style={}}} -%<---------------------------------------------------------------------------> -% Art Vertex -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {art} {Shape}{} -\define@cmdkey [GR] {art} {MinSize}{} -\define@cmdkey [GR] {art} {LineWidth}{} -\define@cmdkey [GR] {art} {LineColor}{} -\define@cmdkey [GR] {art} {BallColor}{} -\define@cmdkey [GR] {art} {InnerSep}{} -\define@cmdkey [GR] {art} {OuterSep}{} -\presetkeys [GR] {art} {Shape = \VertexShape, - MinSize = \VertexSmallMinSize, - LineWidth = \VertexLineWidth, - LineColor = \VertexLineColor, - InnerSep = \VertexInnerSep, - OuterSep = \VertexOuterSep, - BallColor = \VertexBallColor}{} -\newcommand*{\SetVertexArt}[1][]{\GR@SetVertexArt[#1]}% -\def\GR@SetVertexArt[#1]{% -\setkeys[GR]{art}{#1}% -\presetkeys[GR]{vertex}{NoLabel = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \cmdGR@art@Shape, - ball color = \cmdGR@art@BallColor, - inner sep = \cmdGR@art@InnerSep, - outer sep = \cmdGR@art@OuterSep, - minimum size = \cmdGR@art@MinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeArtColor}} -\tikzset{LabelStyle/.style = {}}} -%<---------------------------------------------------------------------------> -% Normal Vertex -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {SVN} {Shape}{} -\define@cmdkey [GR] {SVN} {MinSize}{} -\define@cmdkey [GR] {SVN} {LineWidth}{} -\define@cmdkey [GR] {SVN} {LineColor}{} -\define@cmdkey [GR] {SVN} {FillColor}{} -\define@cmdkey [GR] {SVN} {TextColor}{} -\define@cmdkey [GR] {SVN} {InnerSep}{} -\define@cmdkey [GR] {SVN} {OuterSep}{} -\presetkeys [GR] {SVN} {Shape = \VertexShape, - MinSize = \VertexInterMinSize, - LineWidth = \VertexLineWidth, - LineColor = \VertexLineColor, - FillColor = \VertexLightFillColor, - InnerSep = \VertexInnerSep, - OuterSep = \VertexOuterSep, - TextColor = \VertexTextColor}{} -\newcommand*{\SetVertexNormal}[1][]{\GR@SetVertexNormal[#1]}% -\def\GR@SetVertexNormal[#1]{% -\setkeys[GR]{SVN}{#1}% -\tikzset{VertexStyle/.style = {shape = \cmdGR@SVN@Shape, - minimum size = \cmdGR@SVN@MinSize, - line width = \cmdGR@SVN@LineWidth, - color = \cmdGR@SVN@LineColor, - fill = \cmdGR@SVN@FillColor, - text = \cmdGR@SVN@TextColor, - inner sep = \cmdGR@SVN@InnerSep, - outer sep = \cmdGR@SVN@OuterSep, - draw}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}}} -\SetVertexNormal% default -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {init} {unit}{} -\define@choicekey*[GR]{init}{vstyle}[\val\nr]{Empty,% - Hasse,% - Simple,% - Classic,% - Normal,% - Shade,% - Dijkstra,% - Welsh,% - Art,% - Shade Art}{% -\edef\GR@init@vstyle{\nr} -\ifcase\nr\relax -% Empty -\presetkeys [GR] {vertex} {LabelOut = false}{}% -\tikzset{VertexStyle/.style = {shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexLightFillColor, - inner sep = \VertexInnerSep, - outer sep = 0.5\pgflinewidth, - text = \VertexTextColor, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth,\EdgeColor}} -\tikzset{LabelStyle/.style={}} -\or -% Hasse -\presetkeys [GR] {vertex} {NoLabel = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexLightFillColor, - inner sep = \VertexInnerSep, - outer sep = 0.5\pgflinewidth, - text = \VertexTextColor, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}} -\or -% Simple -\presetkeys [GR] {vertex} {NoLabel = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexDarkFillColor, - inner sep = \VertexInnerSep, - outer sep = 0.5\pgflinewidth, - text = \VertexTextColor, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}} -% Classic -\or -\presetkeys [GR] {vertex} {LabelOut = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexDarkFillColor, - inner sep = \VertexInnerSep, - outer sep = 0.5\pgflinewidth, - text = \VertexTextColor, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}} -% Normal -\or -\presetkeys [GR] {vertex} {LabelOut = false}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - minimum size = \VertexInterMinSize, - line width = \VertexLineWidth, - color = \VertexLineColor, - outer sep = 0.5\pgflinewidth, - fill = \VertexLightFillColor, - text = \VertexTextColor, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}} -% Shade -\or -\presetkeys [GR] {vertex} {LabelOut = false}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - ball color = \VertexBallColor, - color = \VertexLineColor, - text = \VertexTextColor, - inner sep = \VertexInnerSep, - outer sep = \VertexOuterSep, - minimum size = \VertexBigMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor,% color outside - double = \EdgeFillColor,% inside - double distance = \EdgeDoubleDistance}}% -\tikzset{LabelStyle/.style={}} -% Dijkstra -\or -\presetkeys [GR] {vertex} {LabelOut = false}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexLightFillColor, - inner sep = \VertexInnerSep, - outer sep = 0.5\pgflinewidth, - text = \VertexTextColor, - minimum size = \VertexInterMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}} -\tikzset{LabelStyle/.style={}} -% Welsh -\or -\presetkeys [GR] {vertex} {LabelOut = true}{}% -\tikzset{VertexStyle/.style = {draw, - shape = \VertexShape, - color = \VertexLineColor, - fill = \VertexLightFillColor, - inner sep = \VertexInnerSep, - outer sep = \VertexOuterSep, - text = \VertexTextColor, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor}}% -\tikzset{LabelStyle/.style={}} -% Art -\or -\presetkeys [GR] {vertex} {NoLabel = true}{}% -\tikzset{VertexStyle/.style = {shape = \VertexShape, - ball color = \VertexBallColor, - color = \VertexLineColor, - inner sep = \VertexInnerSep, - outer sep = \VertexOuterSep, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}}% -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeArtColor}} -\tikzset{LabelStyle/.style = {}} -% ShadeArt -\or -\presetkeys [GR] {vertex} {NoLabel = true}{}% -\tikzset{VertexStyle/.style = {shape = \VertexShape, - ball color = \VertexBallColor, - inner sep = \VertexInnerSep, - outer sep = \VertexOuterSep, - minimum size = \VertexSmallMinSize, - line width = \VertexLineWidth}} -\tikzset{EdgeStyle/.style = {line width = \EdgeLineWidth, - \EdgeColor, - double = \EdgeFillColor, - double distance = .5\EdgeDoubleDistance}} -\tikzset{LabelStyle/.style = {}} -\fi% -} - -\presetkeys [GR] {init} {vstyle = Normal,% - unit = \GraphUnit}{} - -\newcommand*{\SetGraphUnit}[1]{\renewcommand{\GraphUnit}{#1}}% - -\newcommand*{\GraphInit}[1][]{\setkeys[GR]{init}{#1}% -\edef\GraphUnit{\cmdGR@init@unit}% -}% -%<---------------------------------------------------------------------------> -% Colors -%<---------------------------------------------------------------------------> -\newcommand*{\SetGraphShadeColor}[3]{% - \tikzset{VertexStyle/.append style = {ball color=#1}} - \tikzset{EdgeStyle/.append style = {color=#2,double=#3}} -} -\newcommand*{\SetGraphArtColor}[2]{% - \tikzset{VertexStyle/.append style = {ball color=#1}} - \tikzset{EdgeStyle/.append style = {color=#2}} -} -\newcommand*{\SetGraphColor}[2]{% - \tikzset{VertexStyle/.append style = {fill=#1}} - \tikzset{EdgeStyle/.append style = {color=#2}} -} -\newcommand*{\AddVertexColor}[2]{% -\begingroup - \tikzset{VertexStyle/.append style = {fill=#1}} - \foreach \v in {#2} - {\Vertex[Node,NoLabel]{\v}} -\endgroup -} -%<---------------------------------------------------------------------------> -\newcommand*{\SetVertexNoLabel}{% - \presetkeys [GR] {vertex} {NoLabel = true}{}% -} -% add RV -\newcommand*{\SetVertexLabel}{% - \presetkeys [GR] {vertex} {NoLabel = false}{}% -} -%<---------------------------------------------------------------------------> -\newcommand*{\SetVertexLabelOut}{% - \presetkeys [GR] {vertex} {LabelOut = true}{}% -} -\newcommand*{\SetVertexLabelIn}{% - \presetkeys [GR] {vertex} {LabelOut = false}{}% -} -\newcommand*{\SetVertexMath}{% - \presetkeys [GR] {vertex} {Math = true}{}% - \presetkeys [GR] {cl} {Math = true}{}% -} -\newcommand*{\SetVertexNoMath}{% - \presetkeys [GR] {vertex} {Math = false}{}% - \presetkeys [GR] {cl} {Math = false}{}% -} -%<---------------------------------------------------------------------------> -% Init SetUpVertex -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {SUV} {Lpos}{} -\define@cmdkey [GR] {SUV} {Ldist}{} -\define@cmdkey [GR] {SUV} {Style}{} -\define@cmdkey [GR] {SUV} {MinSize}{} -\define@cmdkey [GR] {SUV} {LineWidth}{} -\define@cmdkey [GR] {SUV} {TextColor}{} -\define@cmdkey [GR] {SUV} {LineColor}{} -\define@cmdkey [GR] {SUV} {FillColor}{} -\define@cmdkey [GR] {SUV} {InnerSep}{} -\define@cmdkey [GR] {SUV} {OuterSep}{} -\define@cmdkey [GR] {SUV} {Unit}{} -\define@boolkey [GR] {SUV} {NoLabel} [true]{} -\define@boolkey [GR] {SUV} {LabelOut}[true]{} -\define@boolkey [GR] {SUV} {Math}[true]{} -\presetkeys [GR] {SUV} {Ldist = 0cm, - Lpos = 0, - Style = {}, - LabelOut = false, - NoLabel = false, - Math = false, - Unit = \GraphUnit, - MinSize = \VertexInterMinSize, - TextColor = \VertexTextColor, - LineColor = \VertexLineColor, - FillColor = \VertexLightFillColor, - LineWidth = \VertexLineWidth, - InnerSep = \VertexInnerSep, - OuterSep = \VertexOuterSep}{} -%<---------------------------------------------------------------------------> -% SetUpVertex -%<---------------------------------------------------------------------------> -\newcommand*{\SetUpVertex}[1][]{\GR@SetUpVertex[#1]}% -\def\GR@SetUpVertex[#1]{% -\setkeys[GR]{SUV}{#1}% -\presetkeys [GR] {vertex} {Lpos = \cmdGR@SUV@Lpos, - Ldist = \cmdGR@SUV@Ldist, - style = \cmdGR@SUV@Style, - unit = \cmdGR@SUV@Unit}{}% -\tikzset{VertexStyle/.append style = {inner sep = \cmdGR@SUV@InnerSep, - outer sep = \cmdGR@SUV@OuterSep, - minimum size = \cmdGR@SUV@MinSize, - text = \cmdGR@SUV@TextColor, - color = \cmdGR@SUV@LineColor, - fill = \cmdGR@SUV@FillColor, - line width = \cmdGR@SUV@LineWidth}} -\ifGR@SUV@NoLabel% - \presetkeys [GR] {vertex} {NoLabel = true}{}% -\fi% -\ifGR@SUV@LabelOut% - \presetkeys [GR] {vertex} {LabelOut = true}{}% -\fi% -\ifGR@SUV@Math% - \presetkeys [GR] {vertex} {Math = true}{}% -\fi% -} -%<---------------------------------------------------------------------------> -% Init Vertex -%<---------------------------------------------------------------------------> -\define@boolkey [GR] {vertex} {empty}[true]{} -\define@cmdkey [GR] {vertex} {unit}{} -\define@cmdkey [GR] {vertex} {x}{} -\define@cmdkey [GR] {vertex} {y}{} -\define@cmdkey [GR] {vertex} {a}{} -\define@cmdkey [GR] {vertex} {d}{} -\define@boolkey [GR] {vertex} {Node}[true]{} -\define@cmdkey [GR] {vertex} {dir}{} -\define@cmdkey [GR] {vertex} {style}{} -\define@cmdkey [GR] {vertex} {position}{} -\define@cmdkey [GR] {vertex} {L}{} -\define@cmdkey [GR] {vertex} {Lpos}{} -\define@cmdkey [GR] {vertex} {Ldist}{} -\define@boolkey [GR] {vertex} {NoLabel}[true]{} -\define@boolkey [GR] {vertex} {Math}[true]{} -\define@boolkey [GR] {vertex} {LabelOut}[true]{} -\presetkeys [GR] {vertex} {Node = false, - NoLabel = false, - LabelOut = false, - empty = false, - Math = false, - x = {}, - y = {}, - a = {}, - d = {}, - unit = \GraphUnit, - dir = \EA, - position = {}, - style = {}, - L = {}, - Ldist = 0cm, - Lpos = 0}{} -%<---------------------------------------------------------------------------> -% Vertex -%<---------------------------------------------------------------------------> -\newcommand*{\Vertex}[1][]{\@vertex[#1]}% -\def\@vertex[#1]#2{% - \setkeys[GR]{vertex}{#1}% - \@@vertex{#2}% -} -% coord rect todo coord polar and pos relative -\def\@@vertex#1{% - \def\nstyle{VertexStyle} -%<---------------------------------------------------------------------------> -\ifGR@vertex@Node% - \pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}} - \pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}} - \edef\cmdGR@vertex@x{\pgf@x} - \edef\cmdGR@vertex@y{\pgf@y} -\fi% -%<---------------------------------------------------------------------------> -\ifGR@vertex@empty% - \begin{scope} - \ifthenelse{\not\equal{\cmdGR@vertex@x}{}}{% - \protected@edef\@tempa{% - \noexpand\node[inner sep = 0pt](#1)% - at (\cmdGR@vertex@x,\cmdGR@vertex@y){}}% - \@tempa;}{% - \ifthenelse{\not\equal{\cmdGR@vertex@d}{}}{% - \protected@edef\@tempa{% - \noexpand\node[inner sep = 0pt](#1)% - at (\cmdGR@vertex@a:\cmdGR@vertex@d){}}% - \@tempa;}{% - \protected@edef\@tempa{% - \noexpand \node[inner sep = 0pt](#1)% - [\cmdGR@vertex@position]{}}% - \@tempa;}}% - \end{scope} -\else - \begin{scope}[label distance = \cmdGR@vertex@Ldist] - \ifGR@vertex@NoLabel - \def\vertex@Label{}% - \def\cmdGR@vertex@L{}% - \def\vertex@Name{} - \else% - \ifGR@vertex@Math - \ifthenelse{\equal{\cmdGR@vertex@L}{}}{% - \def\vertex@Name{$#1$}}{\def\vertex@Name{$\cmdGR@vertex@L$}} - \else - \ifthenelse{\equal{\cmdGR@vertex@L}{}}{% - \def\vertex@Name{#1}}{\def\vertex@Name{\cmdGR@vertex@L}} - \fi% - \ifGR@vertex@LabelOut% - \def\nstyle{VertexStyle,% - label={[text = \cmdGR@SVN@TextColor,\cmdGR@vertex@style]% - \cmdGR@vertex@Lpos:\vertex@Name}} - \def\vertex@Label{} - \else% - \def\vertex@Label{\vertex@Name} - \fi - \fi -%<---------------------------------------------------------------------------> - \ifthenelse{\not\equal{\cmdGR@vertex@x}{}}{% - \protected@edef\@tempa{% - \noexpand\node[outer sep=0pt,\cmdGR@vertex@style,\nstyle](#1) - at (\cmdGR@vertex@x,\cmdGR@vertex@y){% - \noexpand\vertex@Label}}% - \@tempa;% - }{% - \ifthenelse{\not\equal{\cmdGR@vertex@d}{}}{% - \protected@edef\@tempa{% - \noexpand\node[outer sep=0pt,\cmdGR@vertex@style,\nstyle](#1) - at (\cmdGR@vertex@a:\cmdGR@vertex@d){% - \noexpand\vertex@Label}}% - \@tempa;% - }{% - \protected@edef\@tempa{% - \noexpand\node[outer sep=0pt,\cmdGR@vertex@style,\nstyle](#1)% - [\cmdGR@vertex@position]{% - \noexpand\vertex@Label}}% - \@tempa;}}% - \end{scope} -\fi% -} -%<---------------------------------------------------------------------------> -% End of Vertex -%<---------------------------------------------------------------------------> -% EA east of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\EA}[1][]{\@droite[#1]}% -\def\@droite[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(\cmdGR@vertex@unit,0) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -}% -%<---------------------------------------------------------------------------> -% WE west of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\WE}[1][]{\@gauche[#1]}% -\def\@gauche[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(-\cmdGR@vertex@unit,0) coordinate (#3); - \Vertex[#1,Node]{#3} - \endgroup% -} -%<---------------------------------------------------------------------------> -% NO north of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\NO}[1][]{\@haut[#1]}% -\def\@haut[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(0,\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} -%<---------------------------------------------------------------------------> -% SO south of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\SO}[1][]{\@bas[#1]}% -\def\@bas[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(0,-\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} -%<---------------------------------------------------------------------------> -% NOEA north east of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\NOEA}[1][]{\@hautdroite[#1]}% -\def\@hautdroite[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(\cmdGR@vertex@unit,\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} - -%<---------------------------------------------------------------------------> -% NOWE north west of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\NOWE}[1][]{\@hautgauche[#1]}% -\def\@hautgauche[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(-\cmdGR@vertex@unit,\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} -%<---------------------------------------------------------------------------> -% SOEA south east of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\SOEA}[1][]{\@basdroite[#1]}% -\def\@basdroite[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(\cmdGR@vertex@unit,-\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} -%<---------------------------------------------------------------------------> -% SOWE south west of #2 -%<---------------------------------------------------------------------------> -\newcommand*{\SOWE}[1][]{\@basgauche[#1]}% -\def\@basgauche[#1](#2)#3{% -\begingroup% - \setkeys[GR]{vertex}{#1}% - \path (#2)--++(-\cmdGR@vertex@unit,-\cmdGR@vertex@unit) coordinate (#3); - \Vertex[#1,Node]{#3} -\endgroup% -} - -%<---------------------------------------------------------------------------> -% Vertices -%<---------------------------------------------------------------------------> -\newcommand*{\Vertices}[1][]{\Vertices@NoStar[#1]}% -\def\Vertices@NoStar[#1]#2#3{% -\setkeys[GR]{vertex}{#1}% -\begingroup% - \setcounter{tkz@gr@p}{0} - \@for\liste:=#3\do{% - \stepcounter{tkz@gr@p}% - \global\expandafter\let\csname label@\alph{tkz@gr@p}\endcsname\liste} - \ifthenelse{\equal{#2}{line}}{% - \setcounter{tkz@gr@p}{0} - \foreach \fin in {#3}{% - \ifthenelse{\value{tkz@gr@p}=0}{% - \global\let\deb\fin - \Vertex[#1]{\fin} - \stepcounter{tkz@gr@p} - }{% - \cmdGR@vertex@dir[#1,x={},y={},a={},d={},Node=false](\deb){\fin} - \global\let\deb\fin - } - }% - }{ - \ifthenelse{\equal{#2}{square}}{% - \begin{scope}[rotate=45] - \Vertex[#1,Lpos=-135]{\label@a} - \EA[#1,Lpos=-45,x={},y={},Node=false](\label@a){\label@b} - \NO[#1,Lpos=45, x={},y={},Node=false](\label@b){\label@c} - \WE[#1,Lpos=135,x={},y={},Node=false](\label@c){\label@d} - \end{scope} -}{% - \ifthenelse{\equal{#2}{tr1}}{% - \Vertex[#1]{\label@a} - \EA[#1,x={},y={},Node=false](\label@a){\label@b} - \NO[#1,x={},y={},Node=false](\label@b){\label@c}}{% - \ifthenelse{\equal{#2}{tr2}}{% - \Vertex[#1]{\label@a} - \NO[#1,x={},y={},Node=false](\label@a){\label@b} - \EA[#1,x={},y={},Node=false](\label@b){\label@c}}{% - \ifthenelse{\equal{#2}{tr3}}{% - \Vertex[#1]{\label@a} - \NO[#1,x={},y={},Node=false](\label@a){\label@b} - \WE[#1,x={},y={},Node=false](\label@b){\label@c}}{% - \ifthenelse{\equal{#2}{tr4}}{% - \Vertex[#1]{\label@a} - \WE[#1,x={},y={},Node=false](\label@a){\label@b} - \NO[#1,x={},y={},Node=false](\label@b){\label@c}}{% - \ifthenelse{\equal{#2}{circle}}{% - \pgfmathdivide{360}{\value{tkz@gr@p}}% - \global\let\gr@angle\pgfmathresult% - \setcounter{tkz@gr@p}{0} - \foreach \lab in {#3}{% - \pgfmathmultiply{\gr@angle}{\thetkz@gr@p}% - \let\gr@newangle\pgfmathresult% - \pgfmathadd{\cmdGR@vertex@Lpos}{\gr@newangle} - \let\gr@posangle\pgfmathresult% - \Vertex[#1, - a = \gr@newangle, - d = \cmdGR@vertex@unit, - Lpos = \gr@posangle]{\lab} - \stepcounter{tkz@gr@p}% - }% - }{}% - }}}}}}% -\endgroup% -} -%<---------------------------------------------------------------------------> -% Edge style -%<---------------------------------------------------------------------------> -\tikzset{LabelStyle/.style={}}% add 03/04/2009 -\tikzset{EdgeStyle/.style={}} -%<---------------------------------------------------------------------------> -% Init SetUpEdge -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {SUE} {color}{} -\define@cmdkey [GR] {SUE} {label}{} -\define@cmdkey [GR] {SUE} {labelstyle}{} -\define@cmdkey [GR] {SUE} {labeltext}{} -\define@cmdkey [GR] {SUE} {labelcolor}{} -\define@cmdkey [GR] {SUE} {style}{} -\define@cmdkey [GR] {SUE} {lw}{} -\presetkeys [GR] {SUE} {color = \EdgeColor, - lw = \EdgeLineWidth, - label = {}, - labeltext = \LabelTextColor, - labelcolor = \LabelFillColor, - labelstyle = {}, - style = {}}{} -%<---------------------------------------------------------------------------> -% SetUpEdge -%<---------------------------------------------------------------------------> -\newcommand*{\SetUpEdge}[1][]{\@SetUpEdge[#1]}% -\def\@SetUpEdge[#1]{% -\setkeys [GR] {SUE} {#1}% -\presetkeys [GR] {edge} {color = \cmdGR@SUE@color, - lw = \cmdGR@SUE@lw, - label = \cmdGR@SUE@label, - labeltext = \cmdGR@SUE@labeltext, - labelcolor = \cmdGR@SUE@labelcolor, - labelstyle = \cmdGR@SUE@labelstyle, - style = \cmdGR@SUE@style}{} -\tikzset{LabelStyle/.style={}} -\tikzset{EdgeStyle/.style={}}} -\newcommand*{\DisableEdgeStyle}{\tikzset{EdgeStyle/.style={}}} -%<---------------------------------------------------------------------------> -% Init Edge -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {edge} {color}{} -\define@cmdkey [GR] {edge} {lw}{} -\define@cmdkey [GR] {edge} {double}{} -\define@cmdkey [GR] {edge} {incolor}{} -\define@cmdkey [GR] {edge} {dd}{} -\define@cmdkey [GR] {edge} {style}{} -\define@cmdkey [GR] {edge} {label}{} -\define@cmdkey [GR] {edge} {labeltext}{} -\define@cmdkey [GR] {edge} {labelcolor}{} -\define@cmdkey [GR] {edge} {labelstyle}{} -\define@boolkey[GR] {edge} {local}[true]{} -\presetkeys [GR] {edge} {style = {pos=.5}, - lw = \EdgeLineWidth, - label = {}, - labeltext = \LabelTextColor, - labelcolor = \LabelFillColor, - labelstyle = {}, - local = false, - double = {}, - dd = \EdgeDoubleDistance, - incolor = \EdgeFillColor, - color = \EdgeColor}{} -%<---------------------------------------------------------------------------> -% Edge -%<---------------------------------------------------------------------------> -\newcommand*{\Edge}[1][]{\@edge[#1]}% -\def\@edge[#1](#2)(#3){% -\setkeys[GR]{edge}{#1}% - \begingroup% -\ifthenelse{\equal{\cmdGR@edge@double}{}}{% -\tikzset{LocalEdgeStyle/.style={color = \cmdGR@edge@color, - line width = \cmdGR@edge@lw}}}{% -\tikzset{LocalEdgeStyle/.style={line width = \cmdGR@edge@dd, - color = \cmdGR@edge@double, - double distance = \cmdGR@edge@lw, - double = \cmdGR@edge@color}}}% -\ifGR@edge@local% - \tikzset{EdgeStyle/.style={}}% - \fi - \ifthenelse{\equal{\cmdGR@edge@label}{}}{% - \protected@edef\@tempa{% - \noexpand \draw[LocalEdgeStyle,\cmdGR@edge@style,EdgeStyle]}% - \@tempa (#2) to (#3)}{% - \protected@edef\@tempa{% - \noexpand \draw[LocalEdgeStyle,\cmdGR@edge@style,EdgeStyle] (#2) to% - node[fill = \cmdGR@edge@labelcolor, - text = \cmdGR@edge@labeltext, - \cmdGR@edge@labelstyle,LabelStyle]}\@tempa - {\cmdGR@edge@label} (#3)}% - ; -\endgroup% -}% -%<---------------------------------------------------------------------------> -% Edges -%<---------------------------------------------------------------------------> -\newcommand*{\Edges}[1][]{\@edges[#1]}% -\def\@edges[#1](#2){% -\setkeys[GR]{edge}{#1}% - \begingroup% - \setcounter{tkz@gr@p}{0} - \foreach \fin in {#2}{% - \ifthenelse{\value{tkz@gr@p}=0}{% - \global\let\deb\fin - \stepcounter{tkz@gr@p}}{% - \Edge[#1](\deb)(\fin) - \global\let\deb\fin - }% - } - \endgroup% -}% -%<---------------------------------------------------------------------------> -% Init loop -%<---------------------------------------------------------------------------> -\define@choicekey*[GR]{loop}{dir}[\val\nr]{WE,EA,NO,SO,NOWE,NOEA,SOWE,SOEA}{% -\ifcase\nr\relax -\tikzset{LoopStyle/.style = {in=225, out=135, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in= 45, out=-45, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=135, out= 45, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=-45, out=-135, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=180, out=90, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=90, out=0, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=-90, out=-180, distance=\cmdGR@loop@dist}}% -\or -\tikzset{LoopStyle/.style = {in=0, out=-90, distance=\cmdGR@loop@dist}}% -\fi% -} -\define@cmdkey [GR] {loop} {color}{} -\define@cmdkey [GR] {loop} {label}{} -\define@cmdkey [GR] {loop} {labelstyle}{} -\define@cmdkey [GR] {loop} {style}{} -\define@cmdkey [GR] {loop} {dist}{} -\presetkeys [GR] {loop} {style = {pre,thick},%` - label = {},% - labelstyle = {},% - color = \tkz@suc@txt,% - dist = 4cm,% - dir = WE}{} -%<---------------------------------------------------------------------------> -% loop -%<---------------------------------------------------------------------------> -\newcommand*{\grLoop}[1][]{\tkzGR@loop[#1]}% -\def\tkzGR@loop[#1](#2){% -\setkeys[GR]{loop}{#1}% -\protected@edef\@tempa{% -\noexpand \draw[\cmdGR@loop@color] (#2)% - edge [EdgeStyle,LoopStyle,\cmdGR@loop@style]% - node [LabelStyle,\cmdGR@loop@labelstyle]% - {\cmdGR@loop@label} (#2)}\@tempa;% -}% -%<---------------------------------------------------------------------------> -% Init Graphes probabilistes -%<---------------------------------------------------------------------------> -\define@cmdkey [GR] {grpb} {unit}{} -\define@cmdkey [GR] {grpb} {LposA}{} -\define@cmdkey [GR] {grpb} {LposB}{} -\define@cmdkey [GR] {grpb} {Ldist}{} -\define@cmdkey [GR] {grpb} {LoopDist}{} -\presetkeys [GR] {grpb} {LposA = 180,% - LposB = 0,% - Ldist = 0cm,% - LoopDist = 4cm, - unit = 4}{} -%<---------------------------------------------------------------------------> -% Graphes probabilistes -%<---------------------------------------------------------------------------> -\newcommand*{\grProb}[7][]{% -\setkeys[GR]{grpb}{#1}% -\tikzset{LabelStyle/.append style ={pos=.5}} -\Vertex[Lpos=\cmdGR@grpb@LposA,Ldist=\cmdGR@grpb@Ldist,L=#2]{grA} -\EA[unit=\cmdGR@grpb@unit,Lpos=\cmdGR@grpb@LposB, - Ldist=\cmdGR@grpb@Ldist,L=#3](grA){grB} -\Edge[style={post,bend left=60},label={$#4$},labelstyle={above}](grA)(grB) -\Edge[style={post,bend left=60},label={$#5$},labelstyle={below}](grB)(grA) -\grLoop[dist=\cmdGR@grpb@LoopDist,dir=WE,label={$#6$},labelstyle={left}](grA) -\grLoop[dist=\cmdGR@grpb@LoopDist,dir=EA,label={$#7$},labelstyle={right}](grB) -}% -\newcommand*{\grProbThree}[7][]{% -\setkeys[GR]{grpb}{#1}% -\begin{scope}[] - \tikzset{LabelStyle/.append style ={pos=.5}} - \Vertices[empty,unit=\cmdGR@grpb@unit]{circle}{grA,grB,grC} - \Vertex[Node,Lpos=\cmdGR@grpb@LposA,Ldist=\cmdGR@grpb@Ldist,L=#2]{grA} - \Vertex[Node,Lpos=\cmdGR@grpb@LposA,Ldist=\cmdGR@grpb@Ldist,L=#3]{grB} - \Vertex[Node,Lpos=\cmdGR@grpb@LposA,Ldist=\cmdGR@grpb@Ldist,L=#4]{grC} - \foreach \x/\y/\z in {#5} {% - \grLoop[dist=\cmdGR@grpb@LoopDist,dir=EA,label={$\x$}](grA) -\Edge[style={post,bend right=20},label={$\y$}](grA)(grB) -\Edge[style={post,bend right=20},label={$\z$}](grA)(grC)} -\foreach \x/\y/\z in {#6} {% - \grLoop[dist=\cmdGR@grpb@LoopDist,dir=NO,label={$\x$}](grB) -\Edge[style={post,bend right=20},label={$\y$}](grB)(grA) -\Edge[style={post,bend right=20},label={$\z$}](grB)(grC)} - \foreach \x/\y/\z in {#7} {% - \grLoop[dist=\cmdGR@grpb@LoopDist,dir=SO,label={$\x$}](grC) - \Edge[style={post,bend right=20},label={$\y$}](grC)(grA) - \Edge[style={post,bend right=20},label={$\z$}](grC)(grB)} -\end{scope} -} -%<---------------------------------------------------------------------------> -% End Graphes probabilistes -%<---------------------------------------------------------------------------> -\let\Loop\grLoop -\newcommand{\SetVertexLabeledSmall}{% -\SetVertexLabel% -\tikzset{VertexStyle/.style = {draw, - shape = circle, - inner sep = 1pt, - minimum size = 10pt}} -\tikzset{EdgeStyle/.style = {double = \tkz@suc@txt, - double distance = 1pt, - color = \tkz@suc@bkc, - line width = 0.7pt}} -} -\newcommand{\SetVertexNotLabeledSmall}{% - \tikzset{EdgeStyle/.style = {double = \tkz@suc@txt, - double distance = 1pt, - color = \tkz@suc@bkc, - line width = 0.7pt}} - \SetVertexNoLabel - \SetVertexSimple[MinSize=6pt,FillColor=gray] - \renewcommand*{\VertexLineWidth}{0pt} -}% - -\newcommand{\SetVertexForPresentation}[3]{% - \GraphInit[vstyle=Shade] - \SetVertexNoLabel - \renewcommand*{\VertexBigMinSize}{12pt}% - \renewcommand*{\EdgeDoubleDistance}{2pt}% - \renewcommand*{\EdgeLineWidth}{0.7pt}% - \SetGraphShadeColor{#1}{#2}{#3} -}% - -\newcommand{\setxyzvec}[1][20]{% - \pgfmathsetmacro{\xone}{cos(180+#1)}% - \pgfmathsetmacro{\yone}{sin(180+#1)}% - \pgfmathsetmacro{\xtwo}{cos(360-#1)}% - \pgfmathsetmacro{\ytwo}{sin(360-#1)}% - \pgfsetxvec{\pgfpoint{\xone cm}{\yone cm}}% - \pgfsetyvec{\pgfpoint{\xtwo cm}{\ytwo cm}}% - \pgfsetzvec{\pgfpoint{0cm}{1cm}}% -} -\endinput - |