From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?S=C3=A9bastien_Vauban?= Subject: Re: Beamer support in Org-mode Date: Thu, 26 Nov 2009 15:01:58 +0100 Message-ID: <87skc1o04p.fsf@mundaneum.com> References: <6A790953-D036-4BAE-8833-E5B343A15331@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: 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-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Carsten, Carsten Dominik wrote: > [...] before I polish I would like comments on this outline. > > 1 Organization > ~~~~~~~~~~~~~~~ > > 1.1 Sections > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > 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. I was used to use Org level-1 headlines as the frame title... but I've never resolved how to put sections in my beamer slides (via Org) -- though this w= as not that important yet for me, as I only converted slides made by others in PowerPoint, and they don't have such sections (and TOC visible in the left bar). Though, I find this way of structuring excellent: sound and logical. Plus it is even customizable. What else would we want? Nothing... > 1.2 Frames > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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/. Excellent. Really. > 1.3 Columns > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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. Would *I* be asked about my true opinion, I would really object against this one... Except that you say "can be used". So, I guess we're not forced. My main "problem" here is that I like the idea of being to convert back or forward between Org documents and Org-beamer documents. Such headlines would not mean anything for a "normal" Org document, as you already pointed out. Now, if this is not the default interpretation, it could be OK for everybod= y. We should show this in the example below: - normal level-3 headlines (level-1 for Beamer) and - "column" level-3 headlines. > 1.4 A column > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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. I never really used overlays yet (only to play with). Though, this seems ni= ce to me, even if... > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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_b= lock: > Please test this stuff! I don't know if this can help you/us, but here is an example file I play wi= th. --8<---------------cut here---------------start------------->8--- #+TITLE: All-in file for testing Beamer with Org-mode #+AUTHOR: Seb Vauban #+DATE: 2009-11-26 #+DESCRIPTION:=20 #+KEYWORDS:=20 #+LANGUAGE: en #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t #+LaTeX_CLASS: beamer #+MACRO: BEAMERMODE presentation #+MACRO: BEAMERTHEME mc * Development ** Context *** Currently mainly manual *** Error prone *** High risks ** Requirements *** Quality **** Reduce risk **** Reduce cost **** Improve resilience *** Flexibility **** Enhance agility * Architecture ** High-level view #+BEGIN_ditaa archi.png /-----------\ /--------------\ /--------------\ +--------= --+ |cBLU | |cBLU | |cRED | |cBLU {s}= | | Browser | http | UI | gpb | App Server | | Databas= e | | |------| |------| |------| = | \-----------/ \--------------/ \--------------/ +--------= --+ #+END_ditaa * 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 * Rule language ** Horn clauses ** Allowed atoms *** Class literals *** Property literals *** Builtin literals # #+LaTeX: \begin{lstlisting} # months_employed(?applicant, ?months) ~$\wedge$~ # lessThan(?months, 3) ~$\wedge$~ # assets(?applicant, ?assets) ~$\wedge$~ # lessThan(?assets, 10000.0) # ~$\rightarrow$~ RejectedApplicant(?applicant) # #+LaTeX: \end{lstlisting} --8<---------------cut here---------------end--------------->8--- Don't know why, but the block code does not work anymore (just commented it= ). Have not time to debug it now -- have to work for my clients. Will do later. Our example should still include: - C code (or other), - table, - big image, - "wrapped" image, - overlay image (appears/disappears with animations), - TikZ picture, - etc. Maybe we can put such a "test" file in git, and enhance it as we go? > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > The special tags are highlighted by a special font If I sum up, all of this seems to me: Ex-cel-lent! My concern is just to ensure we can easily transform a normal Org document = to Beamer slides, or even have both versions in one file (handouts + notes). Though, I must admit I have no example of the latter in Beamer either. Stil= l a young user of Beamer. Best regards and many thanks for all, once again, Seb --=20 S=C3=A9bastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode