I wanted to add a piece of HTML at the top of all pages, right after &lt;body&gt;. In the #drupal IRC channel I got the recommendation to override html.tpl.php in the theme. That works fine. But isn't there some useful hook that I could use, so I don't have to copy html.tpl.php and just add a few lines?

I tried to modify $variables['page']['page_top'] in THEME_preprocess_page() and THEME_preprocess_html() but upon debugging $page_top in html.tpl.php, the changes had been discarded.

How do I do it by hook? And which way is to prefer?


Question: How to construct a closed, filled, path made of semi-circles and attach annotations to it with TikZ?
Answer: You can also draw that path at one go so you don't need to fill white to restrict the fill if you have something else underneath it. And while you are at it you can also place the labels and coordinates too.

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\filldraw[fill=blue] (0,0) 
               coordinate[label=-90:$B$] (B)
               arc (180:0:3cm) 
               coordinate[label=-90:$A$] (A)
               arc (0:180:2cm)
               coordinate[label=-90:$P$] (P)
               arc (0:180:1cm);
\draw (B)--(A) coordinate[midway,label=-90:$O$] (O);
\draw[decoration={brace,raise=5mm},decorate] (A) -- (O) 
                   node [midway,yshift=-6mm,below] (R) {$6$};
\draw[decoration={brace,raise=5mm},decorate] (O) -- (P)
                   node [midway,yshift=-6mm,below] (r) {$x$};
\end{tikzpicture}
\end{document}