# beamermath

This is a (quite ad-hoc) solution to include animations (even responsive/interactive ones) programmed in C (or Objective-C, OpenGL/GLSL etc.) into a LaTeX generated PDF.

• The beamermath LaTeX-package allows to enter additional commands into a "beamer"-package-frame. Those become automatically included in the meta-data of the PDF. The beamermath package also provides basic functionality to extract absolute coordinates of LaTeX elements and pass it on to the app.
• The beamermath Mac-application is a simple PDF-viewer that understands the meta-data generated by the package. The application is provided as an Xcode-project. It is easy to define new commands and include the corresponding drawing code into the Xcode-project.

The example below is an animated talk on the Birch and Swinnerton-Dyer conjecture that I gave 2009 in Berlin and 2018 in Freiburg. All animations included (so far) in the beamermath app have been designed specifically for this example. However, as said, it is easy to expand the app and include your own animations.

The example contains (the boldface numbers refer to the slides as displayed in the titlebar of the app):

1. 3D-animation displaying the projection to different affine images of a (projective) elliptic curve [22-25]. The same also for a conic (as reference) [26-27].
2. 3D-animation to illustrate why the C-points of an Weierstrass equation form (topologically) a complex torus [28-36].
3. 2D-animations visualizing the addition of points on an elliptic curve [40-46].
4. 3D-animation to see that C modulo a lattice is a torus [51-55].
5. Display the lattice generated by 1 and a second complex number that can be interactively moved using the mouse or touch-pad [58-59].
6. Deep zoom into a tesselated hyperbolic plane (upper half plane with usual fundamental domains for SL_2(Z)) [62].
7. Display of L-series of elliptic curves. Interactively draw the image of a unit circle at the mouse-curser position [84-85].
8. Display of a fundamental domain for Gamma_0(11) [90-91].

All 3D-images and animations can be interactively rotated, shifted and zoomed during runtime.

## Controls

The following assigment of keys can (optionally) be used to move the 3D-camera position and direction:

 j,k y-rotation i,m x-rotation v,b z-rotation a,s x-translation w,y y-translation q,e z-translation 1,2 zoom in/out

## Installation guide

To see the example:

1. Download "tex.zip" and unpack it.
2. Install "beamermath.dmg". If it does not work, select "beamermath.pkg" and choose "Open with... Installer.app".
3. Open "bsdbeamer.pdf" contained in the tex-folder with the beamermath app.

## Files

 LaTeX-files (including 3D-animations for the example and the beamermath package): tex.zip 97.6 MB beamermath app (Mac only): beamermath.dmg 59 KB beamermath source code and Xcode-project: xcodeproject.zip 62 KB

To see/reuse the animations of the example you do not need to download and compile the Xcode-project.

## beamermath package

Use the "draft" package option to display bounding boxes. This should be turned off for the final version displayed with the app.

 \mbvbox{NAME}{ ... } Creates a vertical box with name NAME and content (...). \mbrbox{NAME}{X}{Y}{W}{H} Creates an empty box with name NAME at X,Y with width W and height H (TeX dimensions). With the "draft" option of the package this has a small black border. \mbpage Creates a new virtual page for the app to display. Each \begin{frame} \end{frame} of the "beamer"-package should contain at least one \mbpage. \mbcmd{CMD}{PARAMETERS} Inserts a Command for the app to execute on this page. Examples: \mbcmd{HIDE}{NAME1 NAME2 NAME3} hides the boxes with names NAME1, NAME2 and NAME3. \mbcmd{GOAL}{0.0 0.25 0.00 -0.94 -20.00 0.00 0.00 0.00 0.57 0.00 1.00} moves the OpenGL-viewport within the time interval 0s-0.25s to the specified location. \mbcmd{GLVIDEO}{0.0 5.0 QQ animations/projective.vid 0 49} displays frames 0-49 from the specified 3D-video in Box QQ within the time interval 0s-5s.

Compile the LaTeX-code two times to get the PDF meta-data updated!

## Licence

    Created on 9.8.2018 by

PD Dr. Fritz Hörmann
Mathematisches Institut - Raum 433
Albert-Ludwigs-Universität Freiburg
Ernst-Zermelo-Strasse 1
D-79104 Freiburg
eMail: fritz.hoermann@math.uni-freiburg.de
Tel: +49 176 99520388

Licensed under CC BY-SA 4.0.