Problème diagrammes commutatifs

Bonjour,
j'ai un problème lorsque je réalise des diagrammes commutatifs, mes flèches ne sont pas bien alignés selon la taille des objets de mon diagramme. Voici mon code :
\begin{center}
  \begin{tikzpicture}
    \matrix (m) [matrix of math nodes,row sep=3em,column sep=3em] { ... & C^n & C^{n+1} & C^{n+2} & ... \\ ... & D^n & D^{n+1} & D^{n+2} & ... \\};
    \path [->,>=stealth]               (m-1-1) edge node[auto]      {$d$}        (m-1-2);
    \path [->,>=stealth]               (m-1-2) edge node[auto]      {$d$}        (m-1-3);
    \path [->,>=stealth]               (m-1-3) edge node[auto]      {$d$}        (m-1-4);
    \path [->,>=stealth]               (m-1-4) edge node[auto]      {$d$}        (m-1-5);
	
    \path [->,>=stealth]               (m-2-1) edge node[auto]      {$\delta$}        (m-2-2);
    \path [->,>=stealth]               (m-2-2) edge node[auto]      {$\delta$}        (m-2-3);
    \path [->,>=stealth]               (m-2-3) edge node[auto]      {$\delta$}        (m-2-4);
    \path [->,>=stealth]               (m-2-4) edge node[auto]      {$\delta$}        (m-2-5);
	
    \path [->,>=stealth]               (m-1-2) edge node[auto]      {$f^n$}        (m-2-2);
    \path [->,>=stealth]               (m-1-3) edge node[auto]      {$f^{n+1}$}        (m-2-3);
    \path [->,>=stealth]               (m-1-4) edge node[auto]      {$f^{n+2}$}        (m-2-4);
  \end{tikzpicture}
\end{center}

En espérant que quelqu'un ait déjà eu le même problème.

Greg.87190

Réponses

  • Ah oui, TiKZ pointe vers l'objet (ex. : les points de suspension) et pas vers le centre d'une boîte pour tracer des flèches horizontales. Pour commencer, tu pourrais essayer de mettre \cdots au lieu de ces horribles « ... » quasiment illégaux.

    Pour des diagrammes comme ça, j'utilise plutôt xymatrix.
  • Sinon, la bibliothèque cd de TikZ fait ça très bien :
    \documentclass{article}
    \usepackage{tikz}
    \usetikzlibrary{cd}
    
    % Pour ne pas avoir à écrire des choses comme
    %
    %   \begin{tikzcd}[row sep=my size, column sep=my size] ... \end{tikzcd}
    %
    % dans le document, mais juste
    %
    %   \begin{tikzcd} ... \end{tikzcd}
    %
    % on pourrait changer la valeur de la taille 'normal', par exemple avec
    % \tikzcdset{row sep/normal=4em} et \tikzcdset{column sep/normal=4em}.
    \tikzcdset{row sep/my size/.initial=4em}%
    \tikzcdset{column sep/my size/.initial=4em}%
    \tikzcdset{every label/.append style = {font=\small}}% par défaut : \scriptsize
    
    \begin{document}
    \begin{center}
    \begin{tikzcd}[row sep=my size, column sep=my size]
      \cdots \ar[r, "d"] & C^n \ar[d, "f^n"] \ar[r, "d"] & C^{n+1}
        \ar[d, "f^{n+1}"] \ar[r, "d"] & C^{n+2} \ar[d, "f^{n+2}"] \ar[r, "d"] &
        \cdots\\
      \cdots \ar[r, "\delta"] & D^n \ar[r, "\delta"] & D^{n+1} \ar[r, "\delta"] &
        D^{n+2} \ar[r, "\delta"] & \cdots
    \end{tikzcd}
    \end{center}
    \end{document}
    
    87196
  • \[\xymatrix{
    \cdots\ar[r]^{d}&C^n\ar[r]^-{d}\ar[d]^{f^n}&C^{n+1}\ar[r]^{d}\ar[d]^{f^{n+1}}&C^{n+2}\ar[r]^{d}\ar[d]^{f^{n+2}}&\cdots\\
    \cdots\ar[r]^{\delta}&D^n\ar[r]^-{\delta}&D^{n+1}\ar[r]^{\delta}&D^{n+2}\ar[r]^{\delta}&\cdots
      }\]
    
    donne : \[\xymatrix{
    \cdots\ar[r]^{d}&C^n\ar[r]^-{d}\ar[d]^{f^n}&C^{n+1}\ar[r]^{d}\ar[d]^{f^{n+1}}&C^{n+2}\ar[r]^{d}\ar[d]^{f^{n+2}}&\cdots\\
    \cdots\ar[r]^{\delta}&D^n\ar[r]^-{\delta}&D^{n+1}\ar[r]^{\delta}&D^{n+2}\ar[r]^{\delta}&\cdots
    }\]
  • Oui effectivement ... n'est pas top mais j'avais une erreur avec les cdots je ne savais pas si ça venait de là donc j'ai remis ... le temps des essais. Merci pour les réponses je vais changer la méthode, du coup je dois privilégier xymatrix ou tikzcd ? Histoire de ne plus être embêté à l'avenir.
  • Je ne peux pas parler de xymatrix, je ne le connais pas. Ce que j'aime bien avec les solutions s'appuyant sur TikZ, c'est que bien souvent, on peut les étendre si besoin en bénéficiant de toute la puissance de TikZ. Voir par exemple cette question sur TeX.SE. De plus, TikZ est très utilisé et je ne crois pas que cela soit sur le point de décliner, ce qui laisse augurer de la possibilité de trouver des informations ou de l'aide sur Internet facilement encore assez longtemps à son sujet (certes, l'argument s'applique sans doute plus à TikZ qu'à tikz-cd, dont je serais bien en mal d'estimer même à la louche la « part de marché »).

    Si tu veux vraiment trancher, il faudra sans doute comparer toi-même les deux solutions...
  • En contrepoint, j'aime le côté spécialisé de xymatrix pour les diagrammes pas trop exotiques (même l'axiome de l'octaèdre doit être gérable).
Connectez-vous ou Inscrivez-vous pour répondre.