tikzcd 中的标签?

tikzcd 中的标签?

由于某种原因,TeXLive 附带的 tikzcd 文档没有提及以下内容:

  1. 如何指定标签是否位于箭头下方/上方?

  2. 我如何指定图表的大小(例如,如果我需要更长的箭头来适合大标签)?

  3. 如何为箭头指定多个标签(例如上方和下方)?

答案1

软件包文档包含大部分示例。第 1.1 节给出了放置标签的示例,第 2 节提供了调整图表外观和控件间距的方法。但是,软件包文档与手册tikz及其底层语言结合使用最容易理解pgf:请参阅http://www.ctan.org/pkg/pgf特别是第 16.8 节“明确地将节点放置在直线或曲线上”。

默认情况下,箭头上的标签位于行进方向的左侧。可以通过在标签前加上 来更改这一点[swap],因此您可以输入\arrow{r}{a}[swap]{b}来获得一个向右的箭头,标签a在上方和b下方。

上方/下方的标签

[代码见末尾。]

图表设置在网格上,因此您无法为单个箭头腾出更多空间。但是,您可以水平和垂直打开网格(如果需要,可以使用不同的因素)。

长标签

基本tikz选项包括沿着箭头放置标签,[pos=0.7]用于0.7沿着长度放置,以及[near start]靠近[near end]起点或终点放置。

标签可以用 或其他角度旋转。执行此操作时,您通常需要使用选项或[rotate=90]来移动标签,如上例所示,其中可以写xshiftyshift

\arrow{d}[anchor=center,rotate=-90,yshift=1ex]{\text{arrow name}}

但是,正如 Qrrbrbrilbel 指出的那样,sloped与一起使用abovebelow像下面的代码一样更容易(swap不再有效)。

\documentclass{article}

\usepackage{tikz-cd}
\usepackage{mathtools}

\begin{document}
\begin{displaymath}
  \begin{tikzcd}
    x \arrow{r}{a} \arrow{d}[swap]{b} &y \arrow{d}{d} \\
    z \arrow{r}{e}[swap]{c} &w \\
  \end{tikzcd}
\end{displaymath}

\begin{displaymath}
  \begin{tikzcd}[column sep=6em,row sep=6em]
    x \arrow{r}{\text{arrow name}}
    \arrow{d} &y \arrow{d}[sloped,above]{\text{arrow
    name}} \\
    z \arrow{r} &w \\
  \end{tikzcd}
\end{displaymath}

\end{document}

如果您需要非网格布局,那么如手册第 3.3 节所述,您需要采用基本布局tikz来放置元素。

相关内容