| 
					
				 | 
			
			
				@@ -187,6 +187,7 @@ You might want to put e.g. \"allowframebreaks=0.9\" here." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   '(("againframe"     "F") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("appendix"       "x") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("column"         "c") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("columns"        "C") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("frame"          "f") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("ignoreheading"  "i") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("note"           "n") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -473,51 +474,65 @@ used as a communication channel." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CONTENTS holds the contents of the headline.  INFO is a plist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 used as a communication channel." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let* ((column-width (org-element-property :beamer-col headline)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; Environment defaults to "block" if none is specified and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; ENVIRONMENT defaults to "block" if none is specified and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 ;; there is no column specification.  If there is a column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 ;; specified but still no explicit environment, ENVIRONMENT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; is nil. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; is "column". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (environment (let ((env (org-element-property :beamer-env headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			(cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 ;; "block" is the fallback environment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 ((and (not env) (not column-width)) "block") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 ;; "column" only. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 ((not env) nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 ((not env) "column") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 ;; Use specified environment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (t (downcase env))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (env-format (when environment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (env-format (unless (member environment '("column" "columns")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       (assoc environment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			      (append org-e-beamer-environments-special 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				      org-e-beamer-environments-extra 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				      org-e-beamer-environments-default)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (title (org-export-data (org-element-property :title headline) info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; Start a columns environment when there is no previous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; headline or the previous headline do not have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; a BEAMER_column property. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (options (let ((options (org-element-property :beamer-opt headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (if (not options) "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (org-e-beamer--normalize-argument options 'option)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; Start a "columns" environment when explicitly requested or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; when there is no previous headline or the previous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; headline do not have a BEAMER_column property. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (parent-env (org-element-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      :beamer-env (org-export-get-parent-headline headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (start-columns-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (and column-width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (or (org-export-first-sibling-p headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (not (org-element-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 :beamer-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 (org-export-get-previous-element headline info)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; Ends a columns environment when there is no next headline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; or the next headline do not have a BEAMER_column property. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (or (equal environment "columns") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (and column-width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (not (and parent-env 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (equal (downcase parent-env) "columns"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (or (org-export-first-sibling-p headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (not (org-element-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     :beamer-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (org-export-get-previous-element 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			      headline info))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; End the "columns" environment when explicitly requested or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; when there is no next headline or the next headline do not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; have a BEAMER_column property. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (end-columns-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (and column-width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (or (org-export-last-sibling-p headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (not (org-element-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 :beamer-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 (org-export-get-next-element headline info))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (or (equal environment "columns") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (and column-width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (not (and parent-env 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (equal (downcase parent-env) "columns"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (or (org-export-last-sibling-p headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (not (org-element-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     :beamer-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (org-export-get-next-element headline info)))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (concat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (when start-columns-p "\\begin{columns}\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when start-columns-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;; Column can accept options only when the environment is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;; explicitly defined. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (if (not (equal environment "columns")) "\\begin{columns}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (format "\\begin{columns}%s\n" options))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (when column-width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (format "\\begin{column}%s{%s}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       ;; One can specify placement for column only when 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       ;; HEADLINE stands for a column on its own. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (if (not environment) "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (let ((options (org-element-property :beamer-opt headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (if (not options) "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (org-e-beamer--normalize-argument options 'option)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (if (equal environment "column") options "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (format "%s\\textwidth" column-width))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ;; Block's opening string. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (when env-format 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -534,19 +549,12 @@ used as a communication channel." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     ((not action) (list (cons "a" "") (cons "A" ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     ((string-match "\\`\\[.*\\]\\'" action) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (cons "A" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (org-e-beamer--normalize-argument action 'defaction)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (cons "A" (org-e-beamer--normalize-argument action 'defaction)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (cons "a" ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (cons "a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (org-e-beamer--normalize-argument action 'action)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (cons "A" ""))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (list (cons "o" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (let ((options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     (org-element-property :beamer-opt headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			(if (not options) "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (org-e-beamer--normalize-argument options 'option)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (list (cons "a" (org-e-beamer--normalize-argument action 'action)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (cons "A" ""))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (list (cons "o" options) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(cons "h" title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(cons "H" (if (equal title "") "" (format "{%s}" title))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(cons "U" (if (equal title "") "" (format "[%s]" title)))))) 
			 |