I'm trying to make this picture in TikZ:
I wrote
\documentclass{standalone}
\usepackage{tikz}
\newcommand*{\rinn}{2}
\newcommand*{\rout}{3.8}
\newcommand*{\tangle}{37}
\newcommand*{\sangle}{-30}
\begin{document}
\begin{tikzpicture}
\coordinate [label=above:$T_1$] (T1) at (\tangle:\rinn);
\coordinate [label=above right:$T_2$] (T2) at (\tangle:\rout);
\coordinate [label=below right:$S_1$] (S1) at (\sangle:\rinn);
\coordinate [label=below right:$S_2$] (S2) at (\sangle:\rout);
\draw (0,0) circle [radius=\rinn];
\draw (0,0) circle [radius=\rout];
\draw (0,0) -- (T2);
\draw (0,0) -- (S2);
\end{tikzpicture}
\end{document}
that looks like
The image is automatic but the label position needs adjustment every time something is changed, and even then they're not well placed.
- Is
\newcommandthe best way to define a variable for TikZ? - Is there a way to adjust the label position so that it always stays clear of the other lines?




\sangle<\tangle) or (\rinn<\rout) ? – Paul Gaborit Jan 09 '17 at 23:17\tangle< 80 and 280 <\sangle< 350 would make the output similar to the original image.\rinn<\rout, of course. – Kurzd Jan 09 '17 at 23:23