# Beamer reflections with pgf/tikz

I want some nice reflections in my slides. Something like the ones seen in Jobs Keynotes.

Suppose you have multiple elements in the tikz picture and you want to reflect the whole thing with fading.

How can I achieve this using pgf/tikz?

I don't think that TikZ has support for copying contents. So the best idea I have is creating a command for the contents and then using that twice—the second time with appropriate transformations and fading applied. Here is a proof of concept:

\documentclass{article}
\pdfpageattr{/Group <</S /Transparency /I true /CS /DeviceRGB>>}
\usepackage{tikz}

\begin{document}
\newcommand\tikzcontents{
\fill[red] (-1,-2) rectangle (1,0.5);
\node (a) {first line};
\node[below=of a] (b) {second line};
}

\begin{tikzpicture}
\tikzcontents
\begin{scope}[yshift=-4.5cm,yscale=-1,transform canvas,transform shape]
\tikzcontents
\end{scope}
\end{tikzpicture}
\end{document}

Be aware that not all pdf viewers have support for fadings. For example, Evince won't display them properly. The \pdfpageattr line is to work around a bug in Acrobat Reader (see “Using opacity in TikZ causes strange rendering in Acrobat”).

• Compare also the title page of the current TikZ manual. Feb 12, 2011 at 22:07
• The 2.x TikZ/PGF has support of copying content, e.g. in the spy library. However, I don't think it is much different to the technique you are using. Feb 12, 2011 at 22:11
• And works with overlays too!
– baol
Feb 13, 2011 at 9:18
• An alternative solution using spy would be a great addition!
– baol
Feb 13, 2011 at 9:24
• @baol: The spy library is for spyglass effects, i.e. some area is zoomed out. I just mentioned it as example that TikZ can copy content. I don't think it supports shadings, at least not out of the box. Feb 13, 2011 at 15:03