emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Beamer support in Org-mode
@ 2009-11-26 11:17 Carsten Dominik
  2009-11-26 11:26 ` Friedrich Delgado Friedrichs
                   ` (7 more replies)
  0 siblings, 8 replies; 94+ messages in thread
From: Carsten Dominik @ 2009-11-26 11:17 UTC (permalink / raw)
  To: mailing-list-org-mode list

Hi,

this is in response to the discussions about beamer
export from Org-mode.  Yesterday I had a long train ride
during which I scanned the beamer documentation (smoking
hot stuff!).  Then I made the attached draft
for Org-mode support, strongly based on the stuff
Eric Fraga has put together recently.  What is described
below sort-of works in some experimental code here, but before
I polish I would like comments on this outline.

NOW is the time to chime in.

Thanks!

- Carsten

                               beamerdoc
                               =========

Author: Carsten Dominik <carsten.dominik@gmail.com>
Date: 2009-11-26 12:08:45 CET



Table of Contents
=================
1 Organization
     1.1 Sections
     1.2 Frames
     1.3 Columns
     1.4 A column
     1.5 Block-like environments
     1.6 Overlay/action tag and environment options
     1.7 Overlay/action in list environment
     1.8 Embedded LaTeX
     1.9 Example
2 org-beamer-mode
     2.1 Fast tag selection for beamer environments
     2.2 Special font-locking of beamer tags


1 Organization
~~~~~~~~~~~~~~~

1.1 Sections
=============

By default, level one headlines become sections in the beamer
document.  You can configure the variable org-beamer-frame-level
to change this.  Setting it to three will make level 2 headlines
become subsections.  For the rest of this document, I will assume
that this variable has its default value 2.

1.2 Frames
===========
Level 2 headline (or the level configured in
org-beamer-frame-level) become frames.  The headline text become
the frame title, but if no headline text is given, the frame gets
no title.  If the frame title contains the string "\\", the line
will be split at that location, and the second half become the
frame /subtitle/.

1.3 Columns
============
Headlines one below frames (level 3 by default) can be used start
columns on a frame.  The presence of such a headline without a
beamer tag (see below) will create the columns environment.  The
text in the headline is ignored.  It is helpful to write
"columns" in this headline anyway.

1.4 A column
=============
Headlines below a columns environment (level 4 by default) open a
column.  The text in the headline should be a number smaller than
one and will be used to define the column width.

1.5 Block-like environments
============================
Any headline can become a block-like environment by tagging it
with a beamer tag.  For examples, `:B_block:' will trigger the
creation of a block environment, while `:B_theorem:' will trigger
the creation of a theorem environment.  When it makes sense, the
headline text is used in an appropriate argument of the
environment, if that does not make sense, it is ignored.

1.6 Overlay/action tag and environment options
===============================================
Any headline can contain three types of cookies

`<...>': The overlay/action setting for the environment
`[<...>]': The default overlay/action specification for the
      content of the environment, which can be overwritten locally
      by each content element.
