![Tikz:节点标签,垂直于节点的中点](https://linux22.com/image/376219/Tikz%EF%BC%9A%E8%8A%82%E7%82%B9%E6%A0%87%E7%AD%BE%EF%BC%8C%E5%9E%82%E7%9B%B4%E4%BA%8E%E8%8A%82%E7%82%B9%E7%9A%84%E4%B8%AD%E7%82%B9.png)
我希望能够自动为节点标签指定位置,而无需使用标签选项手动选择角度。我想要的只是说“请走到这条路径的中间,垂直于路径,模式 n 厘米,并将我的标签放在这里”。我不想手动指定角度(当您没有平凡的路径时,计算角度太烦人了),选项right
和left
不好,因为它们不是垂直于路径,而是水平或垂直。
任何想法?
谢谢。
梅威瑟:
\documentclass{article}
\usepackage{tikz}
\begin{document}
A is too below, B is too right\\
\begin{tikzpicture}
\draw (0,0) -- node[midway,below]{A} node[midway,right]{B}
node[circle,fill=red,inner sep=.5pt]{} (3,1.5);
\end{tikzpicture}
\end{document}
答案1
这里有三种不同的方法。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- node[midway,below,sloped]{A}
node[circle,fill=red,inner sep=.5pt]{} (3,1.5);
\draw (0,-1) -- node[midway,below,sloped] (A) {\phantom{A}}
node[circle,fill=red,inner sep=.5pt]{} (3,0.5);
\node at (A) {A};
\draw (0,-2) -- node[circle,fill=red,inner sep=.5pt] (B) {} (3,-0.5);
\path ($(B)!\ht\strutbox!-90:(3,-0.5)$) node{B};
\end{tikzpicture}
\end{document}