Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I would like to make a tikz drawing with two nodes as shown in my terrible drawing. (The bottom node is meant to be round with some emanating projections that can be much thinner. The top node is meant to follow the curve of the bottom node — a kind of thick arc, maybe?)

I also want to put some text in both nodes (in the top node, it would be nice for the text to follow the curve.) But, the text is not necessary.

Is this possible in Tikz?

enter image description here

share|improve this question
    
For reference, I found this question: tex.stackexchange.com/questions/54985/amoeba-shape-with-tikz, but I was also wondering if it was possible without trying to install a library. –  Neil G Jun 19 '12 at 22:59
    
Do they have to be nodes? How automatic would you want the method to be? You could put the text in place and then draw the picture around it. –  Andrew Stacey Jun 29 '12 at 17:24
    
@AndrewStacey: Yes, drawing around the text would be good as well. –  Neil G Jun 29 '12 at 19:52
add comment

1 Answer

up vote 7 down vote accepted

It's not really a node, but works well enough:

Code

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{decorations.text}

\newcommand{\StrangeNode}[4][scale=1]% options, upper text, lower text, size
{ \begin{scope}[#1]
        \clip (0,0) circle (2);
        \draw (250:1) -- ++(270:3) (290:1) -- ++(270:3);
        \draw (210:1) -- ++(230:3) (250:1) -- ++(230:3);
        \draw (290:1) -- ++(310:3) (330:1) -- ++(310:3);
        \draw (210:1) arc (210:-30:1);
        \draw (30:1.7) arc (30:-150:0.2);
        \draw (40:1.7) arc (40:30:1.7);
        \draw[postaction={decoration={text along path,
          text = {|#4|#2}, text align=center,raise=0.3ex},decorate}] (150:1.3) arc (150:30:1.3);
        \draw (150:1.3) arc (330:150:0.2);
        \draw (150:1.7) arc (150:140:1.7);
        \draw (140:1.7) -- ++(130:3) (120:1.7) -- ++(130:3);
        \draw (120:1.7) arc (120:100:1.7);
        \draw (100:1.7) -- ++(90:3) (80:1.7) -- ++(90:3);
        \draw (80:1.7) arc (80:60:1.7);
        \draw (60:1.7) -- ++(50:3) (40:1.7) -- ++(50:3);
        \begin{scope}
        \clip (0,0) circle (1);
            \node[align=center,font=#4,transform shape] at (0,0) {#3};
        \end{scope}

    \end{scope}
}

\begin{document}


\begin{tikzpicture}
\StrangeNode{A strange game}{The\\ winning\\ move is not\\ to play}{\small}
\StrangeNode[shift={(5,0)},scale=1.5,rotate=45]{|\LARGE|ABC}{DDDD\\ EEEE}{\normalsize}
\end{tikzpicture}

\end{document}

Output

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.