这个问题类似于这个,不同之处在于我想在 foreach 循环期间放置我的节点。
梅威瑟:
\documentclass[border=5pt,tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\thet{20};
\def\radius{3.7};
\foreach \ii in {1,2,...,18}
\draw ({(\ii-1)*\thet}:\radius) arc [start angle = {(\ii-1)*\thet}, end angle ={(\ii)*\thet}, radius = \radius] node[midway] {$\theta_{\ii}$};
\end{tikzpicture}
\end{document}
结果是:
我希望 theta 始终位于圆外(位于它们来自的圆弧的顶点旁边),但如果我使用定位关键字(例如right
或),above
它会将所有 theta 切换到相同的方向,而这不是我想要的。
答案1
将节点锚点设置为中间角度 + 180 怎么样?
\documentclass[border=5pt,tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\thet{20};
\def\radius{3.7};
\foreach \ii in {1,2,...,18}
\draw ({(\ii-1)*\thet}:\radius) arc [start angle = {(\ii-1)*\thet}, end
angle ={(\ii)*\thet}, radius = \radius]
node[midway,anchor={(\ii-1/2)*\thet+180}] {$\theta_{\ii}$};
\end{tikzpicture}
\end{document}