5

I have the following commutative diagram in tikz-cd, which looks pretty asymmetric to me:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}  
  & & I_1 \ar[rd] \arrow[loop above] & & \\
  & I_K \ar[ur] & & I_2 \ar[rd] & \\ 
  I_{K-1} \ar[ur] & & & & I_{3} \ar[d] \\
  I_{K-2} \ar[u] & & & & I_{4} \ar[ld]\\
  &~\ar[lu]& & ~\ar[ll,dashed, bend left]&\\
\end{tikzcd}    
\end{document}

enter image description here

Is there any way to fix this, and maybe also to make the whole diagram look more circular?

  • 1
    Probably you should check this question and adapt it, without the use of tikzcd. – Kpym Apr 30 '18 at 21:57
7

Use between origins for removing the asymmetry and play with the values of column and row separation.

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[column sep={4.5em,between origins},row sep=1.5em]
  & & I_1 \ar[rd] \arrow[loop above] & & \\
  & I_K \ar[ur] & & I_2 \ar[rd] & \\
  I_{K-1} \ar[ur] & & & & I_{3} \ar[d] \\
  I_{K-2} \ar[u] & & & & I_{4} \ar[ld]\\
  &~\ar[lu]& & ~\ar[ll,dashed, bend left]&\\
\end{tikzcd}
\end{document}

enter image description here

4

I transform my comment into an answer.

Here is one "more circular" solution without tikz-cd which is an adaptation of this answer (of myself).

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{shapes.geometric}
\tikzset{
  nonagon/.style={
    shape=regular polygon, regular polygon sides=9,
    outer sep=0, minimum size=42mm
  }
}
\begin{document}
  \begin{tikzpicture}[n5/.style={opacity=0},n6/.style=n5,e6/.style={dashed,bend left=17}]
    \path node[nonagon](H){}
      % nodes (two are invisible)
      foreach[count=\i] \x in {1,k,k-1,k-2,,,4,3,2}{(H.corner \i) node[n\i/.try] (c\i) {$I_{\x}$}}
      % edges (one is dashed and bended)
      foreach[count=\i] \j in {9,1,2,...,8}{(c\i) edge[->,e\i/.try] (c\j)}
      % the top loop
      (c1) edge [loop above,scale=1.4] ();
  \end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.