# Tkz-berge graphs, equal arrows with unequal subfigures?

In the following MWE (alas, it is not small):

\documentclass{article}

\usepackage{tkz-berge}

\textwidth16cm
\begin{document}

\begin{tikzpicture}
\tikzset{VertexStyle/.style = {
shape = circle,
fill = black,
inner sep = 0pt,
outer sep = 0pt,
%minimum size = 8pt,
minimum size = 0pt,
draw}}
\SetGraphUnit{4}

\newbox{\BA}
\savebox{\BA}{%
\begin{tikzpicture}
\tikzset{VertexStyle/.style = {
shape = circle,
fill = black,
inner sep = 0pt,
outer sep = 0pt,
%minimum size = 8pt,
minimum size = 0pt,
draw}}

%\GraphInit[vstyle=Empty]
\SetVertexNoLabel
\begin{scope}[rotate=90,yscale=0.577]
\grCycle[prefix=v,RA=1]{4}
\grCycle[prefix=w,RA=0]{4}
%\EdgeDoubleMod{w}{4}{0}{1}%
%{v}{4}{0}{1}{4}
\Edges(v1,v3)
\end{scope}

%\draw (a2) node[below]{\textsf{a label}};
\draw (v0) node[above]{$g$};

\end{tikzpicture}}

\newbox{\BB}
\savebox{\BB}{%
\begin{tikzpicture}
\tikzset{VertexStyle/.style = {
shape = circle,
fill = black,
inner sep = 0pt,
outer sep = 0pt,
%minimum size = 8pt,
minimum size = 0pt,
draw}}

%\GraphInit[vstyle=Empty]
\SetVertexNoLabel
\begin{scope}[rotate=90,yscale=0.577]
\grCycle[prefix=v,RA=1]{4}
\grCycle[prefix=w,RA=0]{4}
\EdgeDoubleMod{w}{4}{0}{1}%
{v}{4}{0}{1}{4}
\end{scope}

%\draw (a2) node[below]{\textsf{a label}};
\draw (v0) node[above]{$g$};
\draw (v1) node[left]{$y_{i+1}$};
\draw (v3) node[right]{$y_{1}$};
\draw (v2) node[below]{$v_{i}$};

\end{tikzpicture}}

