Setas paralelas no diagrama comutativo em Tikz

Setas paralelas no diagrama comutativo em Tikz

Eu gostaria de fazer com que todas as setas que deveriam ser paralelas no meu diagrama comutativo fossem realmente paralelas. Aqui está meu diagrama:

  \begin{center}
    \begin{tikzpicture}
    \matrix (m) [matrix of math nodes,row sep=3em,column sep=4em,minimum width=3em]
    {
        F(\mu F) & FA \\
        \mu F & A \\};
    \path[-stealth]
    (m-1-1) edge node [left] {$ in_{F} $} (m-2-1)
    edge  node [above] {$F(h)$} (m-1-2)
    (m-2-1.east) edge node [above] {$h$}
    node [above] {} (m-2-2)
    (m-1-2) edge node [right] {$ g $} (m-2-2)
    ;
    \end{tikzpicture}
\end{center}

insira a descrição da imagem aqui

Como posso mudar isso e obter um quadrado adequado?

Responder1

Em vez de uma matriz, use uma extensão especializada do TikZ, a saber tikz-cd:

\documentclass[a4paper,12pt]{article}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}
F(\mu F) \arrow[r, "F(h)"] \arrow[d, "\mathit{in}_{F}"'] & FA \arrow[d, "g"] \\
\mu F \arrow[r, "h"] & A
\end{tikzcd}
\end{document}

A sintaxe é mais natural, os rótulos têm tamanho adequado e as setas são como na fonte matemática geral.

insira a descrição da imagem aqui

Responder2

insira a descrição da imagem aqui

\documentclass[border=3mm]{standalone}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[row sep=huge] % <---
    F(\mu F)
    \arrow{r}{F(h)} 
    \arrow{d}{in_F}
&
    FA
    \arrow{d}{g}   \\
%
    A
    \arrow{r}{h}
&
    (\mu F)
\end{tikzcd}
\end{document}

ah, a resposta é quase a mesma desebastiano:-(. bem, o diagrama é um pouco mais quadrado :-)

Responder3

Na verdade, há uma pequena mudança a ser feita que corrigiria coisas que podem lhe interessar, pois também é útil em outras partes do LaTeX. O problema aqui é que \mutem descendente, mas FAnão tem. Você pode obter uma caixa que tenha "todas as alturas" associadas a letras altas e descendentes, mas sem largura \strut, então:

    F(\mu F) & FA\strut \\
    \mu F & A\strut

O resto do documento pode permanecer exatamente igual. Se você estiver paranóico, poderá adicionar \struts às outras células, bem como à prova de futuro, caso altere seu conteúdo posteriormente.

De forma mais geral, você pode usar \vphantomcaixas sem largura com os mesmos parâmetros de altura e profundidade de uma determinada outra caixa e \hphantompara caixas sem altura com a mesma largura de uma determinada outra caixa. Então a versão verdadeiramente paranóica seria

    F(\mu F)\vphantom{FA} & FA\vphantom{F(\mu F)} \\
    \mu F\vphantom{A} & A\vphantom{\mu F}

o que garantiria que você tivesse a mesma altura e profundidade em todas as colunas de cada linha. (Também teria a vantagem \strutde ser "mínimo" em relação à altura e profundidade; por exemplo, se nada em uma determinada linha tivesse descendentes, adicionar um \strutem todos os lugares daria profundidade, mas usar \vphantomcomo acima não.)

informação relacionada