Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Thomas S. Dye <tsd <at> tsdye.com>
Subject: Re: Export to LaTeX Beamer. [WAS: Re: Re: LaTeX export bugs?]
Newsgroups: gmane.emacs.orgmode
Date: Sunday 20th September 2009 21:16:15 UTC (over 8 years ago)
On Sep 19, 2009, at 8:03 PM, Alan E. Davis wrote:

> Hello:
>
> I was happy to see a simple formula for exporting to Beamer.  The  
> following worked initially.  However, this initialization routine  
> was able to run only when org-latex had already been loaded.
>
> On Sat, Jul 4, 2009 at 2:52 AM, Nick Dokos   
> wrote:
>
> Here's the minimal.emacs - you'll need to adjust the load path for  
> your
> setup:
>
> ,----
> | (add-to-list 'load-path (expand-file-name "~/src/emacs/org/org- 
> mode/lisp"))
> | (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\) 
> $" . org-mode))
> | (require 'org-install)
> | (global-set-key "\C-cl" 'org-store-link)
> | (global-set-key "\C-ca" 'org-agenda)
> | (global-set-key "\C-cb" 'org-iswitchb)
> | (setq org-log-done (quote time))
> | (setq org-log-into-drawer t)
> |
> | (load "org-exp")
> | (load "org-latex")
> |
> | (add-to-list 'org-export-latex-classes
> |              '("beamer"
> |                "\\documentclass[11pt]{beamer}
> | \\usepackage[utf8]{inputenc}
> | \\usepackage[T1]{fontenc}
> | \\usepackage{hyperref}
> | \\usepackage{verbatim}
> | \\setbeameroption{show notes}
> | \\usetheme{Goettingen}
> | \\useoutertheme{infolines}"
> |                ("\\begin{frame}\\frametitle{%s}\\begin{itemize}" "\ 
> \end{itemize}\\end{frame}"
> |                 "\\begin{frame}\\frametitle{%s}\\begin{itemize}" "\ 
> \end{itemize}\\end{frame}")
> |                ("\\item{%s}" . "\\item*{%s}")
> |                )
> |              )
> `----
>
>
> Is it possible to put this inside of a hook (say, when org-latex was  
> loaded, or when the document class was beamer during the export  
> process)?
>
> Emacs just reports the following when this code is included into the  
> init file:
>
>        Symbol's value as variable is void: org-export-latex-classes
>
> After explicitly loading the library "org-latex" the code is  
> executed and the procedure works for exporting the example file--- 
> given that the latex code must be cleaned up.
>
> I haven't yet tried the following as a heading line:
>
>        #+OPTIONS: toc:nil
>
> Would that solve the problem you reported?
>
> Alan
>
>
>
> and here's slides.org:
>
> ,----
> | #+LaTeX_CLASS: beamer
> | #+TITLE: Example presentation
> | #+AUTHOR: Nick Dokos \\
$<$\href{mailto:[email protected]}{[email protected] 
> }$>$
> | #+EMAIL: [email protected]
> | #+OPTIONS: toc:nil H:2
> |
> | * Why
> | ** Reason 1.
> |    Text explaining reason #1.
> | ** Reason 2.
> |    ... more explanations.
> | ** Reason 3.
> |    Blah, blah, blah.
> |
> | ** Reason 4.
> |    Why not?
> |
> | * What
> | ** First piece.
> | ** Second piece.
> | ** Third piece.
> | ** Fourth piece.
> `----
>
>
> Thank you for this helpful advice.
>
> Alan Davis
>
> You can know the name of a bird in all the languages of the world,   
> but when you're finished, you'll know absolutely nothing whatever  
> about the bird... So let's look at the bird and see what it's  
> doing---that's what counts.
>
>    ----Richard Feynman
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> [email protected]
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Aloha Alan,

Here is a somewhat more elaborate set-up.

In customize org-export-latex-classes (or add to appropriate place  
in .emacs):

\documentclass{beamer}
\mode<{{{beamermode}}}>
{
  \usetheme{{{{beamertheme}}}}
  \usecolortheme{{{{beamercolortheme}}}}
}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\institute{{{{beamerinstitute}}}}
\subject{{{{beamersubject}}}}

The macros here let me specify things that I like to change on a per- 
file basis.  So, in my org file there is this:

#+MACRO: BEAMERMODE presentation
#+MACRO: BEAMERTHEME Malmoe
#+MACRO: BEAMERCOLORTHEME tsdye
#+MACRO: BEAMERSUBJECT Evolutionary archaeology
#+MACRO: BEAMERINSTITUTE T. S. Dye \& Colleagues \\ B. P. Bishop Museum

I typically use sections and subsections in my talks (and the Malmoe  
theme displays them nicely within beamer).  So, I have this in  
customize org-export-latex-classes:

             INS DEL Choice: Value Menu Heading:
                         numbered: \section{%s}
                         unnumbered): \section{%s}
             INS DEL Choice: Value Menu Heading:
                         numbered: \subsection{%s}
                         unnumbered): \subsection{%s}
             INS DEL Choice: Value Menu Environment:
                         Opening (numbered)  : \begin{frame} 
\frametitle{%s}
                         Closing (numbered)  : \end{frame}
                         Opening (unnumbered): \begin{frame} 
\frametitle{%s}
                         Closing (unnumbered): \end{frame}

I have the standard value for org-export-latex-low-levels in customize:
Org Export Latex Low Levels: Hide Value Value Menu Convert as itemized  
list

And then this in my .org file:

#+OPTIONS: H:3
#+OPTIONS: toc:nil

A typical slide show might look like this, in part:

* Introduction
** Evolution
*** Four Components of Evolutionary Processes
**** Inheritance = Social learning
**** {{{alert(Mutation)}}} = {{{alert(Innovation)}}}
**** Selection = Function
**** Drift = Style

I use beamer's \alert{} command a lot, and often have figures in my  
slide shows, so I defined two convenience macros:

#+MACRO: ALERT \alert{$1}
#+MACRO: FIGURE \begin{centering}\includegraphics[$2]{$1}\par 
\end{centering}

And use FIGURE like this:

*** Determining Fish Size from Vertebrae
      {{{figure(r/bm_verts,width=12cm)}}}

and ALERT like this:

**** The probability a bone was {{{alert(not)}}} recovered is:
#+BEGIN_LaTeX
      $ 1 - \hat{r} $
#+END_LaTeX

I haven't found a way to export columns yet.  If I could do this, then  
I'd be able to generate most of my beamer presentations completely  
from org-mode.  As it is, I'm enjoying substantial productivity gains  
with this set-up.

HTH,
Tom
 
CD: 3ms