#+TITLE: Writing Beamer presentations in org-mode #+AUTHOR: Eric S Fraga #+AUTHOR: (bug report by Leo Butler) #+EMAIL: e.fraga@ucl.ac.uk #+DATE: 2010-03-30 Tue #+DESCRIPTION: #+KEYWORDS: #+LANGUAGE: en #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:https://orgmode.org/org-info.js #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+HTML_LINK_UP: #+HTML_LINK_HOME: #+LATEX_COMPILER: lualatex #+startup: beamer #+LaTeX_CLASS: beamer #+LaTeX_CLASS_OPTIONS: [bigger] #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %4BEAMER_col(Col) %10BEAMER_extra(Extra) * A Bug Report about the Beamer Tutorial ** :PROPERTIES: :BEAMER_env: frame :END: #+begin_src elisp :exports both :results list (list (emacs-version) (org-version)) #+end_src #+RESULTS: - GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) of 2023-08-30, modified by Debian - 9.6.10 ** The bug :PROPERTIES: :BEAMER_env: frame :END: The [[https://orgmode.org/worg/exporters/beamer/tutorial.html][Beamer tutorial by Eric Fraga]] ([[https://orgmode.org/worg/exporters/beamer/tutorial.html]]) has an example that shows how to create a two column frame using org. The example is incorrect, though, because it sets the =ignoreheading= property on the first column. The following example removes that property and corrects a minor typo in the example. ** The Org code :PROPERTIES: :BEAMER_env: frame :END: Here is the org code. \tiny #+name: beamer-ex #+begin_src org :exports both :results replace ,** Two columns ,*** A block :BMCOL: :PROPERTIES: :BEAMER_col: 0.4 :END: - this slide consists of two columns - the first (left) column has no heading and consists of text - the second (right) column has an image and is enclosed in an *example* block ,*** A screenshot :BMCOL:B_example: :PROPERTIES: :BEAMER_col: 0.6 :BEAMER_env: example :END: ,#+ATTR_LaTeX: :width \textwidth [[./a-simple-slide.png]] #+end_src #+RESULTS: beamer-ex ** Two columns *** A block :BMCOL: :PROPERTIES: :BEAMER_col: 0.4 :END: - this slide consists of two columns - the first (left) column has no heading and consists of text - the second (right) column has an image and is enclosed in an *example* block *** A screenshot :BMCOL:B_example: :PROPERTIES: :BEAMER_col: 0.6 :BEAMER_env: example :END: #+ATTR_LaTeX: :width \textwidth [[./a-simple-slide.png]] ** The \LaTeX{} code :noexport: Here is the generated \LaTeX{} code. I needed to add comment characters (%) to each line due to a bug in the =verbatim= environment.\pause \tiny #+begin_example %\begin{frame}[label={sec:org8bc49cc}]{Two columns} \begin{columns} \begin{column}{0.4\columnwidth} \begin{itemize} \item this slide consists of two columns \item the first (left) column has no heading and consists of text \item the second (right) column has an image and is enclosed in an \alert{example} block \end{itemize} \end{column} \begin{column}{0.6\columnwidth} \begin{example}[A screenshot] \begin{center} \includegraphics[width=\textwidth]{./a-simple-slide.png} \end{center} \end{example} \end{column} \end{columns} %\end{frame} #+end_example \pause\normalsize The first =itemize= environment should have been wrapped by a =column= environment inside the =columns= environment.