\newbox{\BC}
\savebox{\BC}{%
\begin{tikzpicture}
\tikzset{VertexStyle/.style = {
shape = circle,
fill = black,
inner sep = 0pt,
outer sep = 0pt,
%minimum size = 8pt,
minimum size = 0pt,
draw}}
\SetVertexNoLabel
%\grEmptyPath[Math,prefix=p,RA=2,RS=0]{5}
%\grEmptyPath[Math,prefix=q,RA=2,RS=3]{5}
\grPath[Math,prefix=p,RA=1,RS=0]{3}
\begin{scope}[xshift=0.5 cm]
\grPath[Math,prefix=q,RA=1,RS=1]{3}
\end{scope}
\begin{scope}
\SetGraphUnit{1}
\NO(q1){rd}
\SO(p1){dol}
\end{scope}

\Edges(p0,q0,p1,q1,p2,q2,rd,q0)
\Edges(p1,dol)
\Edges(q1,rd)
\Edges(p0,dol,p2)

\draw (rd) node[above]{$g$};
\draw (dol) node[below]{$v_i$};
\draw (p0) node[left]{$y_{i+1}$};
\draw (p2) node[right]{$y_{i}$};
\draw (q0) node[left]{$x_{i+1}$};
\draw (q2) node[right]{$x_{i}$};

\end{tikzpicture}%
}
%[\Delta_5^1,d,D_5^1]$% % \newbox{\BD} \savebox{\BD}{% \begin{tikzpicture} \tikzset{VertexStyle/.style = { shape = circle, fill = black, inner sep = 0pt, outer sep = 0pt, %minimum size = 8pt, minimum size = 0pt, draw}} \SetVertexNoLabel %\grEmptyPath[Math,prefix=p,RA=2,RS=0]{5} %\grEmptyPath[Math,prefix=q,RA=2,RS=3]{5} \grPath[Math,prefix=p,RA=1,RS=0]{2} \begin{scope}[xshift=0.5 cm] \grPath[Math,prefix=q,RA=1,RS=1]{2} \grPath[Math,prefix=n,RA=1,RS=-1]{1} \end{scope} \begin{scope}[xshift=1 cm] \grPath[Math,prefix=r,RA=1,RS=2]{1} \end{scope} \Edges(q1,r0,p0,p1,q0,q1,p1) \Edges(p0,n0,p1) \draw (r0) node[above]{$g$}; \draw (p0) node[left]{$y_{i+1}$}; \draw (p1) node[right]{$y_{i}$}; \draw (q0) node[left]{$x_{i+1}$}; \draw (q1) node[right]{$x_{i}$}; \draw (n0) node[below]{$v_{i}$}; \end{tikzpicture}% } %$[\Delta_6^0,d,D_6^0]$% % \GraphInit[vstyle=Empty] \Vertex[NoLabel]{Asr} \WE[L=\usebox{\BA}](Asr){AA} \NO[L=\usebox{\BB}](Asr){AB} \EA[L=\usebox{\BC}](Asr){AC} \SO[L=\usebox{\BD}](Asr){AD} \SetUpEdge[style={->},labelstyle={above,xshift=-3mm,yshift=1mm}] \Edges[label=$C_i$](AA,AB) \SetUpEdge[style={->},labelstyle={above,xshift=3mm,yshift=1mm}] \Edges[label=$A$](AA,AD) \SetUpEdge[style={<-},labelstyle={above,xshift=3mm,yshift=1mm}] \Edges[label=$A$](AC,AB) \SetUpEdge[style={<-},labelstyle={above,xshift=-3mm,yshift=1mm}] \Edges[label=$\bar{C_i}$](AC,AD) \end{tikzpicture} %\end{comment} Fig. 8 b. \end{document}  I have unequal arrows connecting subfigures. Is there a possibility of obtaining equal arrows connecting this subfigures with different dimensions? The length of an arrow should be at least such as of this with$A$over it. ## 1 Answer For parallel and equal-length arrows I would normally go with tikz-cd: % arara: pdflatex \documentclass{article} \usepackage{tkz-berge} \setlength{\textwidth}{16cm} % maybe use the package geometry for such things. 16 cm do not fit in article... \usepackage{tikz-cd} \tikzset{% ,VertexStyle/.style = {% ,shape = circle ,inner sep = 0pt ,fill=black ,draw } } \usepackage{blindtext} \begin{document} \begin{figure} \centering \begin{tikzcd}[% ,column sep={3cm,between origins} ,row sep={3cm,between origins} ,every arrow/.append style={% ,thick ,shorten >= 1.5cm ,shorten <= 1.5cm ,start anchor=center ,end anchor=center } ] & \begin{tikzpicture} \SetVertexNoLabel \begin{scope}[rotate=90,yscale=0.577] \grCycle[prefix=v,RA=1]{4} \grCycle[prefix=w,RA=0]{4} \EdgeDoubleMod{w}{4}{0}{1}% {v}{4}{0}{1}{4} \end{scope} \draw (v0) node[above]{$g$}; \draw (v1) node[left]{$y_{i+1}$}; \draw (v3) node[right]{$y_{1}$}; \draw (v2) node[below]{$v_{i}$}; \end{tikzpicture} \arrow{dr}{A} & \\ \begin{tikzpicture} \SetVertexNoLabel \begin{scope}[rotate=90,yscale=0.577] \grCycle[prefix=v,RA=1]{4} \grCycle[prefix=w,RA=0]{4} \Edges(v1,v3) \end{scope} \draw (v0) node[above]{$g$}; \end{tikzpicture} \arrow{dr}{A}\arrow{ur}{C_i} & & \begin{tikzpicture} \SetVertexNoLabel \grPath[Math,prefix=p,RA=1,RS=0]{3} \begin{scope}[xshift=0.5 cm] \grPath[Math,prefix=q,RA=1,RS=1]{3} \end{scope} \begin{scope} \SetGraphUnit{1} \NO(q1){rd} \SO(p1){dol} \end{scope} \Edges(p0,q0,p1,q1,p2,q2,rd,q0) \Edges(p1,dol) \Edges(q1,rd) \Edges(p0,dol,p2) \draw (rd) node[above]{$g$}; \draw (dol) node[below]{$v_i$}; \draw (p0) node[left]{$y_{i+1}$}; \draw (p2) node[right]{$y_{i}$}; \draw (q0) node[left]{$x_{i+1}$}; \draw (q2) node[right]{$x_{i}$}; \end{tikzpicture} \\ & \begin{tikzpicture} \SetVertexNoLabel \grPath[Math,prefix=p,RA=1,RS=0]{2} \begin{scope}[xshift=0.5 cm] \grPath[Math,prefix=q,RA=1,RS=1]{2} \grPath[Math,prefix=n,RA=1,RS=-1]{1} \end{scope} \begin{scope}[xshift=1 cm] \grPath[Math,prefix=r,RA=1,RS=2]{1} \end{scope} \Edges(q1,r0,p0,p1,q0,q1,p1) \Edges(p0,n0,p1) \draw (r0) node[above]{$g$}; \draw (p0) node[left]{$y_{i+1}$}; \draw (p1) node[right]{$y_{i}$}; \draw (q0) node[left]{$x_{i+1}$}; \draw (q1) node[right]{$x_{i}$}; \draw (n0) node[below]{$v_{i}$}; \end{tikzpicture} \arrow{ur}{\bar{C_i}} & \end{tikzcd} \end{figure} \blindtext \end{document}  It is quite difficult to find something nice, as the figures are that different in size. You might want to add the shorten manually to each arrow. • It is close to my expectations (+1), but now I want to enlarge the distance between arrows and$x_{i+1}$(and$x_i\$). – Przemysław Scherwentke Aug 25 '15 at 12:27
• @PrzemysławScherwentke Isn't it enough to enlarge the distance between origins and to shorten a bit more? If not, you will have to set the position manually to the arrows such as \arrow[shift left=3ex]{dr}{A}. – LaRiFaRi Aug 25 '15 at 13:11