我认为这是一个简单的问题,但我还没有找到答案。我使用的代码如下:
\draw[->](1,0) arc(0:-30:1) node[midway]{$30$};
但是这样节点就被放置在原点而不是圆弧的中间。
注意:必须用 来完成arc
。
答案1
自 2012-03-01 起,感谢 Till Tantau,现在可以直接使用pgf-tikz 的 cvs 版本. 它已被包含在 pgf-tikz 的稳定版本中。
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[->](1,0) arc(0:-30:1) node[midway]{$30$};
\end{tikzpicture}
\end{document}
答案2
它之所以显示在原点,是因为 TikZ 没有明确的第二个坐标可以通过 进行插值pos
。一个解决方案是,粗略地说,arc
通过markings
库参数化路径。这只是对我之前的回答用节点标记路径。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[
arcnode/.style 2 args={
decoration={
raise=#1,
markings,
mark=at position 0.5 with {
\node[inner sep=0] {#2};
}
},
postaction={decorate}
}
]
\draw[->, arcnode={20pt}{$30$} ] (0,0) arc (0:-30:2cm) ;
\end{tikzpicture}
\end{document}
由于某种原因,当曲线路径变得太短时(例如,您的示例路径在1.095cm
圆弧半径之后开始工作),它会出现错误Dimension too large
,所以可能这里有一个我还不知道的细节。直线路径不是这种情况。
答案3
问题取自:在 TikZ 中在圆弧上方绘制居中标签
这是解决这个问题的另一种方法。这样,那里是另一个第二个坐标。
\documentclass[tikz,border=5pt]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[green] (1,0) arc[radius = 1, start angle=0, end angle=90] node[above] {H} arc[radius = 1, start angle=90, delta angle=90];
\end{tikzpicture}
\end{document}