Browse Source

BEAMER export: Allow overlay options for column environments

* lisp/org-beamer.el (org-beamer-sectioning): Allow overlay arguments for
the column as well.
* doc/org.texi (Beamer class export): Document that also overlay arguments
can be passed to the column environment.

Eric Fraga writes:

> I am trying to create a beamer slide which has two columns.  The second
> column should only appear after a while (the 6th uncovering operation).
> In latex, I would do:
>
> : \begin{column}<6->{0.4\textwidth}
>
> say.  In org, I would expect to be able to get this latex code generated
> by the following:
>
> --8<---------------cut here---------------start------------->8---
> ***** column heading			      :BMCOL:B_block:
>      :PROPERTIES:
>      :BEAMER_col: 0.4
>      :BEAMER_envargs: c<6->
>      :BEAMER_extra:
>      :BEAMER_env: block
>      :END:
> --8<---------------cut here---------------end--------------->8---
>
> according to the info documentation (Beamer class export).
>
> However, this does not work: the "c<6->" is placed verbatim in
> the \begin{block} that comes after the \begin{column}.  Furthermore, if
> I ask for the heading to be ignored (instead of defining a block), the
> envargs are lost completely!
Carsten Dominik 14 years ago
parent
commit
80a6674178
2 changed files with 5 additions and 4 deletions
  1. 2 1
      doc/org.texi
  2. 3 3
      lisp/org-beamer.el

+ 2 - 1
doc/org.texi

@@ -10043,7 +10043,8 @@ The beamer-special arguments that should be used for the environment, like
 @code{[t]} or @code{[<+->]} of @code{<2-3>}.  If the @code{BEAMER_col}
 property is also set, something like @code{C[t]} can be added here as well to
 set an options argument for the implied @code{columns} environment.
-@code{c[t]} will set an option for the implied @code{column} environment.
+@code{c[t]} or @code{c<2->} will set an options for the implied @code{column}
+environment.
 @item BEAMER_col
 The width of a column that should start with this entry.  If this property is
 set, the entry will also get a @code{:BMCOL:} property to make this visible.

+ 3 - 3
lisp/org-beamer.el

@@ -246,14 +246,14 @@ in org-export-latex-classes."
       (if (and (string-match "\\`[0-9.]+\\'" tmp)
 	       (or (= (string-to-number tmp) 1.0)
 		   (= (string-to-number tmp) 0.0)))
-	  ;; column width 1 means cloase columns, go back to full width
+	  ;; column width 1 means close columns, go back to full width
 	  (org-beamer-close-columns-maybe)
 	(when (setq ass (assoc "BEAMER_envargs" props))
 	  (let (case-fold-search)
-	    (when (string-match "C\\(\\[[^][]*\\]\\)" (cdr ass))
+	    (while (string-match "C\\(\\[[^][]*\\]\\|<[^<>]*>\\)" (cdr ass))
 	      (setq columns-option (match-string 1 (cdr ass)))
 	      (setcdr ass (replace-match "" t t (cdr ass))))
-	    (when (string-match "c\\(\\[[^][]*\\]\\)" (cdr ass))
+	    (while (string-match "c\\(\\[[^][]*\\]\\|<[^<>]*>\\)" (cdr ass))
 	      (setq column-option (match-string 1 (cdr ass)))
 	      (setcdr ass (replace-match "" t t (cdr ass))))))
 	(org-beamer-open-columns-maybe columns-option)