2

I'm drawing a young lattice in tikz-cd, trying to copy this image: enter image description here

My current code is this:

\documentclass{standalone}
\usepackage{tikz-cd}
\usepackage{amssymb}
\usepackage[aligntableaux = center, smalltableaux = true]{ytableau}

\begin{document}

\begin{tikzcd}[every arrow/.append style={dash}]
  \ydiagram{4} \ar[rd] && \ydiagram{3,1}\ar[ld]\ar[rd] & \ydiagram{2, 2}\ar[d] & \ydiagram{2, 1, 1}\ar[ld]\ar[rd] && \ydiagram{1, 1, 1, 1}\ar[ld]\\
                &\ydiagram{3}\ar[rd] && \ydiagram{2, 1}\ar[ld]\ar[rd] && \ydiagram{1, 1, 1}\ar[ld]\\
                &&\ydiagram{2}\ar[rd]&&\ydiagram{1, 1}\ar[ld]\\
                &&&\ydiagram{1}\ar[d]\\
                &&& \varnothing
\end{tikzcd}

\end{document}

Unfortunately, the output looks a lot worse than the diagram below as it is highly asymmetric. Is there anyway to add padding around the young diagrams so that the entire diagram is symmetric like the one I'm trying to copy? Additionally, in the original diagram the arrow lengths are all different, which helps to create the symmetry? Is it possible to do this with tikz-cd? Finally, is it possible to make the diagram less wide? 

The below is what my diagram looks like:

enter image description here

1 Answer 1

3

Adapting the solution here: tikz-cd: draw commutative square as an actual square

We can set fixed row and column sep parameters to make the diagram more symmetrical.

\documentclass{standalone}
\usepackage{tikz-cd}
\usepackage{amssymb}
\usepackage{ytableau}

\begin{document}

\begin{tikzcd}[every arrow/.append style={dash},column sep={3cm,between origins},row sep={3cm,between origins}]
  \ydiagram{4} \ar[rd] && \ydiagram{3,1}\ar[ld]\ar[rd] & \ydiagram{2, 2}\ar[d] & \ydiagram{2, 1, 1}\ar[ld]\ar[rd] && \ydiagram{1, 1, 1, 1}\ar[ld]\\
                &\ydiagram{3}\ar[rd] && \ydiagram{2, 1}\ar[ld]\ar[rd] && \ydiagram{1, 1, 1}\ar[ld]\\
                &&\ydiagram{2}\ar[rd]&&\ydiagram{1, 1}\ar[ld]\\
                &&&\ydiagram{1}\ar[d]\\
                &&& \varnothing
\end{tikzcd}

\end{document}

output of code

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .