![tikz:相对于一条线旋转和定位文本](https://linux22.com/image/364962/tikz%EF%BC%9A%E7%9B%B8%E5%AF%B9%E4%BA%8E%E4%B8%80%E6%9D%A1%E7%BA%BF%E6%97%8B%E8%BD%AC%E5%92%8C%E5%AE%9A%E4%BD%8D%E6%96%87%E6%9C%AC.png)
此代码
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
...
\path (0, 0) edge node [sloped, anchor=center, below] {line}(3, 3);
\end{tikzpicture}
\end{document}
给出输出
相对于通过其他方法绘制的线,文本具有完全所需的方向和位置:
\pgfpathmoveto{\pgfpointxy{0}{0}};
\pgfpathlineto{\pgfpointxy{3}{3}};
\pgfusepath{stroke}
因此,我只需要文本,不需要线条。我该如何实现呢?
答案1
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}
\path[red] (0,0) edge node[below,sloped] {line} (3, 3);
\path (0,0) to [pos=0.4, sloped, "line" '] (3, 3);
\end{tikzpicture}
\begin{tikzpicture}[
every edge quotes/.append style = {anchor=north, sloped}
]
\path[red] (0,0) edge node[below,sloped] {line} (3, 3);
\path (0,0) to ["line"] (3, 3);
\end{tikzpicture}
\end{document}
(作为补充敲击评论)。在方向上定位边缘标签有点棘手sloped
。在这种情况下,如果您需要精确居中的标签,则有三种可能性:
- 手动调整标签位置(如上图所示)
- 重新定义边缘标签样式(下图)
- 使用边缘节点(下图中为红色,但有可见的线,以便更好地定位标签的位置)