| 
					
				 | 
			
			
				@@ -379,55 +379,63 @@ used as a communication channel." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Format HEADLINE as a frame. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CONTENTS holds the contents of the headline.  INFO is a plist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 used as a communication channel." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (concat "\\begin{frame}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ;; Overlay specification, if any. If is surrounded by square 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ;; brackets, consider it as a default specification. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (let ((action (org-element-property :beamer-act headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((not action) "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((string-match "\\`\\[.*\\]\\'" action ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (org-e-beamer--normalize-argument action 'defaction)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     (t (org-e-beamer--normalize-argument action 'action)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ;; Options, if any. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (let ((options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 ;; Collect options from default value and headline's 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 ;; properties.  Also add a label for links. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (org-split-string org-e-beamer-frame-default-options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				    ",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (let ((opt (org-element-property :beamer-opt headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (and opt (org-split-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      ;; Remove square brackets if user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      ;; provided them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      (and (string-match "^\\[?\\(.*\\)\\]?$" opt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				   (match-string 1 opt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      ","))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (format "label=sec-%s" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			   (mapconcat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			    'number-to-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			    (org-export-get-headline-number headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			    "-")))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    ;; Change options list into a string. FRAGILEP is non-nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    ;; when HEADLINE contains an element among 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    ;; `org-e-beamer-verbatim-elements'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (let ((fragilep (org-element-map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     headline org-e-beamer-verbatim-elements 'identity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     info 'first-match))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((fragilep 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; FRAGILEP is non-nil when HEADLINE contains an element 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ;; among `org-e-beamer-verbatim-elements'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (org-element-map headline org-e-beamer-verbatim-elements 'identity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  info 'first-match))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (concat "\\begin{frame}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; Overlay specification, if any. If is surrounded by square 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; brackets, consider it as a default specification. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (let ((action (org-element-property :beamer-act headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       ((not action) "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       ((string-match "\\`\\[.*\\]\\'" action ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(org-e-beamer--normalize-argument action 'defaction)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (t (org-e-beamer--normalize-argument action 'action)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; Options, if any. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (let ((options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   ;; Collect options from default value and headline's 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   ;; properties.  Also add a label for links. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (org-split-string org-e-beamer-frame-default-options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				      ",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (let ((opt (org-element-property :beamer-opt headline))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (and opt (org-split-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				;; Remove square brackets if user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				;; provided them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				(and (string-match "^\\[?\\(.*\\)\\]?$" opt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				     (match-string 1 opt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				","))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		     (format "label=sec-%s" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (mapconcat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			      'number-to-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			      (org-export-get-headline-number headline info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			      "-")))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      ;; Change options list into a string. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (org-e-beamer--normalize-argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (mapconcat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		'identity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(if (or (not fragilep) (member "fragile" options)) options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (cons "fragile" options)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       'option))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ;; Title. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (format "{%s}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (org-export-data (org-element-property :title headline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				   info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  "\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  "\\end{frame}")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       'option)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; Title. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (format "{%s}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (org-export-data (org-element-property :title headline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				     info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    "\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; The following workaround is required in fragile frames 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; as Beamer will append "\par" to the beginning of the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; contents.  So we need to make sure the command is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; separated from the contents by at least one space.  If 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; it isn't, it will create "\parfirst-word" command and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; remove the first word from the contents in the PDF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ;; output. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (if (not fragilep) contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (replace-regexp-in-string "\\`\n*" "\\& " contents)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    "\\end{frame}"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-e-beamer--format-block (headline contents info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Format HEADLINE as a block. 
			 |