我在 Latex 中写下这个:
\usepackage{graphics, graphicx}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows,matrix}
\begin{document}
\begin{tikzpicture}[description/.style={fill=white,inner sep=2pt}]
\matrix (m) [matrix of math nodes, row sep=2em, column sep=3.5em, text height=1.5ex, text depth=0.25ex]
{F & \supset &A & C \\
X & \supset &B & \\};
\path[->]
(m-1-1) edge node[left] {$ \pi $} (m-2-1)
(m-1-3) edge node[auto] {$ f $} (m-1-4)
(m-2-3) edge node[auto] {$ \sigma $} (m-1-3)
edge (m-1-4);
\end{tikzpicture}
\end{document}
我的问题是,地图\pi: F \rightarrow X
和两者相\supset
对于右侧的交换图来说太宽了(反之亦然)。我该如何改变这种情况,但这样一来,所有内容都位于另一个的下方。有人能帮我吗?
答案1
我不太明白你在做什么,但我注意到,你可以在后面立即column sep
添加例如来指定各个列[1cm]
&
第一排。
在下面的代码中,我删除了您的原始column sep
设置,并添加了[3.5em]
矩阵。
(请注意,graphicx
加载了graphics
,因此无需同时加载两者。并且tikz
加载了pgf
,因此可以删除后者。而且因为tikz
加载了graphicx
,所以您实际上只需要\usepackage{tikz}
。而amsfonts
对于 \mathbb
\documentclass[border=4mm]{standalone}
\usepackage{amsfonts}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix}
\begin{document}
\begin{tikzpicture}[description/.style={fill=white,inner sep=2pt}]
\matrix (m) [matrix of math nodes, row sep=2em, text height=1.5ex, text depth=0.25ex]
{F & \supset &\pi^{-1}(U_{i}) &[3.5em] U_{i} \times \mathbb{C} \\
X & \supset & U_{i} & \\};
\path[->]
(m-1-1) edge node[left] {$ \pi $} (m-2-1)
(m-1-3) edge node[auto] {$ f_{i} $} (m-1-4)
(m-2-3) edge node[auto] {$ \sigma $} (m-1-3)
edge (m-1-4);
\end{tikzpicture}
\end{document}