summaryrefslogtreecommitdiffstats
path: root/Tex/Master/Vaucanson-G.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Tex/Master/Vaucanson-G.tex')
-rw-r--r--Tex/Master/Vaucanson-G.tex946
1 files changed, 0 insertions, 946 deletions
diff --git a/Tex/Master/Vaucanson-G.tex b/Tex/Master/Vaucanson-G.tex
deleted file mode 100644
index e364fc4..0000000
--- a/Tex/Master/Vaucanson-G.tex
+++ /dev/null
@@ -1,946 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Vaucanson_v4.tex
-%
-% Automata drawer based on Pstricks
-%
-% V 0.2 - 03/05/09
-% modification of StateVar
-% Chg*LabelScale is relative w.r.t Set*LabelScale
-% Chg Vaucanson to Vaucanson-G
-% V 0.3 - 03/09/10
-% VCPref-main is no more required to initialize VC-G
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Commands for geometric constructions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% constants
-\newcommand{\SQRTwo}{0.717}
-\newcommand{\SQRThree}{1.732}
-\newcommand{\GoldMean}{0.618}
-\newcommand{\GoldMeanI}{1.618}
-\newcommand{\SQRGoldMeanI}{1.272}
-\newcommand{\Vaucanson}{\textsc{V$\overline{\text{au}}$C%
-\raisebox{.3ex}{$\underline{\text{an}}$}S$\overline{\text{on}}$-G}\xspace}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Edge label drawing macros
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Separator in compound labels (eg \IOL{input}{output})
-\newcommand{\IOL}[2]{#1\!\mid\! #2}
-%%% Stacked labels
-\newcommand{\StackTwoLabels}[2]{%
- \renewcommand{\arraystretch}{0.75}%
- \begin{array}{c}#1\\ #2 \end{array}%
- \renewcommand{\arraystretch}{1.333}}
-\newcommand{\StackThreeLabels}[3]{%
- \renewcommand{\arraystretch}{0.75}%
- \begin{array}{c}#1\\ #2 \\ #3 \end{array}%
- \renewcommand{\arraystretch}{1.333}}
-%%% Stacked labels with +
-\newcommand{\StackTwoLabelsP}[2]{%
- \renewcommand{\arraystretch}{0.75}%
- \begin{array}{c}#1\\ + \\ #2 \end{array}%
- \renewcommand{\arraystretch}{1.333}}
-\newcommand{\StackThreeLabelsP}[3]{%
- \renewcommand{\arraystretch}{0.75}%
- \begin{array}{c}#1\\ + \\ #2 \\ + \\ #3 \end{array}%
- \renewcommand{\arraystretch}{1.333}}
-%%% Lined up labels (with +)
-\newcommand{\LineTwoLabelsP}[2]{#1 + #2}
-\newcommand{\LineThreeLabelsP}[3]{#1 + #2 + #3}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Scales --- Default settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\LargeScale}{0.85}
-\newcommand{\MediumScale}{0.6}
-\newcommand{\SmallScale}{0.5}
-\newcommand{\TinyScale}{0.42}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% State parameters --- Default settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Size = StateDiameter
-%%% The preset sizes are given in cm, and not in "psunits".
-%%% This allows to use different scales for the whole figure
-%%% and for the "drawing grid".
-\newlength{\MediumStateDiameter}
-\newlength{\SmallStateDiameter}
-\newlength{\LargeStateDiameter}
-\newlength{\VerySmallStateDiameter}
-\setlength{\MediumStateDiameter}{.9cm}
-\setlength{\SmallStateDiameter}{.6cm}
-\setlength{\LargeStateDiameter}{1.2cm}
-\setlength{\VerySmallStateDiameter}{.3cm}
-%%% Border line = StateLine
-\newlength{\StateLineWidth} % width
-\setlength{\StateLineWidth}{1.8pt}
-\newcommand{\StateLineStyle}{solid} % style
-\newcommand{\StateLineColor}{black}
-\newif\ifStateLineDbl \StateLineDblfalse
-\newcommand{\StateLineDblCoef}{0.6}
-\newcommand{\StateLineDblSep}{0.4}
-\newcommand{\VSStateLineCoef}{.6} % coef. for very small state
-%%% State background and label
-\newcommand{\StateFillStatus}{solid}
-\newcommand{\StateFillColor}{white}
-\newcommand{\StateLabelColor}{black}
-\newcommand{\StateLabelScale}{1.2}
-\newcommand{\SmallStateFillStatus}{solid} %
-\newcommand{\SmallStateFillColor}{white} %
- % As they have usually no labels it useful
- % to have a coloring facility for the "SmallState"
-%%% Dimmed states (e.g. for non accessible states)
-\newcommand{\DimStateLineStyle}{solid}
-\newcommand{\DimStateLineCoef}{1} %
-\newcommand{\DimStateLineColor}{gray}
-\newcommand{\DimStateLabelColor}{gray}
-\newcommand{\DimStateFillColor}{white}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Edge drawing parameters --- Default settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% line
-\newlength{\EdgeLineWidth}
-\setlength{\EdgeLineWidth}{1pt}
-\newcommand{\EdgeLineStyle}{solid}
-\newif\ifEdgeLineDbl \EdgeLineDblfalse
-%\newcommand{\EdgeLineDblStatus}{false}
-\newcommand{\EdgeLineDblCoef}{0.5}
-\newcommand{\EdgeLineDblSep}{0.6}
-\newcommand{\EdgeLineColor}{black}
-% arrow
-\newlength{\EdgeArrowWidth}\setlength{\EdgeArrowWidth}{5pt}
-\newlength{\EdgeDblArrowWidth}\setlength{\EdgeDblArrowWidth}{5.5pt}
-\newcommand{\EdgeArrowLengthCoef}{1.4}
-\newcommand{\EdgeDblArrowLengthCoef}{1.7}
-\newcommand{\EdgeArrowInset}{0.1}
-\newcommand{\EdgeArrowStyle}{->}
-\newcommand{\EdgeRevArrowStyle}{<-}
-% border
-\newcommand{\EdgeLineBorderCoef}{2}
-\newcommand{\EdgeLineBorderColor}{white}
-% label
-\newcommand{\EdgeLabelColor}{black}
-\newcommand{\EdgeLabelScale}{0.8}
-%%% Dimmed edges
-\newcommand{\DimEdgeLineCoef}{1.2}
-\newcommand{\DimEdgeLineStyle}{solid}
-\newcommand{\DimEdgeLineColor}{gray}
-\newcommand{\DimEdgeLabelColor}{gray}
-%%% Zigzag edges parameter
-\newlength{\ZZSize}
-\setlength{\ZZSize}{.9cm}%\MediumStateDiameter
-\newcommand{\ZZShape}{0.5}
-\newcommand{\ZZLineWidth}{1.7}% coefficient multiplicateur
-\newcommand{\TransLabelZZCoef}{0.6}% coefficient multiplicateur
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Edge geometric parameters --- Default settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Edge
-\newlength{\EdgeOffset}
-\setlength{\EdgeOffset}{0pt}
-\newcommand{\ForthBackEdgeOffset}{5}% coef
-% Arc parameters
-\newcommand{\VaucArcAngle}{15}
-\newcommand{\VaucArcCurvature}{0.8}
-\newlength{\VaucArcOffset}
-\setlength{\VaucArcOffset}{1pt}
-% Large Arc parameters
-\newcommand{\VaucLArcAngle}{30}
-\newcommand{\VaucLArcCurvature}{0.8}
-\newlength{\LoopOffset}\setlength{\LoopOffset}{0pt}
-\newlength{\LoopVarOffset}\setlength{\LoopVarOffset}{.7pt}
-\newcommand{\LoopAngle}{30}
-\newcommand{\CLoopAngle}{22}
-\newcommand{\LoopVarAngle}{28}
-% Size of loops (depending on the size of the state)
-\newcommand{\LoopOnMediumState}{7}
-\newcommand{\LoopOnSmallState}{9.6}
-\newcommand{\LoopOnLargeState}{5.8}
-\newcommand{\LoopOnVariableState}{5.1}
-\newcommand{\LoopOnVerySmallState}{15}
-\newcommand{\CLoopOnMediumState}{8}
-\newcommand{\CLoopOnSmallState}{12}
-\newcommand{\CLoopOnLargeState}{6}
-\newcommand{\CLoopOnVariableState}{5.2}
-%\newcommand{\CLoopOnVerySmallState}{14}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Edge label parameters --- Default settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% label distance from transition
-\newlength{\TransLabelSep}\setlength{\TransLabelSep}{3.5pt}
-% label position on transitions
-\newcommand{\EdgeLabelPosit}{.45}\newcommand{\EdgeLabelRevPosit}{.55}
-\newcommand{\ArcLabelPosit}{.4}\newcommand{\ArcLabelRevPosit}{.6}
-\newcommand{\LArcLabelPosit}{.4}\newcommand{\LArcLabelRevPosit}{.6}
-\newcommand{\LoopLabelPosit}{.25}\newcommand{\LoopLabelRevPosit}{.75}
-\newcommand{\CLoopLabelPosit}{.25}\newcommand{\CLoopLabelRevPosit}{.75}
-% label position on initial-final arrow
-\newcommand{\InitStateLabelPosit}{.1}\newcommand{\InitStateLabelRevPosit}{.9}
-\newcommand{\FinalStateLabelPosit}{.9}\newcommand{\FinalStateLabelRevPosit}{.1}
-%%% Size of initial and final arrow
-% the size is relative to the diameter
-% and the coefficient varies with the diameter
-\newcommand{\ArrowOnStateCoef}{}
-\newcommand{\ArrowOnMediumState}{1.5}
-\newcommand{\ArrowOnSmallState}{1.7}
-\newcommand{\ArrowOnLargeState}{1.3}
-\newcommand{\ArrowOnVerySmallState}{5}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Shift for aligned labels
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newlength{\VertShiftH} \settoheight{\VertShiftH}{$\{$}
-\newlength{\VertShiftD} \settodepth{\VertShiftD}{$\{$}
-\newlength{\VertShift}
-\setlength{\VertShift}{.5\VertShiftD-.5\VertShiftH}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% flags
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\ifVCFrame
-\newcommand{\HideFrame}{\VCFramefalse}
-\newcommand{\ShowFrame}{\VCFrametrue}
-\newif\ifVCGrid
-\newcommand{\HideGrid}{\VCGridfalse}
-\newcommand{\ShowGrid}{\VCGridtrue}
-\newif\ifVCRigidLabel
-\newcommand{\RigidLabel}{\VCRigidLabeltrue}
-\newcommand{\SwivelLabel}{\VCRigidLabelfalse}
-\newif\ifVCStateLabelBaseLine
-\newcommand{\AlignedLabel}{\VCStateLabelBaseLinetrue}
-\newcommand{\FloatingLabel}{\VCStateLabelBaseLinefalse}
-\HideFrame
-\HideGrid
-\RigidLabel
-\FloatingLabel
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% style for the frame around the picture
-\psset{unit=1cm}
-\newpsstyle{VaucFrameStyle}{arrows=-,framesep=0pt,%
- linewidth=0.6pt,linecolor=black,%
- linestyle=solid,%
- doubleline=false,%
- fillcolor=white,fillstyle=none,%
- cornersize=relative,framearc=0}
-\newcommand{\FrameStyle}{\psset{style=VaucFrameStyle}}
-\newpsstyle{VaucGridStyle}{%
- gridwidth=0.6pt,griddots=10,subgriddiv=1,%
- gridlabels=7pt}
-\newcommand{\GridStyle}{\psset{style=VaucGridStyle}}
-% figure, vertically centered by default
-% draw frame according to VCFrame flag
-% Set the shift for aligned label w.r.t the current size of characters
-\newenvironment{VCPicture}[2][.5]%
- {\settoheight{\VertShiftH}{$\{$}%
- \settodepth{\VertShiftD}{$\{$}%
- \setlength{\VertShift}{.5\VertShiftD-.5\VertShiftH}%
- \begin{pspicture}[#1]#2%
- \ifVCFrame \FrameStyle \psframe#2\fi%
- \ifVCGrid \FrameStyle\GridStyle \psgrid#2\fi}%
- {\RstState\RstEdge%
- \end{pspicture}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Scaling matters
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% The "sizes" (for states) and the "line widths" are given
-%%% as "lengthes" in a fixed unit (cm or pt), whereas the positions
-%%% are supposed to be given in "psunits".
-%%% This allows to use different scaling parameters
-%%% for the whole figure and for the "drawing grid".
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Scaling commands
-\newcommand{\VCScale}{0.6}% Global scale parameter
-\newcommand{\VCGridScale}{1}% Global scale parameter
-%
-\newcommand{\FixVCScale}[1]{\renewcommand{\VCScale}{#1}}% v4 pour
-% % cause de syntaxe
-\newcommand{\LargePicture}{\FixVCScale{\LargeScale}}
-\newcommand{\MediumPicture}{\FixVCScale{\MediumScale}}
-\newcommand{\SmallPicture}{\FixVCScale{\SmallScale}}
-\newcommand{\TinyPicture}{\FixVCScale{\TinyScale}}
-%%% Grid scale commands
-% \newcommand{\VCGridScale}{}% Grid scale parameter
-%
-\newcommand{\FixVCGridScale}[1]{\renewcommand{\VCGridScale}{#1}}% v4 pour
-% "grid unit"
-%%%%% Typical figure would look like
-% \scalebox{\VCScale}{%
-% \begin{VCPicture}{(x0,y0)(x1,y1)}
-% % figure description
-% \end{VCPicture}%
-% }
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Using a special directory for the figure
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\VCDirectory}{}
-\newcommand{\SetVCDirectory}[1]{\renewcommand{\VCDirectory}{#1}}
-% flag for printing the name of the figure file
-\newif\ifVCName
-\newcommand{\HideName}{\VCNamefalse}
-\newcommand{\ShowName}{\VCNametrue}
-\newcommand{\VCDraw}[2][\VCGridScale]{%
-\psset{unit=#1cm}%
-\ifVCName\makebox[0pt][r]{\fbox{{\scriptsize #2}}}\fi%
-\scalebox{\VCScale}{#2}%
-\psset{unit=1cm}}
-\newcommand{\VCCall}[2][\VCGridScale]{%
-\psset{unit=#1cm}%
-\ifVCName\makebox[0pt][r]{\fbox{{\scriptsize #2}}}\fi%
-\scalebox{\VCScale}{\input{\VCDirectory #2}}%
-\psset{unit=1cm}}
-%%% commands
-\newcommand{\VCPut}[3][0]{\rput{#1}#2{#3}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% State internal parameters --- Initial settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newlength{\StateLineWid}
-\setlength{\StateLineWid}{\StateLineWidth}
-\newcommand{\StateLineSty}{\StateLineStyle}
-\newcommand{\StateLineCol}{\StateLineColor}
-%\newcommand{\StateLineDblSta}{\StateLineDblStatus}
-\newcommand{\StateLineDblWid}{\StateLineDblWidth}
-\newcommand{\StateLineDblSp}{\StateLineDblSep}
-\newcommand{\StateFillCol}{\StateFillColor}
-\newcommand{\StateFillSta}{\StateFillStatus}
-\newcommand{\StateLabelSca}{1}
-\newcommand{\StateLabelCol}{\StateLabelColor}
-\newcommand{\StateDimen}{outer}
-\newcommand{\StateDblDimen}{middle}
-%%% Initial-final quality
-\newcommand{\VCIFflag}{2}\newcommand{\VCIFflagtemp}{2}
-\newcommand{\PlainState}%
- {\renewcommand{\VCIFflag}{0}\renewcommand{\VCIFflagtemp}{0}}
-\newcommand{\FullState}%
- {\renewcommand{\VCIFflag}{2}\renewcommand{\VCIFflagtemp}{2}}
-\newcommand{\IFState}{\renewcommand{\VCIFflag}{1}}
-\newcommand{\IFXState}{\renewcommand{\VCIFflag}{2}}
-\newcommand{\RstVCIF}{\renewcommand{\VCIFflag}{\VCIFflagtemp}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% State drawing style
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% flag for hiding -- showing states (used for overlays in slides)
-% the trick is to have two different styles and instead of
-% saving\restoring parameters
-\newif\ifVCShowState
-\newcommand{\HideState}{\VCShowStatefalse}
-\newcommand{\ShowState}{\VCShowStatetrue}
-\ShowState % initialisation
-% the only difference between the two styles is the linestyle
-\newpsstyle{VaucStateStyle}{framesep=0pt,%
- linewidth=\StateLineWid,linecolor=\StateLineCol,%
- linestyle=\StateLineSty,doubleline=false,%
- fillcolor=\StateFillCol,fillstyle=\StateFillSta,%
- border=0pt,dimen=\StateDimen,%
- cornersize=relative,framearc=1,framesep=0pt}
-\newpsstyle{VaucStateDblStyle}{framesep=0pt,%
- linewidth=\StateLineDblCoef\StateLineWid,linecolor=\StateLineCol,%
- linestyle=\StateLineSty,doubleline=true,doublesep=\StateLineDblSep\StateLineWid,%
- fillcolor=\StateFillCol,fillstyle=\StateFillSta,%
- border=0pt,dimen=\StateDblDimen,%
- cornersize=relative,framearc=1,framesep=0pt}
-\newpsstyle{VaucHiddenStateStyle}{framesep=0pt,%
- linewidth=\StateLineWid,linecolor=\StateLineCol,%
- linestyle=none,%
- fillcolor=\StateFillCol,fillstyle=none,%
- border=0pt,dimen=outer,%
- cornersize=relative,framearc=1,framesep=0pt}
-\newcommand{\StateStyle}{%
- \ifVCShowState%
- \ifStateLineDbl\psset{style=VaucStateDblStyle}\else\psset{style=VaucStateStyle}\fi%
- \else\psset{style=VaucHiddenStateStyle}\fi}
-\newcommand{\VaucStateRBLabel}[1]{%
- \textcolor{\StateLabelCol}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{\rput[B]{0}(0,\VertShift){$ #1 $}}}}}%
-\newcommand{\VaucStateLabel}[1]%
- {\ifVCShowState%
- \ifVCRigidLabel%
- \ifVCStateLabelBaseLine%
- \textcolor{\StateLabelCol}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{\rput[B]{*0}(0,\VertShift){$ #1 $}}}}%
- \else
- \textcolor{\StateLabelCol}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{\rput{*0}(0,0){$ #1 $}}}}%
- \fi
- \else
- \textcolor{\StateLabelCol}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{$ #1 $}}}%
- \fi
- \else%
- \textcolor{white}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{$ #1 $}}}%
- \fi}
-\newcommand{\VCPutStateLabel}[2]%
- {\rput#1{\scalebox{\StateLabelSca}{$ #2 $}}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% State parameter changing and setting macros
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% line style
-\newcommand{\ChgStateLineStyle}[1]{\renewcommand{\StateLineSty}{#1}}
-\newcommand{\RstStateLineStyle}{\ChgStateLineStyle{\StateLineStyle}}
-\newcommand{\SetStateLineStyle}[1]%
- {\renewcommand{\StateLineStyle}{#1}\RstStateLineStyle}%
-%%% doubleline status
-\newcommand{\StateLineDouble}{\StateLineDbltrue}
-\newcommand{\StateLineSimple}{\StateLineDblfalse}
-%%% line width
-\newcommand{\ChgStateLineWidth}[1]{\setlength{\StateLineWid}{#1\StateLineWidth}}%
-\newcommand{\RstStateLineWidth}{\ChgStateLineWidth{1}}%
-\newcommand{\SetStateLineWidth}[1]% ATTN the parameter is a length
- {\setlength{\StateLineWidth}{#1}\RstStateLineWidth}
-%%% line color
-\newcommand{\ChgStateLineColor}[1]{\renewcommand{\StateLineCol}{#1}}
-\newcommand{\RstStateLineColor}{\ChgStateLineColor{\StateLineColor}}
-\newcommand{\SetStateLineColor}[1]%
- {\renewcommand{\StateLineColor}{#1}\RstStateLineColor}
-%%% background fill status
-\newcommand{\ChgStateFillStatus}[1]{\renewcommand{\StateFillSta}{#1}}
-\newcommand{\RstStateFillStatus}{\ChgStateFillStatus{\StateFillStatus}}
-\newcommand{\SetStateFillStatus}[1]%
- {\renewcommand{\StateFillStatus}{#1}\RstStateFillStatus}
-%%% backgroud color
-\newcommand{\ChgStateFillColor}[1]{\renewcommand{\StateFillCol}{#1}}
-\newcommand{\RstStateFillColor}{\ChgStateFillColor{\StateFillColor}}
-\newcommand{\SetStateFillColor}[1]%
- {\renewcommand{\StateFillColor}{#1}\RstStateFillColor}%
-%%% label color
-\newcommand{\ChgStateLabelColor}[1]{\renewcommand{\StateLabelCol}{#1}}
-\newcommand{\RstStateLabelColor}{\ChgStateLabelColor{\StateLabelColor}}
-\newcommand{\SetStateLabelColor}[1]%
- {\renewcommand{\StateLabelCol}{#1}\RstStateLabelColor}
-%%% label scale
-\newcommand{\ChgStateLabelScale}[1]{\renewcommand{\StateLabelSca}{#1}}
-\newcommand{\RstStateLabelScale}{\ChgStateLabelScale{1}}
-\newcommand{\SetStateLabelScale}[1]%
- {\renewcommand{\StateLabelScale}{#1}\RstStateLabelScale}
-\newcommand{\FixStateLineDouble}[2]{%
- \renewcommand{\StateLineDblCoef}{#1}%
- \renewcommand{\StateLineDblSep}{#2}}
-\newcommand{\FixDimState}[5]{%
- \renewcommand{\DimStateLineStyle}{#1}%
- \renewcommand{\DimStateLineCoef}{#3}%
- \renewcommand{\DimStateLineColor}{#2}%
- \renewcommand{\DimStateLabelColor}{#4}%
- \renewcommand{\DimStateFillColor}{#5}}%
-%%% restoring state parameters
-\newcommand{\RstState}{%
- \RstStateLineStyle\RstStateLineWidth%
- \RstStateLineColor%
- \RstStateFillStatus\RstStateFillColor%
- \RstStateLabelColor\RstStateLabelScale}%
-%%% establishing the dimmed style
-\newcommand{\DimState}{%
- \ChgStateLineStyle{\DimStateLineStyle}%
- \ChgStateLineWidth{\DimStateLineCoef}%
- \ChgStateLineColor{\DimStateLineColor}%
- \ChgStateFillColor{\DimStateFillColor}%
- \ChgStateLabelColor{\DimStateLabelColor}}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% State drawing
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% preparation
-\newlength{\StateDiam}
-\newlength{\VaucAOS}\newlength{\VaucAOSdiag}
-%%% A flag to remember the current size of state
-\newcommand{\StateSizeFlag}{}
-%
-\newcommand{\SetAOS}{%
- \setlength{\VaucAOS}{\ArrowOnStateCoef\StateDiam}%
- \setlength{\VaucAOSdiag}{\SQRTwo\VaucAOS}}
-%% parameter for variable width states
-\newlength{\VariableStateIntDiam}
-\newlength{\VariableStateWidth}
-\newlength{\VariableStateITPos}
-\newcommand{\SetStateIntDiam}{%
- \setlength{\VariableStateIntDiam}{\StateDiam}%
- \addtolength{\VariableStateIntDiam}{-2\StateLineWid}%
-}%
-% Loop parameters
-\newcommand{\LoopSize}{}\newcommand{\LoopSi}{}
-\newcommand{\LoopVarSize}{}\newcommand{\LoopVarSi}{}
-\newcommand{\CLoopSize}{}\newcommand{\CLoopSi}{}
-%
-\newcommand{\ChgLoopSize}[1]{\renewcommand{\LoopSi}{#1}}
-\newcommand{\RstLoopSize}{\ChgLoopSize{\LoopSize}}
-\newcommand{\SetLoopSize}[1]%
- {\renewcommand{\LoopSize}{#1}\RstLoopSize}
-%
-\newcommand{\ChgCLoopSize}[1]{\renewcommand{\CLoopSi}{#1}}
-\newcommand{\RstCLoopSize}{\ChgCLoopSize{\CLoopSize}}
-\newcommand{\SetCLoopSize}[1]%
- {\renewcommand{\CLoopSize}{#1}\RstCLoopSize}
-%
-\newcommand{\ChgLoopVarSize}[1]{\renewcommand{\LoopVarSi}{#1}}
-\newcommand{\RstLoopVarSize}{\ChgLoopVarSize{\LoopVarSize}}
-\newcommand{\SetLoopVarSize}[1]%
- {\renewcommand{\LoopVarSize}{#1}\RstLoopVarSize}
-%
-%%% setting state diameter -- internal command
-\newcommand{\SetStateDiam}[4]{%
- \setlength{\StateDiam}{#1}%
- \renewcommand{\ArrowOnStateCoef}{#2}%
- \SetLoopSize{#3}%
- \SetLoopVarSize{#3}%
- \SetCLoopSize{#4}%
- \SetAOS\SetStateIntDiam}
-%%% setting state diameter -- external command
-\newcommand{\FixStateDiameter}[1]% v4 pour cause de syntaxe
- {\setlength{\StateDiam}{#1}\SetStateIntDiam \SetAOS}
-%%%
-\newcommand{\MediumState}%
- {\SetStateDiam{\MediumStateDiameter}{\ArrowOnMediumState}%
- {\LoopOnMediumState}{\CLoopOnMediumState}%
- \renewcommand{\StateSizeFlag}{0}}
-\newcommand{\SmallState}%
- {\SetStateDiam{\SmallStateDiameter}{\ArrowOnSmallState}%
- {\LoopOnSmallState}{\CLoopOnSmallState}%
- \renewcommand{\StateSizeFlag}{1}}
-\newcommand{\LargeState}%
- {\SetStateDiam{\LargeStateDiameter}{\ArrowOnLargeState}%
- {\LoopOnLargeState}{\CLoopOnLargeState}%
- \renewcommand{\StateSizeFlag}{2}}
-%
-\newcommand{\RstStateSize}%
- {\ifthenelse{\equal{\StateSizeFlag}{0}}%
- {\MediumState}%
- {\ifthenelse{\equal{\StateSizeFlag}{1}}%
- {\SmallState}{\LargeState}}}%
-%%% Initialization
-\MediumState
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\VaucState}[3][{}]%
- {\rput#2{%
- \Cnode[radius=.5\StateDiam](0,0){#3}%
- \ifVCShowState%
- \nput[labelsep=-.5\StateDiam]{0}{#3}%
- {\makebox[0pt]{\VaucStateLabel{#1}}}%
- \fi
- \ifthenelse{\equal{\VCIFflag}{0}}{}{%
- \pnode(-\VaucAOS,0){#3w}\pnode(\VaucAOS,0){#3e}%
- \pnode(0,\VaucAOS){#3n}\pnode(0,-\VaucAOS){#3s}%
- \ifthenelse{\equal{\VCIFflag}{1}}{}{%
- \pnode(-\VaucAOSdiag,\VaucAOSdiag){#3nw}%
- \pnode(\VaucAOSdiag,\VaucAOSdiag){#3ne}%
- \pnode(-\VaucAOSdiag,-\VaucAOSdiag){#3sw}%
- \pnode(\VaucAOSdiag,-\VaucAOSdiag){#3se}%
- }%
- }%
- }%
-}
-%
-\newcommand{\State}[3][{}]{\StateStyle\VaucState[#1]{#2}{#3}}
-%
-\newcommand{\FinalState}[3][{}]%
- {\psset{style=VaucStateDblStyle}\VaucState[#1]{#2}{#3}}
-%%% ecological commands
-\newcommand{\StateIF}[3][{}]{\IFState\State[#1]{#2}{#3}\RstVCIF}%
-\newcommand{\StateIFX}[3][{}]{\IFXState\State[#1]{#2}{#3}\RstVCIF}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Very Small State
-\newcommand{\VSState}[2]%
- {\renewcommand{\ArrowOnStateCoef}{\ArrowOnVerySmallState}%
- \FixStateDiameter{\VerySmallStateDiameter}%
- \ChgStateLineWidth{\VSStateLineCoef}%
- \State{#1}{#2}%
- \RstStateLineWidth\RstStateSize}% mod 020201
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% white brace, of no width, used to place the label vertically
-%\newlength{\BraceLength}
-\newcommand{\WB}{%
- \textcolor{white}{\{\!\!\!}}%
-\newcommand{\HS}{}
-\newlength{\ExtraSpace}
-\setlength{\ExtraSpace}{1em}
-%
-\newcommand{\StateVar}[3][]%
- {\StateStyle %
- \settowidth{\VariableStateWidth}{\scalebox{\StateLabelSca}{\scalebox{\StateLabelScale}{$#1$}}}%
- \addtolength{\VariableStateWidth}{\ExtraSpace}
- \ifthenelse{\lengthtest{\VariableStateWidth < \VariableStateIntDiam}}%
- {\setlength{\VariableStateWidth}{\VariableStateIntDiam}}{}%
- \setlength{\VariableStateITPos}{\ArrowOnStateCoef\StateDiam}%
- \addtolength{\VariableStateITPos}{0.5\VariableStateWidth}%
- \addtolength{\VariableStateITPos}{-0.5\StateDiam}%
- \rput#2{\pnode(\VariableStateITPos,0){#3e}%
- \pnode(-\VariableStateITPos,0){#3w}%
- \pnode(0,\ArrowOnStateCoef\StateDiam){#3n}%
- \pnode(0,-\ArrowOnStateCoef\StateDiam){#3s}}%
- \rput#2{\rnode{#3}{\psframebox{\protect\rule[-.5\VariableStateIntDiam]{0pt}{\VariableStateIntDiam}\protect\rule{\VariableStateWidth}{0pt}}}}
- \rput#2{\VaucStateRBLabel{#1}}%
-}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\VarLoopOn}{\ChgLoopOffset{\LoopVarOff}%
- \ChgLoopSize{\LoopVarSi}%
- \ChgLoopAngle{\LoopVarAng}}
-\newcommand{\VarLoopOff}{\RstLoopOffset \RstLoopSize \RstLoopAngle}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Edge drawing parameters --- Initial settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newlength{\EdgeLineWid}
-\setlength{\EdgeLineWid}{\EdgeLineWidth}
-\newcommand{\EdgeLineSty}{\EdgeLineStyle}
-\newcommand{\EdgeLineCol}{\EdgeLineColor}
-% label
-\newcommand{\EdgeLabelSca}{1}
-\newcommand{\EdgeLabelCol}{\EdgeLabelColor}
-% arrow
-\newlength{\EdgeArrowSZDim}
-\setlength{\EdgeArrowSZDim}{\EdgeArrowWidth}
-\newcommand{\EdgeArrowSZNum}{\EdgeArrowLengthCoef}
-\newcommand{\EdgeArrowSty}{\EdgeArrowStyle}
-\newcommand{\EdgeArrowIns}{\EdgeArrowInset}
-% border
-\newlength{\EdgeLineBord}\setlength{\EdgeLineBord}{0pt}
-%%% Zigzag edge parameter
-\newlength{\ZZSiZ}
-\setlength{\ZZSiZ}{\ZZSize}%
-\newcommand{\ZZLineWid}{\ZZLineWidth}% coefficient multiplicateur
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Edge geometric parameters --- Initial settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Edge
-\newlength{\EdgeOff}
-\setlength{\EdgeOff}{\EdgeOffset}
-% Arc
-\newcommand{\VaucArcAng}{\VaucArcAngle}
-\newcommand{\VaucLArcAng}{\VaucLArcAngle}
-\newlength{\VaucArcOff}\setlength{\VaucArcOff}{\VaucArcOffset}
-% Loop
-\newcommand{\VaucArcCurv}{\VaucArcCurvature}
-\newcommand{\VaucLArcCurv}{\VaucLArcCurvature}
-\newcommand{\LoopAng}{\LoopAngle}
-\newcommand{\CLoopAng}{\CLoopAngle}
-\newcommand{\LoopVarAng}{\LoopVarAngle}
-\newlength{\LoopOff}\setlength{\LoopOff}{\LoopOffset}
-\newlength{\LoopVarOff}\setlength{\LoopVarOff}{\LoopVarOffset}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Edge label parameters --- Initial settings
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% label distance from transition
-\newlength{\TransLabelSP}\setlength{\TransLabelSP}{\TransLabelSep}
-% label position on transitions
-\newcommand{\EdgeLabelPos}{\EdgeLabelPosit}
-\newcommand{\ArcLabelPos}{\ArcLabelPosit}
-\newcommand{\LArcLabelPos}{\LArcLabelPosit}
-\newcommand{\LoopLabelPos}{\LoopLabelPosit}
-\newcommand{\CLoopLabelPos}{\CLoopLabelPosit}
-% label position on initial-final arrow
-\newcommand{\InitStateLabelPos}{\InitStateLabelPosit}
-\newcommand{\FinalStateLabelPos}{\FinalStateLabelPosit}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Transition styles
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newpsstyle{VaucEdgeStyle}%
- {arrows=\EdgeArrowSty,arrowsize=\EdgeArrowSZDim,arrowlength=\EdgeArrowSZNum,%
- arrowinset=\EdgeArrowIns,%
- linewidth=\EdgeLineWid,linecolor=\EdgeLineCol,linestyle=\EdgeLineSty,%
- doubleline=false,%
- bordercolor=\EdgeLineBorderColor,border=\EdgeLineBord,%
- fillstyle=none,offset=\EdgeOff,%
- labelsep=\TransLabelSP,nodesep=0pt}
-\newpsstyle{VaucEdgeDblStyle}%
- {arrows=\EdgeArrowSty,arrowsize=\EdgeArrowSZDim,arrowlength=\EdgeArrowSZNum,%
- arrowinset=\EdgeArrowIns,%
- linewidth=\EdgeLineDblCoef\EdgeLineWid,linecolor=\EdgeLineCol,linestyle=\EdgeLineSty,%
- doubleline=true,doublesep=\EdgeLineDblSep\EdgeLineWid,%
- bordercolor=\EdgeLineBorderColor,border=\EdgeLineBord,%
- fillstyle=none,offset=\EdgeOff,%
- labelsep=\TransLabelSP,nodesep=0pt}
-%%% Arc
-\newpsstyle{VaucArcR}{ncurv=\VaucArcCurv,arcangle=-\VaucArcAng,%
- labelsep=\TransLabelSP,offset=-\VaucArcOff}
-\newpsstyle{VaucArcL}{ncurv=\VaucArcCurv,arcangle=\VaucArcAng,%
- labelsep=\TransLabelSP,offset=\VaucArcOff}
-\newpsstyle{VaucLArcR}{ncurv=\VaucLArcCurv,arcangle=-\VaucLArcAng,%
- labelsep=\TransLabelSP,offset=-\VaucArcOff}
-\newpsstyle{VaucLArcL}{ncurv=\VaucLArcCurv,arcangle=\VaucLArcAng,%
- labelsep=\TransLabelSP,offset=\VaucArcOff}
-%%% zig-zag
-\newpsstyle{VaucZigzagStyle}%
- {linewidth=\ZZLineWid\EdgeLineWid,%
- labelsep=\TransLabelSP,nodesep=0pt,%
- coilwidth=1.2\ZZSiZ,coilarmA=0.1\ZZSiZ,%
- coilarmB=0.3\ZZSiZ,coilheight=\ZZShape,linearc=1.6pt}
-%%%
-\newcommand{\EdgeStyle}{\ifEdgeLineDbl\psset{style=VaucEdgeDblStyle}%
- \else\psset{style=VaucEdgeStyle}\fi}
-\newcommand{\ZigzagStyle}%
- {\addtolength{\TransLabelSP}{\TransLabelZZCoef\ZZSiZ}%
- \psset{style=VaucZigzagStyle}%
- \addtolength{\TransLabelSP}{-\TransLabelZZCoef\ZZSiZ}%
- }
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Transition parameter changing and setting macros
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% geometric parameters
-\newcommand{\ChgEdgeOffset}[1]{\setlength{\EdgeOff}{#1}}
-\newcommand{\RstEdgeOffset}{\ChgEdgeOffset{\EdgeOffset}}
-\newcommand{\SetEdgeOffset}[1]%
- {\setlength{\EdgeOffset}{#1}\RstEdgeOffset}
-\newcommand{\ForthBackOffset}{%
- \setlength{\EdgeOff}{\ForthBackEdgeOffset\EdgeLineWid}}
-%
-\newcommand{\ChgArcAngle}[1]{\renewcommand{\VaucArcAng}{#1}}
-\newcommand{\RstArcAngle}{\ChgArcAngle{\VaucArcAngle}}
-\newcommand{\SetArcAngle}[1]%
- {\renewcommand{\VaucArcAngle}{#1}\RstArcAngle}
-%
-\newcommand{\ChgLArcAngle}[1]{\renewcommand{\VaucLArcAng}{#1}}
-\newcommand{\RstLArcAngle}{\ChgLArcAngle{\VaucLArcAngle}}
-\newcommand{\SetLArcAngle}[1]%
- {\renewcommand{\VaucLArcAngle}{#1}\RstLArcAngle}
-%
-\newcommand{\ChgArcCurvature}[1]{\renewcommand{\VaucArcCurv}{#1}}
-\newcommand{\RstArcCurvature}{\ChgArcCurvature{\VaucArcCurvature}}
-\newcommand{\SetArcCurvature}[1]%
- {\renewcommand{\VaucArcCurvature}{#1}\RstArcCurvature}
-%
-\newcommand{\ChgLArcCurvature}[1]{\renewcommand{\VaucLArcCurv}{#1}}
-\newcommand{\RstLArcCurvature}{\ChgLArcCurvature{\VaucLArcCurvature}}
-\newcommand{\SetLArcCurvature}[1]%
- {\renewcommand{\VaucLArcCurvature}{#1}\RstLArcCurvature}
-%
-\newcommand{\ChgArcOffset}[1]{\setlength{\VaucArcOff}{#1}}
-\newcommand{\RstArcOffset}{\setlength{\VaucArcOff}{\VaucArcOffset}}
-\newcommand{\SetArcOffset}[1]%
- {\renewcommand{\VaucArcOffset}{#1}\RstArcOffset}
-%
-\newcommand{\ChgLoopOffset}[1]{\setlength{\LoopOff}{#1}}
-\newcommand{\RstLoopOffset}{\setlength{\LoopOff}{\LoopOffset}}
-\newcommand{\SetLoopOffset}[1]%
- {\renewcommand{\LoopOffset}{#1}\RstLoopOffset}
-%
-\newcommand{\ChgLoopAngle}[1]{\renewcommand{\LoopAng}{#1}}
-\newcommand{\RstLoopAngle}{\ChgLoopAngle{\LoopAngle}}
-\newcommand{\SetLoopAngle}[1]%
- {\renewcommand{\LoopAngle}{#1}\RstLoopAngle}
-%
-\newcommand{\ChgCLoopAngle}[1]{\renewcommand{\CLoopAng}{#1}}
-\newcommand{\RstCLoopAngle}{\ChgCLoopAngle{\CLoopAngle}}
-\newcommand{\SetCLoopAngle}[1]%
- {\renewcommand{\CLoopAngle}{#1}\RstCLoopAngle}
-%
-%%% drawing parameters
-\newcommand{\ChgEdgeLineColor}[1]{\renewcommand{\EdgeLineCol}{#1}}
-\newcommand{\RstEdgeLineColor}{\ChgEdgeLineColor{\EdgeLineColor}}
-\newcommand{\SetEdgeLineColor}[1]%
- {\renewcommand{\EdgeLineColor}{#1}\RstEdgeLineColor}
-%
-\newcommand{\ChgEdgeLineStyle}[1]{\renewcommand{\EdgeLineSty}{#1}}
-\newcommand{\RstEdgeLineStyle}{\ChgEdgeLineStyle{\EdgeLineStyle}}
-\newcommand{\SetEdgeLineStyle}[1]%
- {\renewcommand{\EdgeLineStyle}{#1}\RstEdgeLineStyle}
-%
-\newcommand{\ChgEdgeLineWidth}[1]% coefficient !
- {\setlength{\EdgeLineWid}{#1\EdgeLineWidth}}
-\newcommand{\RstEdgeLineWidth}{\ChgEdgeLineWidth{1}}
-\newcommand{\SetEdgeLineWidth}[1]% length !
- {\setlength{\EdgeLineWidth}{#1}\RstEdgeLineWidth}
-%
-\newcommand{\EdgeLineDouble}%
- {\EdgeLineDbltrue%
- \ChgEdgeArrowWidth{\EdgeDblArrowWidth}
- \ChgEdgeArrowLengthCoef{\EdgeDblArrowLengthCoef}}
-\newcommand{\EdgeLineSimple}%
- {\EdgeLineDblfalse \RstEdgeArrowWidth \RstEdgeArrowLengthCoef}
-%
-\newcommand{\ChgEdgeLabelColor}[1]{\renewcommand{\EdgeLabelCol}{#1}}
-\newcommand{\RstEdgeLabelColor}{\ChgEdgeLabelColor{\EdgeLabelColor}}
-\newcommand{\SetEdgeLabelColor}[1]%
- {\renewcommand{\EdgeLabelColor}{#1}\RstEdgeLabelColor}
-%
-\newcommand{\ChgEdgeLabelScale}[1]{\renewcommand{\EdgeLabelSca}{#1}}
-\newcommand{\RstEdgeLabelScale}{\ChgEdgeLabelScale{1}}
-\newcommand{\SetEdgeLabelScale}[1]%
- {\renewcommand{\EdgeLabelScale}{#1}\RstEdgeLabelScale}
-\newcommand{\FixDimEdge}[4]{%
- \renewcommand{\DimEdgeLineStyle}{#1}%
- \renewcommand{\DimEdgeLineCoef}{#2}%
- \renewcommand{\DimEdgeLineColor}{#3}%
- \renewcommand{\DimEdgeLabelColor}{#4}}%
-%
-\newcommand{\ChgEdgeArrowStyle}[1]{\renewcommand{\EdgeArrowSty}{#1}}
-\newcommand{\RstEdgeArrowStyle}{\ChgEdgeArrowStyle{\EdgeArrowStyle}}
-\newcommand{\SetEdgeArrowStyle}[1]%
- {\renewcommand{\EdgeArrowStyle}{#1}\RstEdgeArrowStyle}
-%
-\newcommand{\ChgEdgeArrowWidth}[1]%
- {\setlength{\EdgeArrowSZDim}{#1}} % !! length !!
-\newcommand{\RstEdgeArrowWidth}{\ChgEdgeArrowWidth{\EdgeArrowWidth}}
-\newcommand{\SetEdgeArrowWidth}[1]%
- {\setlength{\EdgeArrowWidth}{#1} \RstEdgeArrowWidth}
-%
-\newcommand{\ChgEdgeArrowLengthCoef}[1]{\renewcommand{\EdgeArrowSZNum}{#1}}
-\newcommand{\RstEdgeArrowLengthCoef}{\ChgEdgeArrowLengthCoef{\EdgeArrowLengthCoef}}
-\newcommand{\SetEdgeArrowLengthCoef}[1]%
- {\renewcommand{\EdgeArrowLengthCoef}{#1}\RstEdgeArrowLengthCoef}
-%
-\newcommand{\ChgEdgeArrowInsetCoef}[1]{\renewcommand{\EdgeArrowIns}{#1}}
-\newcommand{\RstEdgeArrowInsetCoef}{\ChgEdgeArrowInsetCoef{\EdgeArrowInset}}
-\newcommand{\SetEdgeArrowInsetCoef}[1]%
- {\renewcommand{\EdgeArrowInset}{#1}\RstEdgeArrowInsetCoef}
-%
-\newcommand{\ReverseArrow}%
- {\ChgEdgeArrowStyle{\EdgeRevArrowStyle}%
- \renewcommand{\EdgeLabelPos}{\EdgeLabelRevPosit}%
- \renewcommand{\ArcLabelPos}{\ArcLabelRevPosit}%
- \renewcommand{\LArcLabelPos}{\LArcLabelRevPosit}%
- \renewcommand{\LoopLabelPos}{\LoopLabelRevPosit}%
- \renewcommand{\CLoopLabelPos}{\CLoopLabelRevPosit}%
- \renewcommand{\InitStateLabelPos}{\InitStateLabelRevPosit}%
- \renewcommand{\FinalStateLabelPos}{\FinalStateLabelRevPosit}}
-\newcommand{\StraightArrow}%
- {\ChgEdgeArrowStyle{\EdgeArrowStyle}%
- \renewcommand{\EdgeLabelPos}{\EdgeLabelPosit}%
- \renewcommand{\ArcLabelPos}{\ArcLabelPosit}%
- \renewcommand{\LArcLabelPos}{\LArcLabelPosit}%
- \renewcommand{\LoopLabelPos}{\LoopLabelPosit}%
- \renewcommand{\CLoopLabelPos}{\CLoopLabelPosit}%
- \renewcommand{\InitStateLabelPos}{\InitStateLabelPosit}%
- \renewcommand{\FinalStateLabelPos}{\FinalStateLabelPosit}}
-% Double
-\newcommand{\FixEdgeLineDouble}[2]{%
- \renewcommand{\EdgeLineDblCoef}{#1}%
- \renewcommand{\EdgeLineDblSep}{#2}}
-% border
-\newcommand{\FixEdgeBorder}[2]{%
- \renewcommand{\EdgeLineBorderCoef}{#1}%
- \renewcommand{\EdgeLineBorderColor}{#2}}
-\newcommand{\EdgeBorder}%
- {\setlength{\EdgeLineBord}{\EdgeLineBorderCoef\EdgeLineWid}}
-\newcommand{\EdgeBorderOff}{\setlength{\EdgeLineBord}{0pt}}
-%%%
-\newcommand{\DimEdge}{%
- \ChgEdgeLineStyle{\DimEdgeLineStyle}%
- \ChgEdgeLineWidth{\DimEdgeLineCoef}%
- \ChgEdgeLineColor{\DimEdgeLineColor}%
- \ChgEdgeLabelColor{\DimEdgeLabelColor}}
-%%%
-\newcommand{\ChgZZSize}[1]{\setlength{\ZZSiZ}{#1}}
-\newcommand{\RstZZSize}{\setlength{\ZZSiZ}{\ZZSize}}
-\newcommand{\SetZZSize}[1]{\setlength{\ZZSiZe}{#1}\RstZZSize}
-%%%\ZZLineWidth
-\newcommand{\ChgZZLineWidth}[1]{\renewcommand{\ZZLineWid}{#1}}
-\newcommand{\RstZZLineWidth}{\ChgZZLineWidth{\ZZLineWidth}}
-\newcommand{\SetZZLineWidth}[1]%
- {\renewcommand{\ZZLineWidth}{#1}\RstZZLineWidth}
-%
-%%% label of transitions
-\newcommand{\VaucEdgeLabel}[1]{%
- \textcolor{\EdgeLabelCol}{\scalebox{\EdgeLabelSca}{\scalebox{\EdgeLabelScale}{$ #1 $}}}}
-%%%
-\newcommand{\RstEdge}{%
- \RstEdgeOffset\RstArcAngle\RstLArcAngle%
- \RstArcCurvature\RstLArcCurvature%
- \RstArcOffset\RstLoopOffset\RstLoopSize%
- \RstEdgeLineColor\RstEdgeLineStyle\RstEdgeLineWidth\EdgeLineSimple%
- \StraightArrow%\EdgeBorderOff%
- \RstEdgeLabelScale\RstEdgeLabelColor}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Initial-final arrow drawing
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% implicit parameter
-\newcommand{\InitialDir}{w}\newcommand{\FinalDir}{e}
-% without label
-\newcommand{\Initial}[2][\InitialDir]{\EdgeStyle\ncline{#2#1}{#2}}
-\newcommand{\Final}[2][\FinalDir]{\EdgeStyle\ncline{#2}{#2#1}}
-% with label
-% NB modified syntax eg \InitialL[pos]{dir}{statename}{label}
-\newcommand{\InitialL}[4][{\InitStateLabelPos}]%
- {\EdgeStyle\ncline{#3#2}{#3}\naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\InitialR}[4][{\InitStateLabelPos}]%
- {\EdgeStyle\ncline{#3#2}{#3}\nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\FinalL}[4][{\FinalStateLabelPos}]%
- {\EdgeStyle\ncline{#3}{#3#2}\naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\FinalR}[4][{\FinalStateLabelPos}]%
- {\EdgeStyle\ncline{#3}{#3#2}\nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Transition drawing
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\EdgeL}[4][{\EdgeLabelPos}]%
- {\EdgeStyle \ncline{#2}{#3} \naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\EdgeR}[4][{\EdgeLabelPos}]%
- {\EdgeStyle \ncline{#2}{#3} \nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-%
-\newcommand{\ArcL}[4][{\ArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucArcL}%
- \ncarc{#2}{#3} \naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\ArcR}[4][{\ArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucArcR}%
- \ncarc{#2}{#3} \nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\LArcL}[4][{\LArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucLArcL}%
- \ncarc{#2}{#3} \naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\LArcR}[4][{\LArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucLArcR}%
- \ncarc{#2}{#3} \nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-%
-\newcounter{anglea}\newcounter{angleb}
-\newcommand{\LoopXR}[7]%
- {{\setcounter{anglea}{#2-#4}}%
- {\setcounter{angleb}{#2+#4}}%
- {\EdgeStyle \psset{angleA=\theanglea,angleB=\theangleb,offset=#5,ncurv=#6}%
- \nccurve{#3}{#3} \nbput[npos=#1]{\VaucEdgeLabel{#7}}}}
-\newcommand{\LoopXL}[7]%
- {{\setcounter{anglea}{#2+#4}}%
- {\setcounter{angleb}{#2-#4}}%
- {\EdgeStyle \psset{angleA=\theanglea,angleB=\theangleb,offset=-#5,ncurv=#6}%
- \nccurve{#3}{#3} \naput[npos=#1]{\VaucEdgeLabel{#7}}}}
-\newcommand{\LoopR}[4][{\LoopLabelPos}]%
- {\LoopXR{#1}{#2}{#3}{\LoopAng}{\LoopOff}{\LoopSi}{#4}}
-\newcommand{\LoopL}[4][{\LoopLabelPos}]%
- {\LoopXL{#1}{#2}{#3}{\LoopAng}{\LoopOff}{\LoopSi}{#4}}
-\newcommand{\CLoopR}[4][{\CLoopLabelPos}]%
- {\LoopXR{#1}{#2}{#3}{\CLoopAng}{\LoopOff}{\LoopSi}{#4}}
-\newcommand{\CLoopL}[4][{\CLoopLabelPos}]%
- {\LoopXL{#1}{#2}{#3}{\CLoopAng}{\LoopOff}{\LoopSi}{#4}}
-\newcommand{\LoopVarR}[4][{\LoopLabelPos}]%
- {\LoopXR{#1}{#2}{#3}{\LoopVarAng}{\LoopVarOff}{\LoopVarSi}{#4}}
-\newcommand{\LoopVarL}[4][{\LoopLabelPos}]%
- {\LoopXL{#1}{#2}{#3}{\LoopVarAng}{\LoopVarOff}{\LoopVarSi}{#4}}
-\newcommand{\LoopW}[3][{\LoopLabelPos}]{\LoopR[#1]{180}{#2}{#3}}
-\newcommand{\LoopE}[3][{\LoopLabelPos}]{\LoopL[#1]{0}{#2}{#3}}
-\newcommand{\LoopN}[3][{\LoopLabelPos}]{\LoopL[#1]{90}{#2}{#3}}
-\newcommand{\LoopS}[3][{\LoopLabelPos}]{\LoopR[#1]{-90}{#2}{#3}}
-\newcommand{\LoopNW}[3][{\LoopLabelPos}]{\LoopR[#1]{135}{#2}{#3}}
-\newcommand{\LoopNE}[3][{\LoopLabelPos}]{\LoopL[#1]{45}{#2}{#3}}
-\newcommand{\LoopSW}[3][{\LoopLabelPos}]{\LoopL[#1]{-135}{#2}{#3}}
-\newcommand{\LoopSE}[3][{\LoopLabelPos}]{\LoopR[#1]{-45}{#2}{#3}}
-\newcommand{\CLoopW}[3][{\CLoopLabelPos}]{\CLoopR[#1]{180}{#2}{#3}}
-\newcommand{\CLoopE}[3][{\CLoopLabelPos}]{\CLoopL[#1]{0}{#2}{#3}}
-\newcommand{\CLoopN}[3][{\CLoopLabelPos}]{\CLoopL[#1]{90}{#2}{#3}}
-\newcommand{\CLoopS}[3][{\CLoopLabelPos}]{\CLoopR[#1]{-90}{#2}{#3}}
-\newcommand{\CLoopNW}[3][{\CLoopLabelPos}]{\CLoopR[#1]{135}{#2}{#3}}
-\newcommand{\CLoopNE}[3][{\CLoopLabelPos}]{\CLoopL[#1]{45}{#2}{#3}}
-\newcommand{\CLoopSW}[3][{\CLoopLabelPos}]{\CLoopL[#1]{-135}{#2}{#3}}
-\newcommand{\CLoopSE}[3][{\CLoopLabelPos}]{\CLoopR[#1]{-45}{#2}{#3}}
-\newcommand{\LoopVarN}[3][{\CLoopLabelPos}]{\LoopVarL[#1]{90}{#2}{#3}}
-\newcommand{\LoopVarS}[3][{\CLoopLabelPos}]{\LoopVarR[#1]{-90}{#2}{#3}}
-%
-\newcommand{\ZZEdge}[2]%
- {\EdgeStyle\ZigzagStyle\nczigzag{#1}{#2}}%
-\newcommand{\ZZEdgeL}[4][{\EdgeLabelRevPosit}]%
- {\EdgeStyle\ZigzagStyle\nczigzag{#2}{#3}%
- \naput[npos=#1]{\VaucEdgeLabel{#4}}}
-\newcommand{\ZZEdgeR}[4][{\EdgeLabelRevPosit}]%
- {\EdgeStyle\ZigzagStyle\nczigzag{#2}{#3}%
- \nbput[npos=#1]{\VaucEdgeLabel{#4}}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Reprise des macros pstricks
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\Point}[2]{\pnode#1{#2}}
-\newcommand{\Edge}[2]{\EdgeStyle\ncline{#1}{#2}}
-%
-\newcommand{\VArcL}[5][{\ArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucLArcL}%
- \ncarc[#2]{#3}{#4} \naput[npos=#1]{\VaucEdgeLabel{#5}}}
-\newcommand{\VArcR}[5][{\ArcLabelPos}]%
- {\EdgeStyle \psset{style=VaucLArcR}%
- \ncarc[#2]{#3}{#4} \nbput[npos=#1]{\VaucEdgeLabel{#5}}}
-%
-\newcommand{\VCurveL}[5][{\ArcLabelPos}]%
- {\EdgeStyle \psset{angleA=0,angleB=180,ncurv=1}%
- \nccurve[#2]{#3}{#4} \naput[npos=#1]{\VaucEdgeLabel{#5}}}
-\newcommand{\VCurveR}[5][{\ArcLabelPos}]%
- {\EdgeStyle \psset{angleA=0,angleB=0,ncurv=1}%
- \nccurve[#2]{#3}{#4} \nbput[npos=#1]{\VaucEdgeLabel{#5}}}
-%
-\newcommand{\LabelL}[2][{\EdgeLabelPos}]%
- {\naput[npos=#1]{\VaucEdgeLabel{#2}}}
-\newcommand{\LabelR}[2][{\EdgeLabelPos}]%
- {\nbput[npos=#1]{\VaucEdgeLabel{#2}}}
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\endinput
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%