请参阅下面的代码
\documentclass[12pt,reqno,a4paper]{amsart}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{hyperref}
\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{color}
\pagestyle{myheadings}
\author{someone}
\title{something}
\begin{document}
\[ \begin{tikzcd}[sep=small]
& U_{\alpha\beta\gamma} \arrow[dd, "{\rm pr}_{13}"] \arrow[rr, "{\rm pr}_{23}"] \arrow[ld, "{\rm pr}_{12}"'] & & U_{\beta\gamma} \arrow[dd] \arrow[ld] \\ U_{\alpha\beta} \arrow[dd] \arrow[rr] & & U_\beta \arrow[dd] & \\
& U_{\alpha\gamma} \arrow[rr] \arrow[ld] & & U_\gamma \arrow[ld] \\
U_\alpha \arrow[rr] & & U &
\end{tikzcd}\]
\end{document}
箭头 pr_{13} 的标签与水平箭头重叠。
有没有办法通过将标签 pr_{13} 移到比当前位置更高的位置来解决此问题?
答案1
标签放置不当并不是唯一的问题。您还想在“后层”中隐藏部分箭头。无论如何,添加pos=0.3
或一些其他因素。
我不会使用sep=small
,这里我只是减少列分隔。
请注意,最后一个箭头绘制为leftarrow
,因此它被放置在稍后的位置并crossing over
能起作用。
\documentclass[12pt,reqno,a4paper]{amsart}
%\usepackage[english]{babel}% why?
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{mathrsfs}
\usepackage{tikz-cd}
\usepackage{hyperref}
\newcommand{\pr}{\mathrm{pr}}
\begin{document}
\[
\begin{tikzcd}[column sep=small]
& U_{\alpha\beta\gamma}
\arrow[dd, "\pr_{13}",pos=0.3]
\arrow[rr, "\pr_{23}"]
\arrow[ld, "\pr_{12}"']
&& U_{\beta\gamma} \arrow[dd] \arrow[ld]
\\
U_{\alpha\beta} \arrow[dd] \arrow[rr,crossing over]
&& U_\beta
\\
& U_{\alpha\gamma} \arrow[rr] \arrow[ld]
&& U_\gamma \arrow[ld]
\\
U_\alpha \arrow[rr] && U \arrow[leftarrow,uu,crossing over]
\end{tikzcd}
\]
\end{document}