This is a continuation of a question that was asked and 'answered' here:

The suggested answers all involved using LaTeX's built-in font controls to adjust using, e.g. \tiny, \footnotesize, and so forth. Rather than using these inflexible commands, is there a way to use TikZ's scaling option? For instance, I'd like to do scale=0.5 and automatically cut the axis label to 50% as large.

The scale option gives a convenient way of scaling text within a tikzpicture environment. Is there a way to easily extend this to axis labels as well?

  • You can use the same key with scale=0.5 instead of font key. And they are not inflexible they are the proper font control macros.
    – percusse
    Jul 14, 2015 at 15:45
  • @percusse What an overkill in my answer! 'll delete it. Jul 14, 2015 at 15:47
  • @GonzaloMedina Why not modifying it and undeleting it with a short one?
    – percusse
    Jul 14, 2015 at 17:34
  • @percusse I changed it and un-deleted it. I tried to make it a CW, but I couldn't. Jul 14, 2015 at 17:48
  • @GonzaloMedina I don't think we need a CW for this. It's a proper answer.
    – percusse
    Jul 14, 2015 at 17:51

1 Answer 1


Directly scaling a font is not always the best alternative since either the font might turn out to be "too thick" if scaling up by a large factor, or "too thin", if scaling down; the font switches are the right way to change font sizes. That being said, as percusse mentioned in his comment, you can use the scale=<factor> option instead of font in the same style used in the linked answer:

every tick label/.append style={scale=0.5}

A complete example:


every tick label/.append style={scale=0.5},
every axis/.append style={
  axis x line=middle,    % put the x axis in the middle
  axis y line=middle,    % put the y axis in the middle
  axis line style={<->,color=blue}, % arrows on the axis
  xlabel={$x$},          % default put x on x-axis
  ylabel={$y$},          % default put y on y-axis


  (3* \aea * sin(x) * cos(x))/((sin(x))^3+(cos(x))^3)}%%

            \addplot [domain=0:90,samples=100,blue]({\aex},{\aey}); 
            \addplot [domain=136:180,samples=100,red]({\aex},{\aey}); 
            \addplot [domain=90:134,samples=100,green]({\aex},{\aey}); 
            %% the asymptote:
            \addplot [domain=-8:8,samples=10,dashed,blue]({x},{-x-\aea});


enter image description here

You must log in to answer this question.

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