summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex')
-rw-r--r--macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex457
1 files changed, 457 insertions, 0 deletions
diff --git a/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex b/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex
new file mode 100644
index 0000000000..94f1f8aa18
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-berge/doc/latex/TKZdoc-berge-macros-e.tex
@@ -0,0 +1,457 @@
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\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}
+ \end{scope}
+ \begin{scope}[rotate=-18]
+ \grEmptyCycle[RA=4,prefix=b]{5}
+ \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