我使用是to path
为了更好地控制tikzcd
图表中的箭头。但是,我无法放置标签。
使用此代码
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels=description, column sep=3cm]
A\arrow["a+b",sloped,rounded corners,
to path={
-| ([yshift=-1.5cm,xshift=-.7cm]\tikztostart.west)
-| ([xshift=.7cm]\tikztotarget.east)\tikztonodes
-- (\tikztotarget)} ]{r}
& B \\ C & D
\end{tikzcd}
\end{document}
将\tikztonode
指令移至第一段:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels=description, column sep=3cm]
A\arrow["a+b",sloped,rounded corners,
to path={
-| ([yshift=-1.5cm,xshift=-.7cm]\tikztostart.west)\tikztonodes
-| ([xshift=.7cm]\tikztotarget.east)
-- (\tikztotarget)} ]{r}
& B \\ C & D
\end{tikzcd}
\end{document}
我明白了
最后,在最后一段中:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels=description, column sep=3cm]
A\arrow["a+b",sloped,rounded corners,
to path={
-| ([yshift=-1.5cm,xshift=-.7cm]\tikztostart.west)
-| ([xshift=.7cm]\tikztotarget.east)
-- (\tikztotarget)\tikztonodes} ]{r}
& B \\ C & D
\end{tikzcd}
\end{document}
我明白了
我怎样才能让它出现在底部的长水平段中?
答案1
新答案:不改变路径的构造。
默认情况下,节点具有隐式初始化的选项pos
。这里初始化为 就足够了[pos=0.25]
。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels=description, column sep=3cm]
A\arrow["a+b",rounded corners,
to path={[pos=0.25]
-| ([yshift=-1.5cm,xshift=-.7cm]\tikztostart.west)
-| ([xshift=.7cm]\tikztotarget.east)\tikztonodes
-- (\tikztotarget)} ]{r}
& B \\ C & D
\end{tikzcd}
\end{document}
旧答案:通过修改路径的构造。
\documentclass[border=5mm]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels=description, column sep=3cm]
A\arrow["a+b",rounded corners,
to path={
-| ([yshift=-1.5cm,xshift=-.7cm]\tikztostart.west)
-- ([yshift=-1.5cm,xshift=.7cm]\tikztotarget.east)\tikztonodes
|- (\tikztotarget)} ]{r}
& B \\ C & D
\end{tikzcd}
\end{document}