`[...]': Optional argument(s) for the environment

These can be given in arbitrary order freely in the headline.
Org-mode will fish them out and insert them in the appropriate
locations in the \begin statement of the environment.

Having these cookies plainly in the headline reduces the
usability of the document as a normal document.  I have been
thinking to move them into comments or properties, but I think
this is, in the end, less convenient.  I people want to export
these in other ways as well, we can write a function to clean
up....

1.7 Overlay/action in list environment
=======================================
For plain list environments (ordered, unordered, and description
lists) you can start each item optionally with an overlay
specification `<...>'.  If any item in the list contains a
default specification `[<...>]', this will be moved into the
begin statement of the itemize/enumerate/description environment,
to provide a default setting for the list items.

1.8 Embedded LaTeX
===================
As is normal for Org-mode, you can embed LaTeX commands into the
text, and they will be transferred literally into the exported
document.  In particular, you can also embed beamer-specific
commands.

1.9 Example
============
Here is a (still very incomplete) example Org document that is
intended for beamer export.

   #+LaTeX_CLASS: beamer
   #+TITLE: Example Presentation
   #+AUTHOR: Carsten Dominik

   * This is the first structural section
   ** Frame 1 \\ with a subtitle
   *** columns will be used
   **** 0.3
   ***** Thanks   :B_block:
         Thanks to Eric Fraga for the first viable beamer setup in Org
   ***** Here we continue after the block :B_normal:
         using a "normal" environment that helps to keep the structure
         after a block
   **** 0.7
   ** Frame 2 \\ where we will not use columns
   ***  
Request 
                                                          :B_block:
       Please test this stuff!

2 org-beamer-mode
~~~~~~~~~~~~~~~~~~

Org-mode defines a minor mode org-beamer-mode.  The mode is
turned on automatically when the export class as specified
in #+LaTeX_CLASS is "beamer".  Currently foreseen features are
listed below, more could be added where it makes sense.

2.1 Fast tag selection for beamer environments
===============================================
The command `C-c C-b' will offer fast selection of the various
tags that trigger specific beamer environments for a headline

2.2 Special font-locking of beamer tags
========================================
The special tags are highlighted by a special font



- Carsten

^ permalink raw reply	[flat|nested] 94+ messages in thread
* Re: Beamer support in Org-mode
@ 2009-12-22  0:11 Thomas S. Dye
  0 siblings, 0 replies; 94+ messages in thread
From: Thomas S. Dye @ 2009-12-22  0:11 UTC (permalink / raw)
  To: Org Mode


