diff options
Diffstat (limited to 'obsolete/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex')
-rw-r--r-- | obsolete/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/obsolete/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex b/obsolete/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex new file mode 100644 index 0000000000..1b58c45fa1 --- /dev/null +++ b/obsolete/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex @@ -0,0 +1,459 @@ +%!TEX root = /Users/ego/Boulot/TKZ/tkz-berge/doc-us/TKZdoc-berge-main.tex + +%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––> +\section{Macros and Edges in a graph} +%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––> +\subsection{Edge in a graph from one vertex \tkzcname{EdgeInGraphFromOneToComp}} + +\begin{NewMacroBox}{EdgeInGraphFromOneToComp}{\oarg{local options}\var{prefix}\var{order}\var{from}} + +\begin{tabular}{llc} +\hline +Arguments & & Definition \\ +\midrule +\TAline{order} {}{order of the graph} +\bottomrule +\end{tabular} + +\medskip +\begin{tabular}{llc} +\midrule +options & default & definition \\ +\midrule +\TOline{RA} {4} { radius circle} +\TOline{prefix} {a} {prefix for vertices } +\TOline{Math} {false} {math mode } +\bottomrule +\end{tabular} + +\medskip +\emph{This macro works on an unique graph. |from| is integer. |EdgeInGraph| designs a macro that works only in a graph defined by a prefix. The result is some edges between the vertex |from| and the others vertices. } +\end{NewMacroBox} + + + + + +\subsubsection{Empty Cycle} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=4,prefix=a]{8}% + \EdgeInGraphFromOneToComp{a}{8}{3} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\vfill +\newpage +\subsection{Edges in a graph - a loop \tkzcname{EdgeInGraphLoop}}% +\begin{NewMacroBox}{EdgeInGraphLoop}{\var{prefix}\var{order}} +\emph{This macro is useful with vertices on a circle . |order| in an integer.} +\end{NewMacroBox} + + +\subsubsection{Empty Cycle} +\begin{center} + \begin{tkzexample}[very small] + \begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=2,prefix=a]{8}% + \EdgeInGraphLoop{a}{8} + \end{tikzpicture}\end{tkzexample} +\end{center} + +\subsubsection{Empty Cycle} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture}[node distance=4cm] + \GraphInit[vstyle=Shade] + \Vertices{square}{a0,a1,a2,a3} + \EdgeInGraphLoop{a}{4} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges in a graph - a loop \tkzcname{EdgeInGraphLoop*}} +\begin{NewMacroBox}{EdgeInGraphLoop*}{\var{prefix}\var{order}} + +\medskip +\emph{Not exactly a loop, there is no edge between the first and the last vertex.} +\end{NewMacroBox} + +\subsubsection{Empty Cycle} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Art] + \grEmptyCycle[RA=4,prefix=a]{8}% + \EdgeInGraphLoop*{a}{8} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\subsubsection{Empty Path} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \grEmptyPath[prefix=h,RA=2,RS=2]{6} + \EdgeInGraphLoop*{h}{6} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\vfill +\newpage +\subsection{Sequence of edges in a graph \tkzcname{EdgeInGraphSeq}} +\begin{NewMacroBox}{EdgeInGraphSeq}{\var{prefix}\var{start}\var{end}} + +\medskip +\emph{This macro gives a sequence of edges between |start| and |end|.\\ +|start| and |end| are two integers. } +\end{NewMacroBox} + +\subsubsection{EdgeInGraphSeq} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=2,prefix=a]{8}% + \EdgeInGraphSeq{a}{2}{5} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges in a graph \tkzcname{EdgeInGraphMod}} +\begin{NewMacroBox}{EdgeInGraphMod}{\var{prefix}\var{order}\var{add}} + +\medskip +\emph{This macro works on an unique graph. Edges between $v_i$ and $v_j$ with $i$ in $0,...,(\text{\#2}-1)$ and $j=\text{Mod(i+\#3,\#2)}$.\\ +\#2 = |order| and \#3 = |add|.\\ +|Mod| is like |mod| but the result is a positive integer. } +\end{NewMacroBox} + +\subsubsection{EdgeInGraphMod} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=2,prefix=a]{8}% + \EdgeInGraphMod{a}{8}{2} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\subsubsection{EdgeInGraphMod 2} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=3,prefix=a]{13}% + \EdgeInGraphMod{a}{13}{3} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges in a graph \tkzcname{EdgeInGraphMod*}} +\begin{NewMacroBox}{EdgeInGraphMod*}{\var{prefix}\var{order}\var{add}\var{start}\var{step}} + +\medskip +\emph{Edges between $v_i$ and $v_j$ with $i$ in $\#4,\#4+\#5,...,(\text{\#2}-1)$ and $j=\text{Mod(i+\#3,\#2)}$}\\ +\#2 = |order|, \#3 = |add|, \#4 = |start|, \#5 = |step|.\\ +\end{NewMacroBox} + +\subsubsection{EdgeInGraphMod*} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=a]{17}% + \EdgeInGraphMod*{a}{17}{5}{1}{2} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges in a graph \tkzcname{EdgeInGraphModLoop}} +\begin{NewMacroBox}{EdgeInGraphModLoop}{\var{prefix}\var{order}\var{add}\var{start}} + +\medskip +\emph{ |order|, |add| and |start| are integers.\\ +Edges between $v_i$ and $v_j$ with $i$ from $\#4$, $j=\text{Mod(i+\#3,\#2)}$ and then $i=j$ until $j=\#4$\\ +\#2 = |order|, \#3 = |add| and \#4 = |start|.} +\end{NewMacroBox} + +\subsubsection{EdgeInGraphModLoop} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=4]{7} + \EdgeInGraphModLoop{a}{7}{2}{1} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\subsubsection{EdgeInGraphModLoop} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[RA=4]{8} + \EdgeInGraphModLoop{a}{8}{2}{1} +\end{tikzpicture} +\end{tkzexample} +\end{center} + + +\newpage +\subsection{Edges between two graphs with the same order \tkzcname{EdgeIdentity}} + +\begin{NewMacroBox}{EdgeIdentity}{\var{prefix1}\var{prefix2}\var{order}} + +\medskip +\emph{|order| is an integer. This macro gives edges between two graphs.\\ +Edges between $v_i$ and $v_j$ with $i=j$ in $0,...,(\text{\#3}-1)$.\\ +\#3 = |order|.\\} +\end{NewMacroBox} + +\subsubsection{EdgeIdentity} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=v,RA=3]{5} + \grEmptyCycle[prefix=w,RA=1]{5} + \EdgeIdentity{v}{w}{5} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\vfill +\newpage +\subsection{Edges between two graphs with the same order \tkzcname{EdgeIdentity*}} + +\begin{NewMacroBox}{EdgeIdentity*}{\var{prefix1}\var{prefix2}\var{list}} + +\medskip +\emph{|list| is a list of integers. This macro gives edges between two graphs.\\ +Edges between $v_i$ and $v_j$ with $i=j$ in |list|.\\} + +\end{NewMacroBox} + +\subsubsection{EdgeIdentity*} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \begin{scope}[rotate=30] + \grEmptyCycle[RA=3,prefix=a]{5}% + \end{scope} + \grEmptyCycle[RA=5,prefix=b]{5}% + \EdgeIdentity*{a}{b}{0,...,4} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\subsubsection{EdgeIdentity*} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \begin{scope}[rotate=30] + \grEmptyCycle[RA=3,prefix=a]{5}% + \end{scope} + \grEmptyCycle[RA=5,prefix=b]{5}% + \EdgeIdentity*{a}{b}{0,2,4} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeFromOneToAll}} +\begin{NewMacroBox}{EdgeFromOneToAll}{\var{prefix1}\var{prefix2}\var{from}\var{order}} + +\medskip +\emph{The graphs must to have the same order. |from| and |order| are integers.} +\end{NewMacroBox} + +\subsubsection{EdgeFromOneToAll} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grPath[form=1,RA=2,RS=0]{5} + \grPath[form=1,prefix=b,RA=2,RS=4]{5} + \EdgeFromOneToAll{a}{b}{1}{5} +\end{tikzpicture}\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeFromOneToSeq}} +\begin{NewMacroBox}{EdgeFromOneToSeq}{\var{prefix1}\var{prefix2}\var{from}\var{start}\var{end}} + +\medskip +\emph{|from|, |start| and |end| are integers. This macro builds edges between the vertex with an indice |from| through the vertices with an indice in the sequence |start|,...,|end|.} +\end{NewMacroBox} + +\subsubsection{EdgeFromOneToSeq} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grPath[form=1,RA=2,RS=0]{5} + \grPath[form=1,prefix=b,RA=2,RS=4]{5} + \EdgeFromOneToSeq{a}{b}{1}{2}{4} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeFromOneToSel}} +\begin{NewMacroBox}{EdgeFromOneToSel}{\var{prefix1}\var{prefix2}\var{from}\var{list}} + +\medskip +\emph{This macro builds edges between the vertex with an indice |from| through the vertices with an indice in the list |list|.} +\end{NewMacroBox} + + +\subsubsection{EdgeFromOneToSel} +\begin{center} +\begin{tkzexample}[very small] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grPath[form=1,RA=2]{5} + \grPath[form=1,prefix=b,RA=2,RS=4]{5} + \EdgeFromOneToSel{a}{b}{1}{0,2,4} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeFromOneToComp}} +\begin{NewMacroBox}{EdgeFromOneToComp}{\var{prefix1}\var{prefix2}\var{from}\var{order2}} + +\medskip +\emph{This macro builds edges between the vertex with an indice |from| through all the vertices of the second graph, except the vertex with an indice |from|.} +\end{NewMacroBox} + +\subsubsection{EdgeFromOneToComp} +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grPath[form=1,RA=2,RS=0]{5} + \grPath[form=1,prefix=b,RA=2,RS=4]{5} + \EdgeFromOneToComp{a}{b}{2}{3} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeMod}}% +\begin{NewMacroBox}{EdgeMod}{\var{prefix1}\var{prefix2}\var{order}\var{step}} + +\medskip +\emph{This macro works on two graphs with the same order. We get edges between $v_i$ and $v_j$ with $i$ in $0,...,(\text{\#2}-1)$ and $j=\text{Mod(i+\#4,\#3)}$.\\ +\#3 = |order| and \#4 = |step|.} +\end{NewMacroBox} + +\subsubsection{EdgeMod} +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=a,RA=6]{9} + \grEmptyCycle[prefix=b,RA=3]{9} + \EdgeMod{a}{b}{9}{1} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeMod*}}% +\begin{NewMacroBox}{EdgeMod*}{\var{prefix1}\var{prefix2}\var{order}\var{step1}\var{step2}} + +\medskip +\emph{This macro works on two graphs with the same order. We get edges between $v_i$ and $v_j$ with $i$ in $0,...,(\text{\#3}-1)$ with a step $\text{\#5}$ and $j=\text{Mod(i+\#4,\#3)}$.\\ +\#3 = |order| , \#4 = |step1| and \#5 = |step2|.} +\end{NewMacroBox} + + +\subsubsection{\tkzcname{EdgeMod*} }%with |step1|=1 and |step2|=2 +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=a,RA=6]{8} + \grEmptyCycle[prefix=b,RA=4]{8} + \EdgeMod*{a}{b}{8}{1}{2} +\end{tikzpicture} +\end{tkzexample} +\end{center} + + +\subsubsection{EdgeMod* }%with |step1|=2 and |step2|=1 +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=a,RA=6]{8} + \grEmptyCycle[prefix=b,RA=2]{8} + \EdgeMod*{a}{b}{8}{1}{1} +\end{tikzpicture} +\end{tkzexample} +\end{center} + +\newpage +\subsection{Edges between two graphs \tkzcname{EdgeDoubleMod}}% +\begin{NewMacroBox}{EdgeDoubleMod}{\var{prefix1}\var{nb}\var{nb}\var{nb}\var{prefix2}\var{nb}\var{nb}\var{nb}\var{end}} + +For the first node, the numbers are : +\var{order1}\var{start1}\var{add1} + +\medskip +For the second node, the numbers are : +\var{order2}\var{start2}\var{add2}\var{end} + +\medskip +\emph{Edges between $v_i$ and $v_j$ with $i=\text{Mod(\#3+(\#4*k),\#2)}$ and j=$\text{Mod(\#7+(\#8*k),\#6)}$ $k$ is an integer from $0$ to |end|.\\ +\#2 = |order1|, \#3 = |start1| and \#4 = |add1|.\\ +\#6 = |order2|, \#7 = |start2| and \#8 = |add2|.} +\end{NewMacroBox} + + +\subsubsection{EdgeDoubleMod} +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \begin{scope}[rotate=-90] + \grEmptyCycle[RA=2,prefix=a]{5}{2} + \end{scope} + \begin{scope}[rotate=-18] + \grEmptyCycle[RA=4,prefix=b]{5}{2} + \end{scope} + \EdgeDoubleMod{b}{5}{0}{1}% + {a}{5}{2}{1}{5} +\end{tikzpicture} +\end{tkzexample} +\end{center} + + +\subsubsection{EdgeDoubleMod with two graphs and different orders} +\begin{center} +\begin{tkzexample}[vbox] +\begin{tikzpicture} + \GraphInit[vstyle=Shade] + \grEmptyCycle[prefix=a,RA=5]{10} + \grEmptyCycle[prefix=b,RA=7]{20} + \EdgeDoubleMod{a}{10}{0}{1}% + {b}{20}{0}{2}{10} +\end{tikzpicture} +\end{tkzexample} +\end{center} +\endinput |