Is there any way of placing a tikzpicture code inline? Here is what I want to actuall achieve:

A convex function is denoted by "tikz code for convexity"

Someone told me this is possible. Also, in tikz-pgf tutorial I have seen many tikz codes inline. For example in the scaling section the author places a rotating ellipse inline (that is next to the text)

How can this be achieved?

  • You should take into account, that 'inline' means normally on the same baseline, so this might stretch the line height, since tikz figures are usually larger than 1ex
    – user31729
    Jun 9, 2016 at 16:08
  • A tikzpicture is not really much different from the letter X, in that as far as TeX is concerned it is just a box that it is placed on the current baseline. Jun 9, 2016 at 16:23
  • Thank you all either for your answers or your comments. I accept the second one but I guess that Rmano's answer will come in handy some time. :)
    – Tolaso
    Jun 9, 2016 at 16:50

3 Answers 3


Either use tikzpicture as an environment or the \tikz inline macro.

But the problem with the line stretching is quite obvious!


A stupid text followed by \begin{tikzpicture}\draw[fill=red,line width=1pt]  circle(1ex);\end{tikzpicture}

A stupid text followed by \tikz{\draw[fill=red,line width=1pt]  circle(1ex);}

A stupid text followed by another stupid text followed

A stupid text followed by some dots \tikz{%
    \foreach \x /\cola in {1/blue,2/yellow,3/red,4/green,5/orange}  {%
      \shade[ball color=\cola] (\x,0)  circle(0.5ex*\x);

enter image description here

  • isn't just \tikz ... ; without the braces? (Seems to work both way, though). +1.
    – Rmano
    Jun 9, 2016 at 16:25
  • @Rmano: Yes, you're right. I am not using \tikz... very often.
    – user31729
    Jun 9, 2016 at 16:27
  • 1
    @Tolaso: You're welcome. Happy TeXing!
    – user31729
    Jun 9, 2016 at 16:55
  • 1
    @to myself: use \protect before \tikz in captions
    – dEmigOd
    Aug 16, 2021 at 8:43

Another example from a real-life document I have:



    \begin{tikzpicture}[scale=0.5, baseline=-3mm, thick]
    \draw (0,0) -- +(0mm,-4.0mm) {
        +(-2mm,0mm) -- +(2mm,0mm)
                +(-1mm,-1mm) -- +(1mm,-1mm)
                +(-0.3mm,-2mm) -- +(0.3mm,-2mm)


We have a text here, and then I refer to the ground (\ground) connection point in the instrument. Clearly, the \ground{} symbol will change the spacing... 
you can play with the \texttt{scale} and \texttt{baseline=-3mm} parameters in the definition\dots 

Output of the snippet above

  • Nicely done @Rmano.
    – Tolaso
    Jun 9, 2016 at 16:49
  • 4
    +1 for the baseline option. Feb 18, 2019 at 23:15

Here is a suggestion on how to place inline and the tikz code not be high enough from the text.

\raisebox{-2pt}{\tikz{\draw[line width=1pt, >->] (0, 0) arc (-180:0:8pt);}}

The output that gave me was the following, which is quite good I guess.

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .