# Adjusting font size with TikZ picture

Taking from the PGF manual,

\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
\coordinate (a) at (rnd,rnd);
\coordinate (b) at (3-rnd,3-rnd);
\draw (a) -- (b);
\node (c) at (1,2) {x};
\draw let \p1 = ($(a)!(c)!(b) - (c)$),
\n1 = {veclen(\x1,\y1)}
in circle [at=(c), radius=\n1];
\end{tikzpicture}


I'd like to increase the size of x. The problem is that I have multiple circles in the same diagram. Some of them require a larger sized font, while others are okay at default. How do I do this?

-
how about \node[scale=3] at (1,2) {x} (choose the number appropriately) –  cmhughes Apr 5 '13 at 17:38
@cmhughes: why not post an answere? ;) –  ralfix Apr 5 '13 at 19:03

You can change the font size inside a tikZ node like you do it in normal LaTeX – use one of these:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge


e.g.

\node (c) at (1,2) {\large x};


or

\node (c) at (1,2) {\large $x$}; %note the \large *outside* the inline math


Edit: To change font size inside math mode, LaTeX provides the following commands:

\displaystyle
\textstyle
\scriptstyle
\scriptscriptstyle


Using scaling algorithms provided by tikZ/pgf (e.g. scale=...) scales "the entire character", so it may look ugly if you use too much scaling. If you set the font sizes with the above commands, LaTeX selects different symbols for the different font sizes. This ensures the fonts are readable and have enough "details". If you want a more extreme scaling, use the scale=3.0 option for the node.

-
it says it's invalid with math mode? –  AlanH Apr 5 '13 at 17:53
Maybe worth pointing out the font key which could be of help in this case :) –  Claudio Fiandrino Apr 5 '13 at 17:56
@ralfix sorry i didn't mention it. it's too early in the morning for me. bah! –  AlanH Apr 5 '13 at 18:02
@ClaudioFiandrino: Do you mean the scale option? –  ralfix Apr 5 '13 at 18:11
@Qrrbrbirlbel: you're right... what I wanted to say was that \node (c) at (1,2) {\large x}; is equivalent to \node[font=\large] (c) at (1,2) {x}; –  Claudio Fiandrino Apr 5 '13 at 19:15

Set a new style so that you can use it later.

For example:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{relsize}

\tikzset{fontscale/.style = {font=\relsize{#1}}
}

\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
\coordinate (a) at (rnd,rnd);
\coordinate (b) at (3-rnd,3-rnd);
\draw (a) -- (b);
\node (c) at (1,2) [fontscale=4] {x};
\draw let \p1 = ($(a)!(c)!(b) - (c)$),
\n1 = {veclen(\x1,\y1)}
in circle [at=(c), radius=\n1];
\end{tikzpicture}
\end{document

-