diff options
author | Karl Berry <karl@freefriends.org> | 2018-03-11 20:26:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-03-11 20:26:48 +0000 |
commit | ecd38b6aed911b2332d01f45bb01dee5d0a9bde7 (patch) | |
tree | fdcd5d4d96b0041ae1e02b4e80293d7051bbee2a /Master/texmf-dist | |
parent | 031e05223ac38bfc9129c658004d4222f4a26209 (diff) |
adigraph (10mar18)
git-svn-id: svn://tug.org/texlive/trunk@46922 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.pdf | bin | 0 -> 87660 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.tex (renamed from Master/texmf-dist/doc/latex/adigraph/documentation.tex) | 174 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.pdf | bin | 0 -> 16456 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.tex (renamed from Master/texmf-dist/doc/latex/adigraph/test.tex) | 35 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/documentation.pdf | bin | 83820 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/adigraph/test.pdf | bin | 13329 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/adigraph/adigraph.sty | 214 |
7 files changed, 331 insertions, 92 deletions
diff --git a/Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.pdf b/Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.pdf Binary files differnew file mode 100644 index 00000000000..4123dc6ead7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.pdf diff --git a/Master/texmf-dist/doc/latex/adigraph/documentation.tex b/Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.tex index d572758fe75..5ec01003f68 100644 --- a/Master/texmf-dist/doc/latex/adigraph/documentation.tex +++ b/Master/texmf-dist/doc/latex/adigraph/adigraph_documentation.tex @@ -1,6 +1,6 @@ \documentclass{report} -\title{Adigraph, V1.2} +\title{Adigraph, V1.3} \author{Luca Cappelletti} \date{March 2018} @@ -118,8 +118,21 @@ Here we create a new Adigraph object, called \textit{myAdigraph}. } \end{minted} +\section{Changing an existing graph} +You can renovate an older graph by calling \textbackslash RenewAdigraph + +\begin{minted}{latex} +\RenewAdigraph{myAdigraph}{ + <nodes here, separated by semicolon> +}{ + <edges here, separated by semicolon> +}{ + <cuts here, separated by semicolon> +} +\end{minted} + \section{Adding nodes} -We set its nodes with the following syntax: \textit{<node name: \(x\) coordinate, \(y\) coordinate, color: label>}. +We set its nodes with the following syntax: \textit{<node name, color: \(x\) coordinate, \(y\) coordinate: label>}. \begin{figure} \begin{subfigure}{0.49\textwidth} @@ -140,24 +153,23 @@ We set its nodes with the following syntax: \textit{<node name: \(x\) coordinate \end{subfigure} \end{figure} - \subsection{Custom node colors} -To color a node you can use the following syntax: \textit{<node name: \(x\) coordinate, \(y\) coordinate, textual color>}. For example, to draw s in red and t in blue we would write: +To color a node you can use the following syntax: \textit{<node name, textual color: \(x\) coordinate, \(y\) coordinate>}. For example, to draw s in red and t in blue we would write: \begin{figure} \begin{subfigure}{0.49\textwidth} \begin{minted}{latex} \NewAdigraph{myAdigraph}{ - s:0,0,red; - t:4,0,blue; + s,red:0,0; + t,blue:4,0; } \myAdigraph{} \end{minted} \end{subfigure} \begin{subfigure}{0.49\textwidth} \NewAdigraph{myAdigraph}{ - s:0,0,red; - t:4,0,blue; + s,red:0,0; + t,blue:4,0; } \myAdigraph{} \end{subfigure} @@ -166,13 +178,13 @@ To color a node you can use the following syntax: \textit{<node name: \(x\) coor Tested available colors are: red, blue, black, green. You may extend the possible colors with LaTex libraries such as xcolor. \subsection{Custom node labels} -To add a custom label you can use the following syntax: either \textit{<node name: \(x\) coordinate, \(y\) coordinate: node label>} or \textit{<node name: \(x\) coordinate, \(y\) coordinate, textual color: node label>} will work: +To add a custom label you can use the following syntax: either \textit{<node name: \(x\) coordinate, \(y\) coordinate: node label>} or \textit{<node name,textual color: \(x\) coordinate, \(y\) coordinate: node label>} will work: \begin{figure} \begin{subfigure}{0.49\textwidth} \begin{minted}{latex} \NewAdigraph{myAdigraph}{ - s:0,0,red:start; + s,red:0,0:start; t:4,0:end; } \myAdigraph{} @@ -180,13 +192,81 @@ To add a custom label you can use the following syntax: either \textit{<node nam \end{subfigure} \begin{subfigure}{0.49\textwidth} \NewAdigraph{myAdigraph}{ - s:0,0,red:start; + s,red:0,0:start; t:4,0:end; } \myAdigraph{} \end{subfigure} \end{figure} +\section{Automatically position nodes} +When no coordinates are given or you just don't have time to think abount where to put those nodes, just choose a radius and Adigraph will position them on the circle of that radius. + +\begin{figure} + \begin{subfigure}{0.49\textwidth} + \begin{minted}{latex} +\NewAdigraph{myAdigraph}{ + 1:0,0; + 2:2; + 3:2; + 4:2; + 5:2; + 6:2; + 7:2; + 8:2; +} +\myAdigraph{} +\end{minted} + \end{subfigure} + \begin{subfigure}{0.49\textwidth} + \NewAdigraph{myAdigraph}{ + 1:0,0; + 2:2; + 3:2; + 4:2; + 5:2; + 6:2; + 7:2; + 8:2; + } + \myAdigraph{} + \end{subfigure} +\end{figure} + +\subsection{Colored automatically positioned nodes} + +\begin{figure} + \begin{subfigure}{0.49\textwidth} + \begin{minted}{latex} +\NewAdigraph{myAdigraph}{ + 1:0,0; + 2,purple:2; + 3,brown:2; + 4,gray:2; + 5,blue:2; + 6,red:2; + 7,green:2; + 8,pink:2; +} +\myAdigraph{} +\end{minted} + \end{subfigure} + \begin{subfigure}{0.49\textwidth} + \NewAdigraph{myAdigraph}{ + 1:0,0; + 2,purple:2; + 3,brown:2; + 4,gray:2; + 5,blue:2; + 6,red:2; + 7,green:2; + 8,pink:2; + } + \myAdigraph{} + \end{subfigure} +\end{figure} + + \section{Adding edges} We set its nodes with the following syntax: \textit{<node name: \(x\) coordinate, \(y\) coordinate, color : label>}. @@ -620,50 +700,46 @@ If you'd like to color the cuts you just have to add the color as follows: \text \end{subfigure} \end{figure} + \chapter{Warnings} \section{Reserved words} I reserve to use for the package the following tokens: \begin{multicols}{2} \begin{enumerate} - \item Adigraph - \item AdigraphAugmentingPaths - \item AdigraphBuildEdge - \item AdigraphBuildEdgeWrapper - \item AdigraphBuildNode - \item AdigraphBuildPath - \item AdigraphCalculateOrientation - \item AdigraphCounter - \item AdigraphCountPaths - \item AdigraphCurrentPathNumber - \item AdigraphCutBuilder - \item AdigraphDrawEdge - \item AdigraphDrawNode - \item AdigraphEdgeBuilder - \item AdigraphEdgeDrawer - \item AdigraphEdgeList - \item AdigraphEdgeName - \item AdigraphElaboratePath - \item AdigraphElaboratePath - \item AdigraphExecuteCutBuilder - \item AdigraphFirstNode - \item AdigraphMemorizeEdge - \item AdigraphMemorizeNode - \item AdigraphNodeBuilder - \item AdigraphNodeList - \item AdigraphNodeName - \item AdigraphNumberOfPaths - \item AdigraphPathBuilder - \item AdigraphProcessAugmentingPaths - \item AdigraphProcessCuts - \item AdigraphProcessEdges - \item AdigraphProcessNodes - \item AdigraphProcessPaths - \item AdigraphRom - \item AdigraphSecondNode - \item AdigraphSimpleSum - \item AdigraphTwinEdgeWeight - \item NewAdigraph + \item \textbackslash Adigraph + \item \textbackslash AdigraphBuildEdge + \item \textbackslash AdigraphBuildEdgeWrapper + \item \textbackslash AdigraphBuildNode + \item \textbackslash AdigraphBuildNodeWrapper + \item \textbackslash AdigraphBuildPath + \item \textbackslash AdigraphCalculateOrientation + \item \textbackslash AdigraphCountPaths + \item \textbackslash AdigraphCutBuilder + \item \textbackslash AdigraphDrawEdge + \item \textbackslash AdigraphDrawNode + \item \textbackslash AdigraphEdgeBuilder + \item \textbackslash AdigraphEdgeDrawer + \item \textbackslash AdigraphElaboratePath + \item \textbackslash AdigraphExecuteCutBuilder + \item \textbackslash AdigraphGenerateNodeName + \item \textbackslash AdigraphMemorizeEdge + \item \textbackslash AdigraphMemorizeNode + \item \textbackslash AdigraphNodeBuilder + \item \textbackslash AdigraphNodeCounter + \item \textbackslash AdigraphNodeCounterSecondWrapper + \item \textbackslash AdigraphNodeCounterWrapper + \item \textbackslash AdigraphNodesCounter + \item \textbackslash AdigraphPathBuilder + \item \textbackslash AdigraphProcessAugmentingPaths + \item \textbackslash AdigraphProcessAugmentingPathsList + \item \textbackslash AdigraphProcessCuts + \item \textbackslash AdigraphProcessEdges + \item \textbackslash AdigraphProcessNodes + \item \textbackslash AdigraphProcessPaths + \item \textbackslash AdigraphSimpleSum + \item \textbackslash NewAdigraph + \item \textbackslash RenewAdigraph \end{enumerate} \end{multicols} diff --git a/Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.pdf b/Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.pdf Binary files differnew file mode 100644 index 00000000000..f9d1eb94f6e --- /dev/null +++ b/Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.pdf diff --git a/Master/texmf-dist/doc/latex/adigraph/test.tex b/Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.tex index ba12098a92a..ac4c40406e9 100644 --- a/Master/texmf-dist/doc/latex/adigraph/test.tex +++ b/Master/texmf-dist/doc/latex/adigraph/adigraph_working_test.tex @@ -2,7 +2,7 @@ \usepackage{adigraph} -\title{Adigraph, V1.2, small working test} +\title{Adigraph, V1.3, small working test} \author{Luca Cappelletti} \date{March 2018} @@ -39,4 +39,37 @@ 2,t,red; 3,4,blue; } + +\NewAdigraph{mySecondAdigraph}{ + s:3; + 1:3; + 3:3; + 2:3; + 4:3; + t:3; +}{ + s,1:25; + s,3:25; + 3,4:25; + 1,2:35; + 2,t:20; + 4,t:30; + 3,1:10; + 4,2:10; + 2,3:15::near start; + 4,1:5::near start; +} + +\mySecondAdigraph{} + + +\mySecondAdigraph{ + s,3,4,2,t:5; +} + +\mySecondAdigraph{}{ + 2,t,red; + 3,4,blue; +} + \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/adigraph/documentation.pdf b/Master/texmf-dist/doc/latex/adigraph/documentation.pdf Binary files differdeleted file mode 100644 index 911e38550ad..00000000000 --- a/Master/texmf-dist/doc/latex/adigraph/documentation.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/adigraph/test.pdf b/Master/texmf-dist/doc/latex/adigraph/test.pdf Binary files differdeleted file mode 100644 index bd969940ca7..00000000000 --- a/Master/texmf-dist/doc/latex/adigraph/test.pdf +++ /dev/null diff --git a/Master/texmf-dist/tex/latex/adigraph/adigraph.sty b/Master/texmf-dist/tex/latex/adigraph/adigraph.sty index 5d8ad435831..9e0f6c43215 100644 --- a/Master/texmf-dist/tex/latex/adigraph/adigraph.sty +++ b/Master/texmf-dist/tex/latex/adigraph/adigraph.sty @@ -9,7 +9,7 @@ % \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesPackage{adigraph} -[2018/03/09 v1.2 LaTeX package for creating augmenting directed graphs] +[2018/03/10 v1.3 LaTeX package for creating augmenting directed graphs] \RequirePackage{etoolbox} \RequirePackage{fp} @@ -22,11 +22,10 @@ \newcommand*{\AdigraphRom}[1]{\expandafter\@slowromancap\romannumeral #1@} \makeatother +\newcounter{AdigraphTotalNodeCounter} +\newcounter{AdigraphCurrentNodeCounter} \newcounter{AdigraphNumberOfPaths} -\setcounter{AdigraphNumberOfPaths}{0} - \newcounter{AdigraphCurrentPathNumber} -\setcounter{AdigraphCurrentPathNumber}{0} \NewDocumentCommand{\AdigraphDrawNode}{m}{% % @@ -53,11 +52,32 @@ \letcs{\secondX}{adigraphNode#2X} \letcs{\secondY}{adigraphNode#2Y} - \ifnumgreater{\secondX-\firstX}{0}{% + \providebool{equalX} + \FPifeq{\firstX}{\secondX} + \booltrue{equalX} + \else + \boolfalse{equalX} + \fi + + \providebool{ltX} + \FPiflt{\firstX}{\secondX} + \booltrue{ltX} + \else + \boolfalse{ltX} + \fi + + \providebool{ltY} + \FPiflt{\firstY}{\secondY} + \booltrue{ltY} + \else + \boolfalse{ltY} + \fi + + \ifbool{ltX}{% \def\AdigraphLabelPosition{above} }{% - \ifnumequal{\secondX-\firstX}{0}{% - \ifnumgreater{\secondY-\firstY}{0}{% + \ifbool{equalX}{% + \ifbool{ltY}{% \def\AdigraphLabelPosition{left} }{% \def\AdigraphLabelPosition{right} @@ -96,32 +116,56 @@ } } +\NewDocumentCommand{\AdigraphGenerateNodeName}{m m G{black}}{} \NewDocumentCommand{\AdigraphMemorizeNode}{m m G{black}}{} -\NewDocumentCommand{\AdigraphBuildNode}{m > { \SplitArgument{ 2 } {,} } m G{#1}}{% +\NewDocumentCommand{\AdigraphBuildNode}{> { \SplitArgument{ 1 } {,} } m > { \SplitArgument{ 1 } {,} } m m}{% % % #1 -> given node name, not normalized % #2 -> list of coordinates and color % #3 -> optional label % - \ifblank{#1}{% - %Do nothing, this is the tail of the list - }{% - \IfInteger{#1}{% - \def\AdigraphNodeName{\AdigraphRom{#1}}% - \listgadd{\AdigraphNodeList}{\AdigraphRom{#1}} + \RenewDocumentCommand{\AdigraphGenerateNodeName}{m G{black}}{% + \IfInteger{##1}{% + \def\AdigraphNodeName{\AdigraphRom{##1}}% + \listgadd{\AdigraphNodeList}{\AdigraphRom{##1}} }{% - \def\AdigraphNodeName{#1}% - \listgadd{\AdigraphNodeList}{#1} + \def\AdigraphNodeName{##1}% + \listgadd{\AdigraphNodeList}{##1} }% - \RenewDocumentCommand{\AdigraphMemorizeNode}{m m G{black}}{% + \csdef{adigraphNode\AdigraphNodeName Color}{##2}% + \ifblank{#3}{ + \csdef{adigraphNode\AdigraphNodeName Label}{##1}% + }{ \csdef{adigraphNode\AdigraphNodeName Label}{#3}% + } + } + \RenewDocumentCommand{\AdigraphMemorizeNode}{m G{}}{% + \ifblank{##2}{ + \newcount\radius + \newcount\myi + \newcount\myn + \newcount\mydpi + \radius ##1\relax + \myi \value{AdigraphCurrentNodeCounter}\relax + \myn \value{AdigraphTotalNodeCounter}\relax + \FPset{\mydpi}{6.283185307179586476} + \FPmul{\numerator}{\the\myi}{\mydpi} + \FPdiv{\anomaly}{\numerator}{\the\myn} + \FPcos{\nodeX}{\anomaly} + \FPsin{\nodeY}{\anomaly} + \FPmul{\nodeX}{\nodeX}{\the\radius} + \FPmul{\nodeY}{\nodeY}{\the\radius} + \csedef{adigraphNode\AdigraphNodeName X}{\nodeX}% + \csedef{adigraphNode\AdigraphNodeName Y}{\nodeY}% + \stepcounter{AdigraphCurrentNodeCounter} + }{ \csdef{adigraphNode\AdigraphNodeName X}{##1}% \csdef{adigraphNode\AdigraphNodeName Y}{##2}% - \csdef{adigraphNode\AdigraphNodeName Color}{##3}% - }% - \AdigraphMemorizeNode#2 - } + } + }% + \AdigraphGenerateNodeName#1 + \AdigraphMemorizeNode#2 } \NewDocumentCommand{\AdigraphMemorizeEdge}{m m G{black}}{} @@ -187,15 +231,15 @@ \NewDocumentCommand{\AdigraphElaboratePath}{m m G{black}}{} -\newcount\AdigraphCounter \NewDocumentCommand{\AdigraphSimpleSum}{m m m}{% % % #1 -> First addendum % #2 -> Second addendum % #3 -> Variable to store sum % + \newcount\AdigraphCounter \AdigraphCounter #1\relax - \advance\AdigraphCounter +#2\relax + \advance\AdigraphCounter #2\relax \FPset{#3}{\the\AdigraphCounter} } @@ -273,8 +317,16 @@ \undef{\AdigraphLastParsedNode} } +\NewDocumentCommand{\AdigraphBuildNodeWrapper}{m m G{}}{ + \ifblank{#1}{ + %end of list + }{ + \AdigraphBuildNode{#1}{#2}{#3} + } +} + \NewDocumentCommand{\AdigraphNodeBuilder}{ > { \SplitArgument{ 2 } {:} } m }{% - \AdigraphBuildNode#1 + \AdigraphBuildNodeWrapper#1 } \NewDocumentCommand{\AdigraphEdgeBuilder}{ > { \SplitArgument{ 3 } {:} } m }{% @@ -285,6 +337,26 @@ \AdigraphDrawEdge#1 } +\NewDocumentCommand{\AdigraphNodeCounter}{m G{}}{% + \ifblank{#2}{ + \stepcounter{AdigraphTotalNodeCounter} + }{} +} + +\NewDocumentCommand{\AdigraphNodeCounterWrapper}{m > { \SplitArgument{ 1 } {,} } m m m }{% + \ifblank{#1}{}{ + \AdigraphNodeCounter#2 + } +} + +\NewDocumentCommand{\AdigraphNodeCounterSecondWrapper}{ > { \SplitArgument{ 3 } {:} } m }{% + \AdigraphNodeCounterWrapper#1 +} + +\NewDocumentCommand{\AdigraphNodesCounter}{> { \SplitList{;} } m}{% + \ProcessList{#1}{\AdigraphNodeCounterSecondWrapper} +} + \NewDocumentCommand{\AdigraphProcessNodes}{> { \SplitList{;} } m}{% \ProcessList{#1}{\AdigraphNodeBuilder} \forlistloop{\AdigraphDrawNode}{\AdigraphNodeList} @@ -309,6 +381,13 @@ \letcs{\secondX}{adigraphNode#3X} \letcs{\secondY}{adigraphNode#3Y} + \providebool{equalX} + \FPifeq{\firstX}{\secondX} + \booltrue{equalX} + \else + \boolfalse{equalX} + \fi + \ifnumequal{\secondX-\firstX}{0}{% \FPset{#1}{90} }{% @@ -368,6 +447,7 @@ \ifblank{#1}{% % List is empty }{% + \AdigraphNodesCounter{#1} \AdigraphProcessNodes{#1} } @@ -394,37 +474,87 @@ \forlistloop{\AdigraphEdgeDrawer}{\AdigraphEdgeList} } - %cuts - \ifblank{#4}{% - % List is empty - }{% - \AdigraphProcessCuts{#4} - } + % %cuts + % \ifblank{#4}{% + % % List is empty + % }{% + % \AdigraphProcessCuts{#4} + % } \end{tikzpicture} } +\NewDocumentCommand{\AdigraphProcessAugmentingPaths}{m}{} +\NewDocumentCommand{\AdigraphProcessAugmentingPathsList}{m}{} + \NewDocumentCommand{\NewAdigraph}{m m G{}}{% % % #1 -> Variable to assign to as command % #2 -> Nodes % #3 -> Edges % - \csdef{Adigraph#1AugmentingPaths}{}% - \expandafter\NewDocumentCommand{\AdigraphProcessAugmentingPaths}{m}{% - \listcsgadd{Adigraph#1AugmentingPaths}{##1} + \ifcsdef{#1}{ + \PackageError{adigraph}{% + You have already define an adigraph called #1. + }{% + Identify the duplicate and change its name, e.g. Second#1 + } + }{ + \csdef{Adigraph#1AugmentingPaths}{}% + \expandafter\RenewDocumentCommand{\AdigraphProcessAugmentingPaths}{m}{% + \listcsgadd{Adigraph#1AugmentingPaths}{##1} + } + \expandafter\RenewDocumentCommand{\AdigraphProcessAugmentingPathsList}{> { \SplitList{;} } m}{% + \AdigraphProcessAugmentingPaths##1 + } + \expandafter\NewDocumentCommand\expandafter{\csname #1\endcsname}{m G{}}{% + % + % ##1 -> Augmenting path + % + \setcounter{AdigraphCurrentNodeCounter}{0} + \setcounter{AdigraphTotalNodeCounter}{0} + \setcounter{AdigraphNumberOfPaths}{0} + \setcounter{AdigraphCurrentPathNumber}{0} + \AdigraphProcessAugmentingPathsList{##1} + \Adigraph{#2}{#3}{Adigraph#1AugmentingPaths}{##2}{##1} + }% } - \expandafter\NewDocumentCommand{\AdigraphProcessAugmentingPathsList}{> { \SplitList{;} } m}{% - \AdigraphProcessAugmentingPaths##1 +} + +\NewDocumentCommand{\RenewAdigraph}{m m G{}}{% + % + % #1 -> Variable to assign to as command + % #2 -> Nodes + % #3 -> Edges + % + \ifcsdef{#1}{ + \csdef{Adigraph#1AugmentingPaths}{}% + \expandafter\RenewDocumentCommand{\AdigraphProcessAugmentingPaths}{m}{% + \listcsgadd{Adigraph#1AugmentingPaths}{##1} + } + \expandafter\RenewDocumentCommand{\AdigraphProcessAugmentingPathsList}{> { \SplitList{;} } m}{% + \AdigraphProcessAugmentingPaths##1 + } + \expandafter\RenewDocumentCommand\expandafter{\csname #1\endcsname}{m G{}}{% + % + % ##1 -> Augmenting path + % + \setcounter{AdigraphCurrentNodeCounter}{0} + \setcounter{AdigraphTotalNodeCounter}{0} + \setcounter{AdigraphNumberOfPaths}{0} + \setcounter{AdigraphCurrentPathNumber}{0} + \AdigraphProcessAugmentingPathsList{##1} + \Adigraph{#2}{#3}{Adigraph#1AugmentingPaths}{##2}{##1} + }% + }{ + \PackageError{adigraph}{% + You cannot renew a graph called #1 without having it defined first. + }{% + Create the first graph using \textbackslash NewAdigraph + } } - \expandafter\NewDocumentCommand\expandafter{\csname #1\endcsname}{m G{}}{% - % - % ##1 -> Augmenting path - % - \AdigraphProcessAugmentingPathsList{##1} - \Adigraph{#2}{#3}{Adigraph#1AugmentingPaths}{##2}{##1} - }% } + \endinput %% %% End of file `adigraph.sty'.
\ No newline at end of file |