![Tikz 中交换图中的平行箭头](https://linux22.com/image/370683/Tikz%20%E4%B8%AD%E4%BA%A4%E6%8D%A2%E5%9B%BE%E4%B8%AD%E7%9A%84%E5%B9%B3%E8%A1%8C%E7%AE%AD%E5%A4%B4.png)
我想让交换图中所有应该平行的箭头实际上平行。这是我的交换图:
\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
答案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
文档的其余部分可以保持完全相同。如果您感到疑惑,您可以\strut
向其他单元格添加 s,以防您以后更改其内容。
更一般地,你可以使用\vphantom
与给定其他框具有相同高度和深度参数的无宽度框,以及与\hphantom
给定其他框具有相同宽度的无高度框。因此,真正偏执的版本将是
F(\mu F)\vphantom{FA} & FA\vphantom{F(\mu F)} \\
\mu F\vphantom{A} & A\vphantom{\mu F}
这样可以保证每行的所有列都具有相同的高度和深度。(它还具有\strut
在高度和深度方面“最小”的优点;例如,如果给定行中没有降部,则在\strut
各处添加会为其提供深度,但使用\vphantom
上述方法则不会。)