[-- Attachment #1.1: Type: text/plain, Size: 6455 bytes --]

Hi Carsten,

On Dec 21, 2009, at 12:28 PM, Carsten Dominik wrote:
...
>> I've had a chance to look at your first draft of beamer support.   
>> You've done a terrific job.  So much of the draft is right that it  
>> helps to focus thoughts on the parts that are candidates for  
>> discussion and possible change.
>
> Thanks for the very positive feedback!

You're welcome.  You certainly deserve it!

>>
>> Along those lines, I don't think using headlines for  
>> \begin{columns} ... \end{columns} works very well.  I think  
>> headlines should be reserved for sectioning, frames, elements of  
>> frames (blocks and friends), and notes.  Once a headline level has  
>> been designated for frames (n), then headline n+1 becomes an  
>> element of the frame, and headline n+2 becomes notes for the frame  
>> (following Daniel Martins' lead).
>
> Yes, this is another possibility in the notes-contest - I consider
> that discussion as still running and not settled.
>

>>
>> To my mind, columns are attributes of a frame, so they might better  
>> be handled as a property of the frame.  Frame elements are  
>> specifically assigned to a column, or not, using a property.
>
> You might or might not have noticed that the current
> implementation is already one iteration further than the
> first draft, and I have already followed a path which does
> not encourage the use of special levels for the columns
> environment.  Instead, it marks elements that *start* a new column.

Yes, I did see this but was concerned about not being able to close  
the columns environment to insert full-width material, a limitation  
noted in the draft manual.

> You proposal is different, but has the disadvantage that each element
> has to be labeled as being part of a column.  What is the advantage
> of this approach?  Maybe that it is possible to have an element that  
> is
> *after* the columns, spanning again the whole frame, before another
> element starts a new columns environment.

Yes, this is what I was hoping to achieve.

> I can see that this
> is desirable, but maybe it would be better to mark column starts
> as I am doing now, and then maybe mar an element that is outside
> of the column.

If it is possible to mark an element that closes an open columns  
environment, leaving the frame open for elements that fill the full  
width, and possibly for a new columns environment, then your approach  
to columns without additional outline structure would achieve what I  
was trying to get at.

> The reason why this approach seems (to me!) better is
> that it is the shorter path from an outline to frames with columns.
> So on  a slide with 10 items, you'd need to mark all ten, while I
> need to mark only two in order to distribute the items over two
> columns.

Minimizing the number of keystrokes is important, especially among org- 
mode people :)  Your approach, modified as we've discussed above, has  
other advantages, too, including more flexibility in the layout.

I'm pleased to learn that the limitation about full width elements  
after columns noted in the draft manual can be overcome, and look  
forward to working with the next draft.

Thanks again for all that you do.

Tom

> - Carsten
>
> P.S. I am also not entirely sure if I understand how exactly
> your setup below should look in LaTeX - maybe you can also show
> the desired LaTeX output?
>
>>
>> Roughly, this would yield the following syntax, which ought to  
>> export fairly cleanly with the HTML and LaTeX exporters.
>>
>> #+BEAMER_FRAME_LEVEL 2
>>
>> * Section 1
>> ** Frame 1
>> 	:PROPERTIES:
>> 	:FRAME_COLS: 2
>> 	:END:
>> *** Element 1   :block:
>> 	:PROPERTIES:
>> 	:IN_COL: 1
>> 	:END:
>> 	- Item 1
>> 	- Item 2
>> **** Notes about Element 1 block
>> 	- Keyed to Item 1
>> 	- Keyed to Item 2
>> *** Element 2   :block:
>> 	:PROPERTIES:
>> 	:IN_COL: 2
>> 	:END:
>> 	- Item 3
>> 	- Item 4
>> *** Element 3
>> 	This element spans two columns.  The headline doesn't appear on  
>> the slide.
>> *** Element 4  (headline doesn't appear on the slide because not a  
>> block or friend)
>> 	:PROPERTIES:
>> 	:IN_COL: 1
>> 	:END:
>> 	- Item 5
>> 	- Item 6
>> ** Frame 2
>> *** Element 1
>> 	- Item 1
>> 	- Item 2
>> **** Notes
>> 	- Note for item 1
>> 	- Note for item 2
>>
>> Thanks again for drafting what should be a very useful addition to  
>> the already insanely useful org-mode.
>>
>> HTH,
>> Tom
>>
>> On Dec 10, 2009, at 10:05 PM, Carsten Dominik wrote:
>>
>>> Hi everyone,
>>>
>>> the current state of affairs in beamer support is now in
>>> the master branch of the git repo.
>>>
>>> My little draft documentation is now at
>>>
>>> http://orgmode.org/worg/org-tutorials/org-beamer.php
>>>
>>> But it is really limited and I am hoping very much that someone
>>> will turn this into something useful!
>>>
>>> - Carsten
>>>
>>>
>>> On Dec 11, 2009, at 12:49 AM, Mark Elston wrote:
>>>
>>>> Nick Dokos wrote:
>>>>> IIUC, another way to go (possibly much simpler than org- 
>>>>> babel[1]) is to use
>>>>> selective export:
>>>>>  #+EXPORT_SELECT_TAGS:   Tags that select a tree for export
>>>>>  #+EXPORT_EXCLUDE_TAGS:  Tags that exclude a tree from export
>>>>> Mark the handout and notes sections with different tags and export
>>>>> the document twice, once with the handout tag selected and once
>>>>> with the notes tag selected.
>>>>
>>>> This sounds like it would work as well, though it probably results
>>>> in a very different org-file organization to make it work.  I will
>>>> have to play around with the various options to see what works best
>>>> for me.
>>>>
>>>> Thanks.
>>>>
>>>>> HTH,
>>>>> Nick
>>>>> [1] NB: org-babel is another area that I know very little about,  
>>>>> but
>>>>> hope to learn more about during vacation (although by this time,  
>>>>> the
>>>>> todo list for vacation has expanded sufficiently to occupy several
>>>>> lifetimes...)
>>>>
>>>> Hah!  I know exactly what you mean...
>>>>
>>>> Mark
>>>>
>>>>
>>>> _______________________________________________
>>>> Emacs-orgmode mailing list
>>>> Please use `Reply All' to send replies to the list.
>>>> Emacs-orgmode@gnu.org
>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>
>>> - Carsten
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>
> - Carsten
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 17851 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 94+ messages in thread
* BUG: org-annotation-helper.el uses caddr without requiring cl
@ 2009-11-09 13:07 Adam Spiers
  0 siblings, 0 replies; 94+ messages in thread
From: Adam Spiers @ 2009-11-09 13:07 UTC (permalink / raw)
  To: org-mode mailing list

org-annotation-helper.el uses caddr but does not require the cl
package; this results in

  *ERROR*: Symbol's function definition is void: caddr

when bzg/org-annotate-helper is invoked.

^ permalink raw reply	[flat|nested] 94+ messages in thread
* Strange bug, request for more info
@ 2008-01-31  8:37 Carsten Dominik
  2008-01-31 10:32 ` Adam Spiers
                   ` (5 more replies)
  0 siblings, 6 replies; 94+ messages in thread
From: Carsten Dominik @ 2008-01-31  8:37 UTC (permalink / raw)
  To: org-mode mailing list

Hi everyone,

John Wiegley is being haunted by a strange bug and I have so far not
been able to reproduce and fix it.  So I would like to know
if anyone else sees the same bug and can contribute observations
that may help us to track this down.  I believe I had a similar
report quite a while ago, but don't remember who reported it.

The bug happens when being in the agenda and trying to goto or show
the origin location of an agenda entry by pressing SPC or RET.
John reports that sometimes (for him several times a day),
the other window shows a completely different location.
The most weird part of it is that going back to the agenda buffer
and then trying the exact same command again, everything works
fine!  This is driving me crazy, and I'd love to find and fix
this problem.

So please, if anyone sees the same bug, try to give as as much as info
as possible.  How often does it happen, under what circumstances,
what is your setup etc etc.

Thanks a lot.

- Carsten

^ permalink raw reply	[flat|nested] 94+ messages in thread

end of thread, other threads:[~2010-05-27 17:45 UTC | newest]

Thread overview: 94+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-26 11:17 Beamer support in Org-mode Carsten Dominik
2009-11-26 11:26 ` Friedrich Delgado Friedrichs
2009-11-26 14:01 ` Sébastien Vauban
2009-11-26 14:54   ` Carsten Dominik
2009-11-26 17:53     ` Sébastien Vauban
2009-11-26 16:30 ` Nick Dokos
2009-11-26 16:47   ` Carsten Dominik
2009-11-26 18:29     ` Darlan Cavalcante Moreira
2009-12-10 16:09       ` Carsten Dominik
2009-12-10 16:50         ` Darlan Cavalcante Moreira
2009-12-10 17:28           ` Nick Dokos
2009-12-10 20:49             ` Mark Elston
2009-12-10 21:00               ` Thomas S. Dye
2009-12-10 22:02                 ` Mark Elston
2009-12-10 23:31                   ` Nick Dokos
2009-12-10 23:49                     ` Mark Elston
2009-12-11  8:05                       ` Carsten Dominik
2009-12-21 15:50                         ` Thomas S. Dye
2009-12-21 22:28                           ` Carsten Dominik
2009-12-10 21:05               ` Scot Becker
2009-12-15 15:51         ` Eric S Fraga
2009-12-15 19:07           ` Daniel Martins
2009-12-15 19:49             ` Darlan Cavalcante Moreira
2009-12-18 11:06               ` Adam Spiers
2009-11-26 16:49 ` Dan Davison
2009-11-26 16:57   ` Carsten Dominik
2009-11-27  8:02     ` Eric S Fraga
2009-11-27  9:09       ` Sébastien Vauban
2009-11-27 13:48         ` Carsten Dominik
2009-11-27 15:04           ` Sébastien Vauban
2009-11-27 18:40           ` Eric S Fraga
2009-11-27  8:01   ` Eric S Fraga
2009-11-26 17:04 ` Thomas S. Dye
2009-11-26 18:40   ` Dan Davison
2009-11-26 21:38     ` Sébastien Vauban
2009-11-26 21:47       ` Russell Adams
2009-11-27  8:15         ` Eric S Fraga
2009-12-04 10:23           ` Carsten Dominik
2009-11-26 23:51     ` Carsten Dominik
2009-11-27  9:13       ` Sébastien Vauban
2009-11-27 14:26       ` Stephan Schmitt
2009-12-02 16:27       ` Christian Egli
2009-11-27 14:21     ` Magnus Henoch
2009-11-27 15:31       ` Dan Davison
2009-11-27 16:43         ` S5 Slideschows / Presentations - was " Sebastian Rose
2009-11-26 17:10 ` Christoph Groth
2009-11-26 21:25   ` Sébastien Vauban
2009-11-26 18:26 ` Eric S Fraga
2009-11-29 18:03 ` Gray Calhoun
2009-11-29 20:19   ` Carsten Dominik
2009-11-30 23:21     ` Gray Calhoun
  -- strict thread matches above, loose matches on Subject: below --
2009-12-22  0:11 Thomas S. Dye
2009-11-09 13:07 BUG: org-annotation-helper.el uses caddr without requiring cl Adam Spiers
2008-01-31  8:37 Strange bug, request for more info Carsten Dominik
2008-01-31 10:32 ` Adam Spiers
2008-01-31 10:59   ` Hugo Schmitt
2008-01-31 11:54     ` Adam Spiers
     [not found]       ` <orgmode@adamspiers.org>
2008-01-31 16:19         ` Nick Dokos
2008-01-31 16:52           ` Adam Spiers
2008-01-31 17:35         ` Nick Dokos
2009-11-09 15:23         ` BUG: org-annotation-helper.el uses caddr without requiring cl Nick Dokos
2009-11-09 21:10           ` Sebastian Rose
2009-11-09 21:34             ` Carsten Dominik
2009-11-09 22:28               ` Sebastian Rose
2009-12-18 15:06         ` Beamer support in Org-mode Nick Dokos
2009-12-18 21:01           ` Daniel Martins
2009-12-19 22:33             ` Thomas S. Dye
2009-12-20 15:08               ` Darlan Cavalcante Moreira
2010-01-03 19:07                 ` Carsten Dominik
2010-01-03 23:22                   ` Russell Adams
2010-01-04  9:07                     ` Carsten Dominik
2010-01-04 14:49                       ` Darlan Cavalcante Moreira
2010-01-04 15:30                         ` Carsten Dominik
2010-01-05 17:21                         ` Carsten Dominik
2008-01-31 11:25   ` Strange bug, request for more info Carsten Dominik
2008-01-31 12:03     ` Adam Spiers
2008-01-31 14:09       ` Carsten Dominik
2008-01-31 15:33         ` Behavior Change/Bug: Agenda sorting of deadline items v > 4.73 Eric J Haywiser
2008-01-31 15:43           ` Carsten Dominik
2008-01-31 23:20             ` Eric J Haywiser
2008-02-01  8:28               ` Behavior Change/Bug: Agenda sorting of deadline itemsv " Egli Christian (KIRO 41)
2008-02-01 16:57                 ` Eric J Haywiser
2008-02-03  8:21                   ` Carsten Dominik
2008-01-31 13:59 ` Strange bug, request for more info Bernt Hansen
2008-01-31 19:59 ` Philip Rooke
2008-01-31 20:43   ` Jost Burkardt
2008-02-04 17:59 ` Ivan Kanis
2008-02-06 18:08 ` Jost Burkardt
2008-02-07  9:41   ` Carsten Dominik
2010-05-26  2:44 ` Bernt Hansen
2010-05-26  3:21   ` Samuel Wales
2010-05-26 11:35   ` Carsten Dominik
2010-05-27 11:39     ` Bernt Hansen
2010-05-27 17:32       ` John Wiegley

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).