Tikz 交換圖中的平行箭頭

Tikz 交換圖中的平行箭頭

我想讓交換圖中所有應該平行的箭頭其實是平行的。這是我的圖表:

  \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}

在此輸入影像描述

我怎樣才能把它移開並得到一個合適的正方形?

答案1

使用 TikZ 的專門擴展而不是矩陣,即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}

語法更自然,標籤有適當的大小,箭頭就像整體數學字體一樣。

在此輸入影像描述

答案2

在此輸入影像描述

\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}

哦,答案幾乎是一樣的塞巴斯蒂亞諾:-(。井圖有點方形:-)

答案3

實際上,需要進行相當小的更改來修復您可能感興趣的問題,因為它在 LaTeX 的其他部分也很有用。這裡的問題是\mu有一個下降部分,而FA沒有。您可以獲得一個具有與高字母和下伸部分相關的“所有高度”的盒子,但沒有通過 的寬度\strut,因此:

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

文件的其餘部分可以保持完全相同。如果您感到偏執,可以將\struts 添加到其他單元格中,並以防萬一以後更改其內容。

更一般地,您可以使用\vphantom與給定其他框具有相同高度和深度參數的無寬度框,以及與\hphantom給定其他框具有相同寬度的無高度框。所以真正偏執的版本是

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

這將保證每行中的所有列具有相同的高度和深度。 (它還有一個優點,\strut那就是它在高度和深度方面是「最小的」;例如,如果給定行中沒有任何東西有下降部,則在\strut各處添加一個將賦予其深度,但\vphantom按上面的方式使用則不會。

相關內容