0

It seems that the vertical distance between $\alpha_1,\alpha_2$ is larger than $\alpha_2,\alpha_3$. I post my code in the following

\tikzset{%
    mypoint/.style={circle, fill=black},
    middlearrow/.style={% this code is from https://tex.stackexchange.com/a/39283/101651
        decoration={markings,
            mark= at position 0.5 with {\arrow[scale=2]{#1}} ,
        },
        postaction={decorate}
    }
}
\begin{tikzpicture}
    \matrix[column sep=2.5em, row sep=8ex, inner sep=0pt, minimum width=4pt] {%
        %first row
        \node (startrow1) {}; &&&
        \node[mypoint, label={[above,yshift=2pt]$\binom{\alpha_3}{0}$}] (B1) {}; &&
        \node[mypoint, label={[above,yshift=2pt]$\binom{\alpha_3}{1}$}] (B2) {}; &&
        %\node[mypoint, label={[above,yshift=2pt]$\beta_{3}$}] (B3) {}; &&
        \node[text width=3em, align=center] (endrow1) {$\alpha_3$};
        \\
        %second row
        \node (startrow2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{0}$}] (A1) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{1}$}] (A2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{2}$}] (A3) {}; &&
        \node[text width=2.5em, align=center] (endrow2) {$\alpha_2$};
        \\
         %third row
        \node (startrow3) {}; &
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{0}$}] (C1) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{1}$}] (C2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{2}$}] (C3) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{3}$}] (C4) {}; &&
        \node[text width=2.0em, align=center] (endrow3) {$\alpha_1$};
        \\
        };
    \draw[dashed] (startrow1) -- (B1)
    (B2) -- (endrow1)
    (startrow2) -- (A1)
    (A3) -- (endrow2)
    (startrow3) -- (C1)
    (C3) -- (endrow3);
    \draw[middlearrow={<}] (B1) -- (B2);
   % \draw[middlearrow={<}] (B2) -- (B3);
    \draw[middlearrow={<}] (A1) -- (A2);
    \draw[middlearrow={<}] (A2) -- (A3);
    \draw[middlearrow={>}, dashed] (A1) -- (B1);
    \draw[middlearrow={>}] (B1) -- (A2);
    \draw[middlearrow={>}] (A2) -- (B2);
    \draw[middlearrow={>}] (B2) -- (A3);
  %  \draw[middlearrow={>}, dashed] (A3) -- (B3);
     \draw[middlearrow={<}] (C1) -- (C2);
    \draw[middlearrow={<}] (C2) -- (C3);
    \draw[middlearrow={<}] (C3) -- (C4);
    \draw[middlearrow={>}, dashed] (C1) -- (A1);
    \draw[middlearrow={<}] (C2) -- (A1);
    \draw[middlearrow={<}] (C2) -- (A2);
    \draw[middlearrow={<}] (A2) -- (C3);
    \draw[middlearrow={<}] (C3) -- (A3);
    \draw[middlearrow={>}, dashed] (A3) -- (C4);
\end{tikzpicture}
Tiuri
  • 7,749
Daisy
  • 149

2 Answers2

4

Distance between columns and rows is fixed after nodes are completed. Then as second row nodes include labels below, third row dots are placed 8ex below the label and not below the second row dots.

You can first draw the dots matrix and later on add the binomial labels or can include a phantom label on first row to force similar distance between rows, like in following code:

\documentclass[tikz,border=2mm]{standalone} 
\usetikzlibrary{positioning, matrix, decorations.markings}
\usepackage{mathtools}

\begin{document}
\begin{tikzpicture}[%
    mypoint/.style={circle, fill=black},
    middlearrow/.style={% this code is from https://tex.stackexchange.com/a/39283/101651
        decoration={markings,
            mark= at position 0.5 with {\arrow[scale=2]{#1}} ,
        },
        postaction={decorate}
    }
]
    \matrix[column sep=2.5em, row sep=8ex, inner sep=0pt, minimum width=4pt] {%
        %first row
        \node (startrow1) {}; &&&
        \node[mypoint, label={[above,yshift=2pt]$\binom{\alpha_3}{0}$},
                            label={[below,yshift=-22pt] \phantom{$\binom{\alpha_2}{0}$}}] (B1) {}; &&
        \node[mypoint, label={[above,yshift=2pt]$\binom{\alpha_3}{1}$}] (B2) {}; &&
        %\node[mypoint, label={[above,yshift=2pt]$\beta_{3}$}] (B3) {}; &&
        \node[text width=3em, align=center] (endrow1) {$\alpha_3$};
        \\
        %second row
        \node (startrow2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{0}$}] (A1) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{1}$}] (A2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt] $\binom{\alpha_2}{2}$}] (A3) {}; &&
        \node[text width=2.5em, align=center] (endrow2) {$\alpha_2$};
        \\
         %third row
        \node (startrow3) {}; &
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{0}$}] (C1) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{1}$}] (C2) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{2}$}] (C3) {}; &&
        \node[mypoint, label={[below,yshift=-22pt]$\binom{\alpha_1}{3}$}] (C4) {}; &&
        \node[text width=2.0em, align=center] (endrow3) {$\alpha_1$};
        \\
        };
    \draw[dashed] (startrow1) -- (B1)
    (B2) -- (endrow1)
    (startrow2) -- (A1)
    (A3) -- (endrow2)
    (startrow3) -- (C1)
    (C3) -- (endrow3);
    \draw[middlearrow={<}] (B1) -- (B2);
   % \draw[middlearrow={<}] (B2) -- (B3);
    \draw[middlearrow={<}] (A1) -- (A2);
    \draw[middlearrow={<}] (A2) -- (A3);
    \draw[middlearrow={>}, dashed] (A1) -- (B1);
    \draw[middlearrow={>}] (B1) -- (A2);
    \draw[middlearrow={>}] (A2) -- (B2);
    \draw[middlearrow={>}] (B2) -- (A3);
  %  \draw[middlearrow={>}, dashed] (A3) -- (B3);
     \draw[middlearrow={<}] (C1) -- (C2);
    \draw[middlearrow={<}] (C2) -- (C3);
    \draw[middlearrow={<}] (C3) -- (C4);
    \draw[middlearrow={>}, dashed] (C1) -- (A1);
    \draw[middlearrow={<}] (C2) -- (A1);
    \draw[middlearrow={<}] (C2) -- (A2);
    \draw[middlearrow={<}] (A2) -- (C3);
    \draw[middlearrow={<}] (C3) -- (A3);
    \draw[middlearrow={>}, dashed] (A3) -- (C4);
    \end{tikzpicture}
\end{document}

enter image description here

Ignasi
  • 136,588
1

It seems that the problem is related to the labels of the points. You could use yshift=-27pt for all the labels of the points in the first row (maybe play around a bit that value of yshift). By this, the labels of the first row will appear below the points, and the space between α₁,α₂ and α₂,α₃ will be equal.