我在“矩形”箭头上放置标签时遇到了问题。我想分别将标签放置在最右侧和最左侧箭头的中间和最右侧或最左侧。有人知道怎么做吗?谢谢!!
我的代码
\begin{center}
\begin{tikzpicture}
\matrix(cd)[matrix of math nodes,
row sep=2.6em, column sep=2cm,
text height=1.5ex, text depth=0.25ex]{
F_0a & F_0b \\
F_1a & F_1b \\
F_2a & F_2b \\
};
\draw[->] (cd-1-1) edge node[label=above:$F_0f$] (U) {} (cd-1-2);
\draw[->] (cd-2-1) edge node[label=above:$F_1f$] (V) {} (cd-2-2);
\draw[->] (cd-3-1) edge node[label=below:$F_2f$] (W) {} (cd-3-2);
\draw[->] (cd-1-1) edge node[label=left:$t_a$ ] (U) {} (cd-2-1);
\draw[->] (cd-2-1) edge node[label=left:$t'_a$] (V) {} (cd-3-1);
\draw[->] (cd-1-2) edge node[label=right:$t_b$ ] (W) {} (cd-2-2);
\draw[->] (cd-2-2) edge node[label=right:$t'_b$] (U) {} (cd-3-2);
\draw[->] (cd-1-1.west) -| ++(-.5,0) node[label=left :$(t'\circ t)_a$] {} |- (cd-3-1.west);
\draw[->] (cd-1-2.east) -| ++(.5,0) node[label=right:$(t'\circ t)_b$] {} |- (cd-3-2.east);
\end{tikzpicture}
\end{center}
答案1
一个快速的解决方案是使用矩阵条目作为参考点来放置节点,而不是沿着路径放置它们:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{center}
\begin{tikzpicture}
\matrix(cd)[matrix of math nodes,
row sep=2.6em, column sep=2cm,
text height=1.5ex, text depth=0.25ex]{
F_0a & F_0b \\
F_1a & F_1b \\
F_2a & F_2b \\
};
\draw[->] (cd-1-1) edge node[label=above:$F_0f$] (U) {} (cd-1-2);
\draw[->] (cd-2-1) edge node[label=above:$F_1f$] (V) {} (cd-2-2);
\draw[->] (cd-3-1) edge node[label=below:$F_2f$] (W) {} (cd-3-2);
\draw[->] (cd-1-1) edge node[label=left:$t_a$ ] (U) {} (cd-2-1);
\draw[->] (cd-2-1) edge node[label=left:$t'_a$] (V) {} (cd-3-1);
\draw[->] (cd-1-2) edge node[label=right:$t_b$ ] (W) {} (cd-2-2);
\draw[->] (cd-2-2) edge node[label=right:$t'_b$] (U) {} (cd-3-2);
\draw[->] (cd-1-1.west) -| ++(-.5,0) |- (cd-3-1.west);
\draw[->] (cd-1-2.east) -| ++(.5,0) |- (cd-3-2.east);
\node[anchor=east,xshift=-16pt] at (cd-2-1.west) {$(t'\circ t)_a$}; \node[anchor=west,xshift=16pt] at (cd-2-2.east) {$(t'\circ t)_b$};
\end{tikzpicture}
\end{center}
\end{document}