这是一个简单的问题,如下所示:
\documentclass[openany,english]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[nonewtxmathopt]{newtxmath}
\usepackage{amsmath, amssymb, graphicx}
\usepackage[thmmarks, amsmath, thref]{ntheorem}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[row sep=2.5ex, column sep=2ex]
(FF,FF)_D \ar[rrr] \ar[dd] & & & (FF,FF)_D \ar[dd] & & & &\\
& & & & (FF,FF)_D \ar[rrr, "\alpha_{FFc_1,FFc_2}"] \ar[from=llllu, crossing over] & & & (FF,FF)_D \ar[dd] \ar[from=llllu] \\
(FF,FF)_D \ar[rrr] & & & (FF,FF)_D \ar[rrrrd] & & & & \\
& & & & (FF,FF)_D \ar[rrr, "\alpha_{FFc_1,FFc_2}"] \ar[from=llllu] \ar[from=uu, crossing over] & & & (FF,FF)_D
\end{tikzcd}
\]
\end{document}
我希望文字位于箭头上方,这样它们就不会被箭头遮住。当然,我可以增加垂直长度或将文字移到箭头下方,但我想知道是否有办法在不增加整个图表的垂直长度的情况下解决问题。我读过简短的 tikzcd 手册,但没有足够的创造力来解决这个问题。欢迎任何帮助!
答案1
根据您的限制,只有两种可能性(恕我直言)。我不喜欢这两种情况,但您说的是:
% arara: pdflatex
\documentclass{scrbook}
\usepackage[nonewtxmathopt]{newtxmath}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[%
,row sep={6.5ex,between origins}
,column sep={8.5em,between origins}
]
(FF,FF)_D \ar[r] \ar[dd] & (FF,FF)_D \ar[dd]\arrow[shorten >= 1.5cm]{drr} &[-2.5em] & \\
& & (FF,FF)_D \ar{r}{\alpha_{FFc_1,FFc_2}} \ar[from=llu, crossing over] & (FF,FF)_D \ar[dd] \\
(FF,FF)_D \ar[r]\arrow{drr} & (FF,FF)_D \ar[rrd] & & \\
& & (FF,FF)_D \ar{r}[fill=white]{\alpha_{FFc_1,FFc_2}} \ar[from=uu, crossing over] & (FF,FF)_D
\end{tikzcd}
\]
\end{document}