From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thomas S. Dye" Subject: Re: Beamer support in Org-mode Date: Thu, 26 Nov 2009 07:04:00 -1000 Message-ID: <3AD95A40-BD6C-4ADD-B636-1FBFB55A71F3@tsdye.com> References: <6A790953-D036-4BAE-8833-E5B343A15331@gmail.com> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NDhlQ-00083g-NO for emacs-orgmode@gnu.org; Thu, 26 Nov 2009 12:04:16 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NDhlL-00080l-7o for emacs-orgmode@gnu.org; Thu, 26 Nov 2009 12:04:15 -0500 Received: from [199.232.76.173] (port=41510 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDhlK-00080g-V1 for emacs-orgmode@gnu.org; Thu, 26 Nov 2009 12:04:10 -0500 Received: from outbound-mail-119.bluehost.com ([69.89.22.19]:52123) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1NDhlJ-0001Tw-W2 for emacs-orgmode@gnu.org; Thu, 26 Nov 2009 12:04:10 -0500 In-Reply-To: <6A790953-D036-4BAE-8833-E5B343A15331@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: mailing-list-org-mode list Hi Carsten, On Nov 26, 2009, at 1:17 AM, Carsten Dominik wrote: > 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 > This is a very useful idea. Beamer is definitely smoking hot stuff! Org-mode with Beamer works tolerably well now. Eric Fraga's setup in a post a few days ago manages to leverage the core of Beamer functionality in plain-vanilla Org-mode. It would be nice to get all of Beamer with Org-mode, but I'm worried that this proposal would create a separate species of Org-mode file, which would have a single use. Perhaps my worry is misplaced, but I think it would be more useful to embed a Beamer presentation within an Org-mode file. > beamerdoc > ========= > > Author: Carsten Dominik > 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. > In Beamer, the use (or not) of sections and subsections is determined by the theme, which is also responsible for how the title is displayed. So, some mechanism to set the theme will need to be part of the package. After this, in my experience, is the colortheme. The rather somber colors preferred by the Beamer author don't play too well here in Hawai`i, and I typically set the colortheme as well. > 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. > This idea of a fixed starting point for mapping Org-mode headlines to Beamer elements looks very good, if you want to devote an entire Org- mode document to a Beamer slide show. Sebastien Vauban's concerns in another message in this thread about all the special requirements for headlines in Beamer mode and their effect on the normal Org-mode use of the file (I'm paraphrasing) are important. Would it be possible to tag a headline in some way to indicate "Beamer mode starts here" and then have a beamer-export function only export appropriately tagged sub-trees? This would mean that the mapping scheme would start at the marked sub-tree level: sections at level n, frames at level n+1 (depending on the value of org-beamer-frame- level), etc. With this kind of structure it would be possible to embed more than one beamer slide show in an Org-mode file, so there would need to be some mechanism to generate separate file names. > 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 > > I'm looking forward to expanded Beamer support in Org-mode. All the best, Tom