[Tex/LaTex] show zoomed content into a frame (as in wooden frame)

beamer

I saw an HTML presentation where zoomed elements were "framed", meaning that you could still see a part of the original slide in the background (shaded) while the zoomed content was in the foreground enclosed in a smaller frame.

To have an idea of what I mean see framed frame in beamer?

The difference is of course that in my case I don't want to design a layout for a frame but I want an effect that applies to zoomed content and frame them into frames.

Sorry for the mess with frames!

edit: a better example of what I mean can be found in the short video here:http://www.presentation-process.com/zoom-effect-in-powerpoint.html

The zoomed content does not need to be circular but I'd like it to have some frame around it.

edit2: as noted by Tom Bombadil the spy library may be useful here. See How to change the line width of the lines connecting spies and the spied region and Is there a way to tune ball shading in TikZ ?

Best Answer

The following is taken partially from my answer to Including large tables in a beamer frame. It showcases the extent of \framezoom:

From the beamer documentation on 11.3 Adding Anticipated zooming (p 109):

Anticipated zooming is necessary when you have a very complicated graphic that you are not willing to simplify since, indeed, all the complex details merit an explanation. In this case, use the command \framezoom. It allows you to specify that clicking on a certain area of a frame should zoom out this area. You can then explain the details. Clicking on the zoomed out picture will take you back to the original one.

In the above description, "graphic" might just as well have read "object", since it pertains to tables as well.

For the sake of illustration, I've highlighted a couple of entries (in red \alert font) within the same table I've used before, this time also shrunk down using \resizebox and then zoomed in on them using \framezoom.

enter image description here

    \documentclass{beamer}% http://ctan.org/pkg/beamer
    \usepackage{graphicx}% http://ctan.org/pkg/graphicx
    \usepackage{booktabs}% http://ctan.org/pkg/booktabs
    \begin{document}
    \begin{frame}
      \frametitle{This is a frame with a table}

      \framezoom<1><2>[border=1](0pt,11mm)(4.5em,5ex)

      \resizebox{\linewidth}{!}{% Resize table to fit within \linewidth horizontally
      \begin{tabular}{*{27}{l}}
        \toprule
        Stuff & A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z \\
        \midrule
        One   & 1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26 \\
        Two   & 26&25&24&23&22&21&20&19&18&17&16&15&14&13&12&11&10&9&8&7&6&5&4&3&2&1 \\
        Three & 1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26 \\
        \alert{Four}  & 26&25&24&23&22&21&20&19&18&17&16&15&14&13&12&11&10&9&8&7&6&5&4&3&2&1 \\
        Five  & 1&\alert{2}&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26 \\
        Six   & 26&25&\alert{24}&23&22&21&20&19&18&17&16&15&14&13&12&11&10&9&8&7&6&5&4&3&2&1 \\
        Seven & \alert{1}&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26 \\
        \bottomrule
      \end{tabular}}
    \end{frame}

    \end{document}

In the above example, the border was inserted/kept for clarity. However, by default (if you remove the border=<n> option), it will not be displayed. \framezoom has the following syntax:

\framezoom<button overlay spec><zoomed overlay spec>[<options>](<ulx>,uly>)(<zoom width>,<zoom depth>)

As such, I requested a zoom of slide <1>, upon clicking, to be typeset on slide <2>, adding an optional [border=1] of 1pt. The zoomed location on slide <1> is at coordinate (<ulx>,<uly>)=(0pt,11mm) and spans an area of (<width>,<depth>)=(4.5em,5ex).