emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [New exporter] Wrong export to LaTeX
@ 2012-10-11 13:04 Sebastien Vauban
  2012-10-11 13:21 ` Nicolas Goaziou
  2012-10-11 13:45 ` Suvayu Ali
  0 siblings, 2 replies; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-11 13:04 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Nicolas,

When I try to export the following ECM:

--8<---------------cut here---------------start------------->8---
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
#+OPTIONS: H:2
#+BEAMER_FRAME_LEVEL: 2

* First section

** First frame

Introduction: why?

** Second frame

Objective is...

* Second section

** Third frame

Conclusions are...
--8<---------------cut here---------------end--------------->8---

I get with the *old exporter*:

--8<---------------cut here---------------start------------->8---
  % Created 2012-10-11 Thu 14:56
  \documentclass[presentation]{beamer}
  % ...

  \title{ecm}
  \author{Sebastien Vauban}
  \date{\today}
  \hypersetup{
    pdfkeywords={},
    pdfsubject={},
    pdfcreator={Emacs Org-mode version 7.9.2}}

  \begin{document}

  \maketitle

  \begin{frame}
  \frametitle{Agenda}
  \setcounter{tocdepth}{2}
  \tableofcontents
  \end{frame}

  \section{First section}
  \label{sec-1}
  \begin{frame}
  \frametitle{First frame}
  \label{sec-1-1}


  Introduction: why?
  \end{frame}
  \begin{frame}
  \frametitle{Second frame}
  \label{sec-1-2}


  Objective is\ldots{}
  \end{frame}
  \section{Second section}
  \label{sec-2}
  \begin{frame}
  \frametitle{Third frame}
  \label{sec-2-1}


  Conclusions are\ldots{}
  \end{frame}

  \end{document}
--8<---------------cut here---------------end--------------->8---

and the following with the *new exporter*:

--8<---------------cut here---------------start------------->8---
  % Created 2012-10-11 Thu 14:57
  \documentclass[presentation]{beamer}
  % ...

  \author{Sebastien Vauban}
  \date{\today}
  \title{ecm}
  \hypersetup{
    pdfkeywords={},
    pdfsubject={},
    pdfcreator={}}
  \begin{document}

  \maketitle
  \tableofcontents
  \vspace*{1cm}


  \section{First section}
  \label{sec-1}

  \subsection{First frame}
  \label{sec-1-1}

  Introduction: why?
  \subsection{Second frame}
  \label{sec-1-2}

  Objective is\ldots{}
  \section{Second section}
  \label{sec-2}

  \subsection{Third frame}
  \label{sec-2-1}

  Conclusions are\ldots{}
  \end{document}
--8<---------------cut here---------------end--------------->8---

Notable differences:

- No frames are created!?
- (detail) PDFCreator is not set to Org-mode blah-blah (wished like that?)

Am I missing something?

Best regards,
  Seb

GNU Emacs 24.2.1 (i386-mingw-nt5.1.2600) of 2012-08-29 on MARVIN
Org-mode version 7.9.2 (release_7.9.2-428-ge2e545 @ d:/home/sva/src/org-mode/lisp/)

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 13:04 [New exporter] Wrong export to LaTeX Sebastien Vauban
@ 2012-10-11 13:21 ` Nicolas Goaziou
  2012-10-11 16:52   ` Suvayu Ali
  2012-10-11 13:45 ` Suvayu Ali
  1 sibling, 1 reply; 18+ messages in thread
From: Nicolas Goaziou @ 2012-10-11 13:21 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ



Hello,

"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:

> When I try to export the following ECM:
>
> #+LaTeX_CLASS: beamer
> #+LaTeX_CLASS_OPTIONS: [presentation]

[...]

> Notable differences:
>
> - No frames are created!?
> - (detail) PDFCreator is not set to Org-mode blah-blah (wished like that?)
>
> Am I missing something?

That's because Beamer is now a back-end on its own, not a patch over the
LaTeX one. In the old exporter, Beamer translation was triggered with
#+latex_class: beamer. This is not necessary anymore.

All you have to do is to (require 'org-e-beamer) and use the appropriate
entry in the dispatcher menu. You can have a Beamer translation on any
class, including article and so on.

That's why (add-to-list 'org-e-latex-classes "beamer" ...) doesn't make
much sense anyway (as suggested in another post).


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 13:04 [New exporter] Wrong export to LaTeX Sebastien Vauban
  2012-10-11 13:21 ` Nicolas Goaziou
@ 2012-10-11 13:45 ` Suvayu Ali
  2012-10-11 14:41   ` Sebastien Vauban
  1 sibling, 1 reply; 18+ messages in thread
From: Suvayu Ali @ 2012-10-11 13:45 UTC (permalink / raw)
  To: emacs-orgmode

Hello Seb,

On Thu, Oct 11, 2012 at 03:04:42PM +0200, Sebastien Vauban wrote:
> Hi Nicolas,
> 
> When I try to export the following ECM:
> 
> --8<---------------cut here---------------start------------->8---
> #+LaTeX_CLASS: beamer
> #+LaTeX_CLASS_OPTIONS: [presentation]
> #+BEAMER_THEME: default
> #+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
> #+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
> #+OPTIONS: H:2
> #+BEAMER_FRAME_LEVEL: 2

The above line is not needed anymore.  The OPTIONS line above determines
the structure.  So in your case just remove the BEAMER_FRAME_LEVEL line
and everything should be good.

If you want to override a particular headline and want to export it as a
frame anyway, you can use org-beamer-mode to set that headline with the
frame environment.

Hope this helps.

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 13:45 ` Suvayu Ali
@ 2012-10-11 14:41   ` Sebastien Vauban
  2012-10-11 15:35     ` Suvayu Ali
  0 siblings, 1 reply; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-11 14:41 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hello Suvayu,

Suvayu Ali wrote:
> On Thu, Oct 11, 2012 at 03:04:42PM +0200, Sebastien Vauban wrote:
>> When I try to export the following ECM:
>> 
>> --8<---------------cut here---------------start------------->8---
>> #+LaTeX_CLASS: beamer
>> #+LaTeX_CLASS_OPTIONS: [presentation]
>> #+BEAMER_THEME: default
>> #+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
>> #+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
>> #+OPTIONS: H:2
>> #+BEAMER_FRAME_LEVEL: 2
>
> The above line is not needed anymore.  The OPTIONS line above determines
> the structure.  So in your case just remove the BEAMER_FRAME_LEVEL line
> and everything should be good.

I know that -- but you're right repeating it anyway. If I have written it,
it's with the objective of having an ECM that compiles both with the new and
the old exporter.

However, I did not have the BEAMER_FRAME_LEVEL line to begin with the new
exporter, and it did not work. Reason why I tried the old one.

So, in my case, removing the above line does not solve anything.

There must be something obviously wrong somewhere (in my setup?) but I don't
find what at this moment...

> If you want to override a particular headline and want to export it as a
> frame anyway, you can use org-beamer-mode to set that headline with the
> frame environment.
>
> Hope this helps.

Not yet ;-(

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 14:41   ` Sebastien Vauban
@ 2012-10-11 15:35     ` Suvayu Ali
  0 siblings, 0 replies; 18+ messages in thread
From: Suvayu Ali @ 2012-10-11 15:35 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 580 bytes --]

Hi Sebastien,

On Thu, Oct 11, 2012 at 04:41:47PM +0200, Sebastien Vauban wrote:
> 
> So, in my case, removing the above line does not solve anything.
> 
> There must be something obviously wrong somewhere (in my setup?) but I don't
> find what at this moment...
> 

I am attaching what I get with your ECM and my minimal emacs setup.  I
hope that will help narrow it down.

I export like this:

  $ emacs -Q --batch -l ~/.emacs.d/minimal-e-export.el beamer-test.org \
          -f org-e-beamer-export-to-pdf -f kill-emacs

-- 
Suvayu

Open source is the future. It sets us free.

[-- Attachment #2: beamer-test.org --]
[-- Type: text/plain, Size: 405 bytes --]

#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
#+OPTIONS: H:2

* First section

** First frame

Introduction: why?

** Second frame

Objective is...

* Second section

** Third frame

Conclusions are...

[-- Attachment #3: beamer-test.tex --]
[-- Type: text/plain, Size: 1031 bytes --]

% Created 2012-10-11 Thu 17:31
\documentclass[presentation]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{soul}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{hyperref}
\tolerance=1000
\usetheme{default}
\author{Suvayu Ali}
\date{\today}
\title{beamer-test}
\hypersetup{
  pdfkeywords={},
  pdfsubject={},
  pdfcreator={Generated by Org mode 7.9.2 in Emacs 24.2.50.1.}}
\begin{document}

\maketitle
\begin{frame}{Outline}
\tableofcontents
\end{frame}


\section{First section}
\label{sec-1}

\begin{frame}[label=sec-1-1]{First frame}
Introduction: why?
\end{frame}
\begin{frame}[label=sec-1-2]{Second frame}
Objective is\ldots{}
\end{frame}
\section{Second section}
\label{sec-2}

\begin{frame}[label=sec-2-1]{Third frame}
Conclusions are\ldots{}
\end{frame}
% Generated by Org mode 7.9.2 in Emacs 24.2.50.1.
\end{document}

[-- Attachment #4: beamer-test.pdf --]
[-- Type: application/pdf, Size: 44878 bytes --]

[-- Attachment #5: minimal-e-export.el --]
[-- Type: text/plain, Size: 1117 bytes --]

;;; Minimal setup to load latest `org-mode' and use org-export

;;; Code
(setq debug-on-error t
      debug-on-signal nil
      debug-on-quit nil)

(add-to-list 'load-path (expand-file-name "~/build/org-mode/lisp"))
(add-to-list 'load-path (expand-file-name "~/build/org-mode/contrib/lisp"))

;; load org-export and its backends
(load-library "org-export")
(load-library "org-e-latex")
(load-library "org-e-beamer")
(load-library "org-e-html")

(setq org-export-dispatch-use-expert-ui t ; non-intrusive export dispatch
      org-e-latex-pdf-process		; for experimental org-export
      '("pdflatex -interaction nonstopmode -output-directory %o %f"
	"pdflatex -interaction nonstopmode -output-directory %o %f"
	"pdflatex -interaction nonstopmode -output-directory %o %f"))

;; beamer export with the new exporter
(add-to-list 'org-e-latex-classes
             '("beamer"
               "\\documentclass\[presentation\]\{beamer\}"
               ("\\section\{%s\}" . "\\section*\{%s\}")
               ("\\subsection\{%s\}" . "\\subsection*\{%s\}")
               ("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 13:21 ` Nicolas Goaziou
@ 2012-10-11 16:52   ` Suvayu Ali
  2012-10-11 17:54     ` Nicolas Goaziou
  0 siblings, 1 reply; 18+ messages in thread
From: Suvayu Ali @ 2012-10-11 16:52 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1288 bytes --]

Hi Nicolas,

On Thu, Oct 11, 2012 at 03:21:06PM +0200, Nicolas Goaziou wrote:
> 
> 
> Hello,
> 
> "Sebastien Vauban"
> <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
> 
> > When I try to export the following ECM:
> >
> > #+LaTeX_CLASS: beamer
> > #+LaTeX_CLASS_OPTIONS: [presentation]
> 
> [...]
> 
> > Notable differences:
> >
> > - No frames are created!?
> > - (detail) PDFCreator is not set to Org-mode blah-blah (wished like that?)
> >
> > Am I missing something?
> 
> That's because Beamer is now a back-end on its own, not a patch over the
> LaTeX one. In the old exporter, Beamer translation was triggered with
> #+latex_class: beamer. This is not necessary anymore.
> 
> All you have to do is to (require 'org-e-beamer) and use the appropriate
> entry in the dispatcher menu. You can have a Beamer translation on any
> class, including article and so on.
> 
> That's why (add-to-list 'org-e-latex-classes "beamer" ...) doesn't make
> much sense anyway (as suggested in another post).
> 

I believe you are refering to my minimal setup.  However when I try to
export to beamer (Seb's ECM) without the

  (add-to-list 'org-e-latex-classes '("beamer" ...))

bit, I get a backtrace (attached).  Is that a bug?

-- 
Suvayu

Open source is the future. It sets us free.

[-- Attachment #2: debug.log --]
[-- Type: text/plain, Size: 13702 bytes --]

Debugger entered--Lisp error: (void-function org-macro-initialize-templates)
  (org-macro-initialize-templates)
  org-export-expand-macro((:author ("Suvayu Ali") :creator "Generated by Org mode 7.9.2 in Emacs 24.2.50.1." :date ((latex-fragment (:value "\\today" :begin 1 :end 7 :post-blank 0 :parent nil))) :description nil :email "jallad@kuru.dyndns-at-home.com" :exclude-tags ("noexport") :headline-levels 2 :keywords nil :language "en" :preserve-breaks nil :section-numbers t :select-tags ("export") :time-stamp-file t :title "beamer-test" :with-archived-trees headline :with-author t :with-clocks nil :with-creator comment :with-drawers nil :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t ...))
  (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess)))
  (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))
  (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- (overlay-start ov) --offset) (- (overlay-end ov) --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))
  (progn (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- (overlay-start ov) --offset) (- (overlay-end ov) --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))))
  (unwind-protect (progn (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- (overlay-start ov) --offset) (- (overlay-end ov) --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- ... --offset) (- ... --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let (...) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (with-current-buffer temp-buffer (unwind-protect (progn (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- ... --offset) (- ... --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let (...) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (with-current-buffer temp-buffer (unwind-protect (progn (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov ... ... ...)) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ... ...)) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (with-temp-buffer (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- (overlay-start ov) --offset) (- (overlay-end ov) --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))))
  (let ((--original-buffer (current-buffer)) (--offset (1- (point-min))) (--buffer-string (buffer-string)) (--overlays (mapcar (quote copy-overlay) (overlays-in (point-min) (point-max))))) (with-temp-buffer (let ((buffer-invisibility-spec nil)) (org-clone-local-variables --original-buffer "^\\(org-\\|orgtbl-\\|major-mode$\\|outline-\\(regexp\\|level\\)$\\)") (insert --buffer-string) (mapc (lambda (ov) (move-overlay ov (- (overlay-start ov) --offset) (- (overlay-end ov) --offset) (current-buffer))) --overlays) (goto-char (point-min)) (progn (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))))
  (org-export-with-current-buffer-copy (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))
  (let ((buf (or (buffer-file-name (buffer-base-buffer)) (current-buffer)))) (org-export-with-current-buffer-copy (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only)))
  (let* ((info (org-export-install-filters (org-export-get-environment backend subtreep ext-plist))) (tree (let ((buf (or (buffer-file-name ...) (current-buffer)))) (org-export-with-current-buffer-copy (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let (...) (org-export-blocks-preprocess))) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))))) (setq tree (org-export-filter-apply-functions (plist-get info :filter-parse-tree) tree info)) (setq info (org-combine-plists info (org-export-collect-tree-properties tree info))) (let* ((body (org-element-normalize-string (org-export-data tree info))) (template (cdr (assq (quote template) (plist-get info :translate-alist)))) (output (org-export-filter-apply-functions (plist-get info :filter-final-output) (if (or (not ...) body-only) body (funcall template body info)) info))) (if org-export-copy-to-kill-ring (progn (org-kill-new output))) output))
  (save-restriction (cond ((org-region-active-p) (narrow-to-region (region-beginning) (region-end))) (subtreep (org-narrow-to-subtree) (goto-char (point-min)) (forward-line) (narrow-to-region (point) (point-max)))) (let* ((info (org-export-install-filters (org-export-get-environment backend subtreep ext-plist))) (tree (let ((buf (or ... ...))) (org-export-with-current-buffer-copy (if noexpand nil (org-export-expand-include-keyword) (org-update-radio-target-regexp) (org-export-expand-macro info) (let ... ...)) (goto-char (point-min)) (run-hook-with-args (quote org-export-before-parsing-hook) backend) (org-element-parse-buffer nil visible-only))))) (setq tree (org-export-filter-apply-functions (plist-get info :filter-parse-tree) tree info)) (setq info (org-combine-plists info (org-export-collect-tree-properties tree info))) (let* ((body (org-element-normalize-string (org-export-data tree info))) (template (cdr (assq (quote template) (plist-get info :translate-alist)))) (output (org-export-filter-apply-functions (plist-get info :filter-final-output) (if (or ... body-only) body (funcall template body info)) info))) (if org-export-copy-to-kill-ring (progn (org-kill-new output))) output)))
  (save-excursion (save-restriction (cond ((org-region-active-p) (narrow-to-region (region-beginning) (region-end))) (subtreep (org-narrow-to-subtree) (goto-char (point-min)) (forward-line) (narrow-to-region (point) (point-max)))) (let* ((info (org-export-install-filters (org-export-get-environment backend subtreep ext-plist))) (tree (let ((buf ...)) (org-export-with-current-buffer-copy (if noexpand nil ... ... ... ...) (goto-char ...) (run-hook-with-args ... backend) (org-element-parse-buffer nil visible-only))))) (setq tree (org-export-filter-apply-functions (plist-get info :filter-parse-tree) tree info)) (setq info (org-combine-plists info (org-export-collect-tree-properties tree info))) (let* ((body (org-element-normalize-string (org-export-data tree info))) (template (cdr (assq ... ...))) (output (org-export-filter-apply-functions (plist-get info :filter-final-output) (if ... body ...) info))) (if org-export-copy-to-kill-ring (progn (org-kill-new output))) output))))
  org-export-as(e-beamer nil nil nil nil nil)
  (let ((out (org-export-as backend subtreep visible-only body-only ext-plist noexpand))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert out) (let ((coding-system-for-write org-export-coding-system)) (write-file file))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
  org-export-to-file(e-beamer "/home/jallad/tmp/org-test/beamer-test.tex" nil nil nil nil)
  (let ((outfile (org-export-output-file-name ".tex" subtreep pub-dir))) (org-export-to-file (quote e-beamer) outfile subtreep visible-only body-only ext-plist))
  org-e-beamer-export-to-latex(nil nil nil nil nil)
  (org-e-latex-compile (org-e-beamer-export-to-latex subtreep visible-only body-only ext-plist pub-dir))
  org-e-beamer-export-to-pdf(nil nil nil)
  funcall(org-e-beamer-export-to-pdf nil nil nil)
  (cond ((eql action (quote publish-current-file)) (org-e-publish-current-file (memq (quote force) optns))) ((eql action (quote publish-current-project)) (org-e-publish-current-project (memq (quote force) optns))) ((eql action (quote publish-choose-project)) (org-e-publish (assoc (org-icompleting-read "Publish project: " org-e-publish-project-alist nil t) org-e-publish-project-alist) (memq (quote force) optns))) ((eql action (quote publish-all)) (org-e-publish-all (memq (quote force) optns))) (t (funcall action (memq (quote subtree) optns) (memq (quote visible) optns) (memq (quote body) optns))))
  (let* ((input (org-export-dispatch-ui (list org-export-initial-scope) nil org-export-dispatch-use-expert-ui)) (action (car input)) (optns (cdr input))) (cond ((eql action (quote publish-current-file)) (org-e-publish-current-file (memq (quote force) optns))) ((eql action (quote publish-current-project)) (org-e-publish-current-project (memq (quote force) optns))) ((eql action (quote publish-choose-project)) (org-e-publish (assoc (org-icompleting-read "Publish project: " org-e-publish-project-alist nil t) org-e-publish-project-alist) (memq (quote force) optns))) ((eql action (quote publish-all)) (org-e-publish-all (memq (quote force) optns))) (t (funcall action (memq (quote subtree) optns) (memq (quote visible) optns) (memq (quote body) optns)))))
  org-export-dispatch()
  call-interactively(org-export-dispatch record nil)
  command-execute(org-export-dispatch record)
  execute-extended-command(nil "org-export-dispatch")
  call-interactively(execute-extended-command nil nil)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 16:52   ` Suvayu Ali
@ 2012-10-11 17:54     ` Nicolas Goaziou
  2012-10-12 10:24       ` Suvayu Ali
  0 siblings, 1 reply; 18+ messages in thread
From: Nicolas Goaziou @ 2012-10-11 17:54 UTC (permalink / raw)
  To: Suvayu Ali; +Cc: emacs-orgmode

Hello,

Suvayu Ali <fatkasuvayu+linux@gmail.com> writes:

>> That's why (add-to-list 'org-e-latex-classes "beamer" ...) doesn't make
>> much sense anyway (as suggested in another post).
>> 
> I believe you are refering to my minimal setup.

No, I was referring to Sébastien Vauban's previous post, in which he
suggested to add a default "beamer" entry in `org-e-latex-classes'.

> However when I try to export to beamer (Seb's ECM) without the
>
>   (add-to-list 'org-e-latex-classes '("beamer" ...))

With a minimal setup, the ECM won't export because the file explicitly
asks for a "beamer" class, which isn't defined.

In other words, you can use Beamer back-end on any class, as long as
this class is defined in `org-e-latex-classes'. It doesn't have to be
named "beamer".

> bit, I get a backtrace (attached).  Is that a bug?

This is strange. The error comes from a void function, although it is
defined in org.el. I suppose you get the error because you use
`load-library' instead of `require'. You may want to (load-library
"org") to fix it.


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-11 17:54     ` Nicolas Goaziou
@ 2012-10-12 10:24       ` Suvayu Ali
  2012-10-12 11:06         ` Sebastien Vauban
  2012-10-12 12:09         ` Nicolas Goaziou
  0 siblings, 2 replies; 18+ messages in thread
From: Suvayu Ali @ 2012-10-12 10:24 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

Hi Nicolas,

Let me clarify to see if I understood things correctly.

On Thu, Oct 11, 2012 at 07:54:02PM +0200, Nicolas Goaziou wrote:
> 
> > However when I try to export to beamer (Seb's ECM) without the
> >
> >   (add-to-list 'org-e-latex-classes '("beamer" ...))
> 
> With a minimal setup, the ECM won't export because the file explicitly
> asks for a "beamer" class, which isn't defined.
> 
> In other words, you can use Beamer back-end on any class, as long as
> this class is defined in `org-e-latex-classes'. It doesn't have to be
> named "beamer".
> 

Okay, I do follow this.  However, doesn't LaTeX_CLASS determine what
goes into the \documentclass{class name} directive?  If so, does having
\begin{frames}..\end{frames} in the exported tex make sense if the
documentclass directive says, for example, article?

What I'm getting at is, without the LaTeX_CLASS set to beamer, the
crucial \documentclass{beamer} directive is missing and the exported
LaTeX document won't be compilable[1].  Given the preceding comments are
correct, I would then say having a "beamer" class already defined in
org-e-beamer will save new users some trouble.  Is my analysis valid, or
am I grossly wrong?

> > bit, I get a backtrace (attached).  Is that a bug?
> 
> This is strange. The error comes from a void function, although it is
> defined in org.el. I suppose you get the error because you use
> `load-library' instead of `require'. You may want to (load-library
> "org") to fix it.
> 

I think I know what went wrong; I had misunderstood your comment
earlier and had exported with the beamer backend Seb's original ECM.  Of
course it fails because it explicitly asks for the "beamer" class when
that was not defined.

Cheers,

Footnotes:

[1] I tried this with the LaTeX_CLASS set to article, and there were
    errors in the exported pdf.


-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 10:24       ` Suvayu Ali
@ 2012-10-12 11:06         ` Sebastien Vauban
  2012-10-12 11:32           ` Sebastien Vauban
  2012-10-12 12:05           ` Suvayu Ali
  2012-10-12 12:09         ` Nicolas Goaziou
  1 sibling, 2 replies; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-12 11:06 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Suvayu and Nicolas,

Suvayu Ali wrote:
> On Thu, Oct 11, 2012 at 07:54:02PM +0200, Nicolas Goaziou wrote:

Explanation to my first problem: I was *missing* the require of org-e-beamer,
hence only got "plain" LaTeX back-end, and no extra menus for Beamer.

That's perfectly clear to me, now. Thanks.

> Let me clarify to see if I understood things correctly.
>
>>> However when I try to export to beamer (Seb's ECM) without the
>>>
>>>   (add-to-list 'org-e-latex-classes '("beamer" ...))
>>
>> With a minimal setup, the ECM won't export because the file explicitly
>> asks for a "beamer" class, which isn't defined.
>>
>> In other words, you can use Beamer back-end on any class, as long as
>> this class is defined in `org-e-latex-classes'. It doesn't have to be
>> named "beamer".
>
> Okay, I do follow this.  However, doesn't LaTeX_CLASS determine what
> goes into the \documentclass{class name} directive?  If so, does having
> \begin{frames}..\end{frames} in the exported tex make sense if the
> documentclass directive says, for example, article?
>
> What I'm getting at is, without the LaTeX_CLASS set to beamer, the
> crucial \documentclass{beamer} directive is missing and the exported
> LaTeX document won't be compilable[1].  Given the preceding comments are
> correct, I would then say having a "beamer" class already defined in
> org-e-beamer will save new users some trouble.  Is my analysis valid, or
> am I grossly wrong?

I have had once my ECM exported without the documentclass directive as well,
but I'm not 100% anymore of how I did it -- can't reproduce it right now.
Anyhow, this is still strange to me.

The important is that I now am able to compile the ECM with the new exporter
and get the desired results. Thanks!

However, I thought that LaTeX_CLASS had been renamed EXPORT_LaTeX_CLASS, but
when using the latter, I get frames inside an `article' documentclass type of
document -- while using `C-c E l O' (for Beamer)? That results in a weird
document...

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 11:06         ` Sebastien Vauban
@ 2012-10-12 11:32           ` Sebastien Vauban
  2012-10-12 11:51             ` Nicolas Goaziou
  2012-10-12 12:15             ` Suvayu Ali
  2012-10-12 12:05           ` Suvayu Ali
  1 sibling, 2 replies; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-12 11:32 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Suvayu and Nicolas,

"Sebastien Vauban" wrote:
> Suvayu Ali wrote:
>> On Thu, Oct 11, 2012 at 07:54:02PM +0200, Nicolas Goaziou wrote:
>>
>> What I'm getting at is, without the LaTeX_CLASS set to beamer, the
>> crucial \documentclass{beamer} directive is missing and the exported
>> LaTeX document won't be compilable[1].  Given the preceding comments are
>> correct, I would then say having a "beamer" class already defined in
>> org-e-beamer will save new users some trouble.  Is my analysis valid, or
>> am I grossly wrong?
>
> I have had once my ECM exported without the documentclass directive as well,
> but I'm not 100% anymore of how I did it -- can't reproduce it right now.
> Anyhow, this is still strange to me.

I've updated Org (as said in my last post): Org-mode version 7.9.2
(release_7.9.2-436-g9b11e6 @ d:/home/sva/src/org-mode/lisp/).

Then, restarted Emacs, launched the export dispatcher on my ECM:

--8<---------------cut here---------------start------------->8---
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: mc
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
#+OPTIONS: H:2

* First section

** First frame

Introduction: why?

** Second frame

Objective is...

* Second section

** Third frame

Conclusions are...
--8<---------------cut here---------------end--------------->8---

... noticed that I did not get the Beamer extra menus in the dispatcher,
loaded the `org-e-beamer' library, re-exported to Beamer (`C-c E l O') and get
an uncompilable LaTeX file:

--8<---------------cut here---------------start------------->8---
% Created 2012-10-12 Fri 13:25
\usetheme{mc}
\author{Sebastien Vauban}
\date{\today}
\title{ecm}
\hypersetup{
  pdfkeywords={},
  pdfsubject={},
  pdfcreator={}}
\begin{document}

\maketitle
\begin{frame}{Outline}
\tableofcontents
\end{frame}


\begin{enumerate}
\item First section
\label{sec-1}

\begin{frame}[label=sec-1-1]{First frame}
Introduction: why?
\end{frame}
\begin{frame}[label=sec-1-2]{Second frame}
Objective is\ldots{}
\end{frame}
\item Second section
\label{sec-2}

\begin{frame}[label=sec-2-1]{Third frame}
Conclusions are\ldots{}
\end{frame}
\end{enumerate}
\end{document}
--8<---------------cut here---------------end--------------->8---

Reason: no `documentclass' directive. Why? At this point, still a mystery to
me...

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 11:32           ` Sebastien Vauban
@ 2012-10-12 11:51             ` Nicolas Goaziou
  2012-10-12 12:15             ` Suvayu Ali
  1 sibling, 0 replies; 18+ messages in thread
From: Nicolas Goaziou @ 2012-10-12 11:51 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ



Hello,

"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:

> Reason: no `documentclass' directive. Why? At this point, still a mystery to
> me...

You probably don't have a beamer entry in `org-e-latex-classes'.


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 11:06         ` Sebastien Vauban
  2012-10-12 11:32           ` Sebastien Vauban
@ 2012-10-12 12:05           ` Suvayu Ali
  2012-10-15 20:23             ` Sebastien Vauban
  1 sibling, 1 reply; 18+ messages in thread
From: Suvayu Ali @ 2012-10-12 12:05 UTC (permalink / raw)
  To: emacs-orgmode

Hi Seb,

On Fri, Oct 12, 2012 at 01:06:24PM +0200, Sebastien Vauban wrote:
> Hi Suvayu and Nicolas,

[...]

> 
> However, I thought that LaTeX_CLASS had been renamed EXPORT_LaTeX_CLASS, but
> when using the latter, I get frames inside an `article' documentclass type of
> document -- while using `C-c E l O' (for Beamer)? That results in a weird
> document...
> 

I believe that is the property name only for subtree export.  So when
exporting a file, use:

  #+LaTeX_CLASS: beamer

for subtree export use:

  * Beamer presentation
    :PROPERTIES:
    :EXPORT_LaTeX_CLASS: beamer
    :END:

Hope this helps,

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 10:24       ` Suvayu Ali
  2012-10-12 11:06         ` Sebastien Vauban
@ 2012-10-12 12:09         ` Nicolas Goaziou
  2012-10-12 12:19           ` Suvayu Ali
  1 sibling, 1 reply; 18+ messages in thread
From: Nicolas Goaziou @ 2012-10-12 12:09 UTC (permalink / raw)
  To: Suvayu Ali; +Cc: emacs-orgmode

Hello,

Suvayu Ali <fatkasuvayu+linux@gmail.com> writes:

> Okay, I do follow this.  However, doesn't LaTeX_CLASS determine what
> goes into the \documentclass{class name} directive?

No. Key in `org-e-latex-class' is just a label. You can have an
association like:

  ("foo" "\\documentclass{article}" ...)

It is here to help you name different configurations.

> If so, does having \begin{frames}..\end{frames} in the exported tex
> make sense if the documentclass directive says, for example, article?

You can use article, or book document classes along with Beamer, i.e.
when you want to create handouts for your presentation. This requires to
load "beamerarticle" package (cf. Beamer documentation).

So, yes it can make sense to call Beamer back-end on an "article"
documentclass.

> What I'm getting at is, without the LaTeX_CLASS set to beamer, the
> crucial \documentclass{beamer} directive is missing and the exported
> LaTeX document won't be compilable[1].  Given the preceding comments are
> correct, I would then say having a "beamer" class already defined in
> org-e-beamer will save new users some trouble.  Is my analysis valid, or
> am I grossly wrong?

Like in the LaTeX back-end, if you specify some class, you have to make
sure it does match an association in `org-e-latex-classes'. Though,
having a class named "beamer" isn't mandatory: you can have many classes
named differently and all using internally "\\documentclass{beamer}".

Also, I don't want to automatically modify a defcustom
(`org-e-latex-classes') once `org-e-beamer' is loaded. It isn't very
clean, even with careful checks.

`e-beamer' could also default to some header when provided class doesn't
match, but that looks ugly, too.

> Footnotes:
>
> [1] I tried this with the LaTeX_CLASS set to article, and there were
>     errors in the exported pdf.

Because, in that case, your header must contain:

  \usepackage{beamerarticle}


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 11:32           ` Sebastien Vauban
  2012-10-12 11:51             ` Nicolas Goaziou
@ 2012-10-12 12:15             ` Suvayu Ali
  1 sibling, 0 replies; 18+ messages in thread
From: Suvayu Ali @ 2012-10-12 12:15 UTC (permalink / raw)
  To: emacs-orgmode

On Fri, Oct 12, 2012 at 01:32:55PM +0200, Sebastien Vauban wrote:
> Hi Suvayu and Nicolas,
> 
> "Sebastien Vauban" wrote:
> > Suvayu Ali wrote:
> >> On Thu, Oct 11, 2012 at 07:54:02PM +0200, Nicolas Goaziou wrote:
> >>
> >> What I'm getting at is, without the LaTeX_CLASS set to beamer, the
> >> crucial \documentclass{beamer} directive is missing and the exported
> >> LaTeX document won't be compilable[1].  Given the preceding comments are
> >> correct, I would then say having a "beamer" class already defined in
> >> org-e-beamer will save new users some trouble.  Is my analysis valid, or
> >> am I grossly wrong?
> >
> > I have had once my ECM exported without the documentclass directive as well,
> > but I'm not 100% anymore of how I did it -- can't reproduce it right now.
> > Anyhow, this is still strange to me.
> 
> I've updated Org (as said in my last post): Org-mode version 7.9.2
> (release_7.9.2-436-g9b11e6 @ d:/home/sva/src/org-mode/lisp/).
> 

Org-mode version 7.9.2 (release_7.9.2-436-g9b11e6 @ ...)

> Then, restarted Emacs, launched the export dispatcher on my ECM:
> 

$ emacs -nw -Q -l minimal.el ECM.org # only theme changed to default

Followed by M-x org-e-beamer-export-to-pdf RET, exports correct LaTeX
source which compiles without errors to a pdf.

Are you sure it is not something in your setup?

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 12:09         ` Nicolas Goaziou
@ 2012-10-12 12:19           ` Suvayu Ali
  0 siblings, 0 replies; 18+ messages in thread
From: Suvayu Ali @ 2012-10-12 12:19 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

Hi Nicolas,

Your explanations below explains all the gaps in my understanding!
Thanks a lot and apologies for all the confusion.

:)


On Fri, Oct 12, 2012 at 02:09:02PM +0200, Nicolas Goaziou wrote:
> Hello,
> 
> Suvayu Ali <fatkasuvayu+linux@gmail.com> writes:
> 
> > Okay, I do follow this.  However, doesn't LaTeX_CLASS determine what
> > goes into the \documentclass{class name} directive?
> 
> No. Key in `org-e-latex-class' is just a label. You can have an
> association like:
> 
>   ("foo" "\\documentclass{article}" ...)
> 
> It is here to help you name different configurations.
> 
> > If so, does having \begin{frames}..\end{frames} in the exported tex
> > make sense if the documentclass directive says, for example, article?
> 
> You can use article, or book document classes along with Beamer, i.e.
> when you want to create handouts for your presentation. This requires to
> load "beamerarticle" package (cf. Beamer documentation).
> 
> So, yes it can make sense to call Beamer back-end on an "article"
> documentclass.
> 
> > What I'm getting at is, without the LaTeX_CLASS set to beamer, the
> > crucial \documentclass{beamer} directive is missing and the exported
> > LaTeX document won't be compilable[1].  Given the preceding comments are
> > correct, I would then say having a "beamer" class already defined in
> > org-e-beamer will save new users some trouble.  Is my analysis valid, or
> > am I grossly wrong?
> 
> Like in the LaTeX back-end, if you specify some class, you have to make
> sure it does match an association in `org-e-latex-classes'. Though,
> having a class named "beamer" isn't mandatory: you can have many classes
> named differently and all using internally "\\documentclass{beamer}".
> 
> Also, I don't want to automatically modify a defcustom
> (`org-e-latex-classes') once `org-e-beamer' is loaded. It isn't very
> clean, even with careful checks.
> 
> `e-beamer' could also default to some header when provided class doesn't
> match, but that looks ugly, too.
> 
> > Footnotes:
> >
> > [1] I tried this with the LaTeX_CLASS set to article, and there were
> >     errors in the exported pdf.
> 
> Because, in that case, your header must contain:
> 
>   \usepackage{beamerarticle}
> 
> 
> Regards,
> 
> -- 
> Nicolas Goaziou

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-12 12:05           ` Suvayu Ali
@ 2012-10-15 20:23             ` Sebastien Vauban
  2012-10-15 20:42               ` Nicolas Goaziou
  0 siblings, 1 reply; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-15 20:23 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Nicolas and Suvayu,

Suvayu Ali wrote:
>> However, I thought that LaTeX_CLASS had been renamed EXPORT_LaTeX_CLASS, but
>> when using the latter, I get frames inside an `article' documentclass type of
>> document -- while using `C-c E l O' (for Beamer)? That results in a weird
>> document...
>
> I believe that is the property name only for subtree export.  So when
> exporting a file, use:
>
>   #+LaTeX_CLASS: beamer
>
> for subtree export use:
>
>   * Beamer presentation
>     :PROPERTIES:
>     :EXPORT_LaTeX_CLASS: beamer
>     :END:

Nicolas, do you confirm the fact that keywords differ whether they apply to
the file or to a subtree?  If yes, wouldn't make sense to remove such a
distinction, or (at the other extreme of the spectrum) to make all keywords
share that same feature (prefixing with "EXPORT_" for subtrees)?

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-15 20:23             ` Sebastien Vauban
@ 2012-10-15 20:42               ` Nicolas Goaziou
  2012-10-16  7:49                 ` Sebastien Vauban
  0 siblings, 1 reply; 18+ messages in thread
From: Nicolas Goaziou @ 2012-10-15 20:42 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ



Hello,

"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:

> Suvayu Ali wrote:
>>> However, I thought that LaTeX_CLASS had been renamed EXPORT_LaTeX_CLASS, but
>>> when using the latter, I get frames inside an `article' documentclass type of
>>> document -- while using `C-c E l O' (for Beamer)? That results in a weird
>>> document...
>>
>> I believe that is the property name only for subtree export.  So when
>> exporting a file, use:
>>
>>   #+LaTeX_CLASS: beamer
>>
>> for subtree export use:
>>
>>   * Beamer presentation
>>     :PROPERTIES:
>>     :EXPORT_LaTeX_CLASS: beamer
>>     :END:
>
> Nicolas, do you confirm the fact that keywords differ whether they apply to
> the file or to a subtree?

Yes.

> If yes, wouldn't make sense to remove such a distinction, or (at the
> other extreme of the spectrum) to make all keywords share that same
> feature (prefixing with "EXPORT_" for subtrees)?

Note that it isn't a new feature from the new export engine, merely
a generalization from the old exporter, which already distinguished
#+DATE: and :EXPORT_DATE:, #+TITLE: and :EXPORT_TITLE:...

There's little incentive for users to create new keywords on the fly. On
the other hand, they may want to add node properties. That's why export
keywords should be made as simple as possible and export properties
should pollute as little namespace as possible.

Therefore, I think the current state is good. It will be properly
documented once the new exporter becomes mainstream (but the rule is
simple anyway).


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [New exporter] Wrong export to LaTeX
  2012-10-15 20:42               ` Nicolas Goaziou
@ 2012-10-16  7:49                 ` Sebastien Vauban
  0 siblings, 0 replies; 18+ messages in thread
From: Sebastien Vauban @ 2012-10-16  7:49 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Nicolas,

Nicolas Goaziou wrote:
> "Sebastien Vauban" writes:
>> Suvayu Ali wrote:
>>>> However, I thought that LaTeX_CLASS had been renamed EXPORT_LaTeX_CLASS,
>>>> but when using the latter, I get frames inside an `article' documentclass
>>>> type of document -- while using `C-c E l O' (for Beamer)? That results in
>>>> a weird document...
>>>
>>> I believe that is the property name only for subtree export. So when
>>> exporting a file, use:
>>>
>>>   #+LaTeX_CLASS: beamer
>>>
>>> for subtree export use:
>>>
>>>   * Beamer presentation
>>>     :PROPERTIES:
>>>     :EXPORT_LaTeX_CLASS: beamer
>>>     :END:
>>
>> Nicolas, do you confirm the fact that keywords differ whether they apply to
>> the file or to a subtree?
>
> Yes.
>
>> If yes, wouldn't make sense to remove such a distinction, or (at the other
>> extreme of the spectrum) to make all keywords share that same feature
>> (prefixing with "EXPORT_" for subtrees)?
>
> Note that it isn't a new feature from the new export engine, merely a
> generalization from the old exporter, which already distinguished #+DATE:
> and :EXPORT_DATE:, #+TITLE: and :EXPORT_TITLE:...
>
> There's little incentive for users to create new keywords on the fly. On the
> other hand, they may want to add node properties. That's why export keywords
> should be made as simple as possible and export properties should pollute as
> little namespace as possible.
>
> Therefore, I think the current state is good. It will be properly documented
> once the new exporter becomes mainstream (but the rule is simple anyway).

I'm glad that such a rule exists:

    #+KEYWORD: for *file* export properties

        |
        v

    #+EXPORT_KEYWORD: for *subtree* export properties

#+LaTeX_CLASS follows a rule which escaped me.

Your explanation does make a lot of sense. No change!

Best regards,
Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-10-16  7:49 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-11 13:04 [New exporter] Wrong export to LaTeX Sebastien Vauban
2012-10-11 13:21 ` Nicolas Goaziou
2012-10-11 16:52   ` Suvayu Ali
2012-10-11 17:54     ` Nicolas Goaziou
2012-10-12 10:24       ` Suvayu Ali
2012-10-12 11:06         ` Sebastien Vauban
2012-10-12 11:32           ` Sebastien Vauban
2012-10-12 11:51             ` Nicolas Goaziou
2012-10-12 12:15             ` Suvayu Ali
2012-10-12 12:05           ` Suvayu Ali
2012-10-15 20:23             ` Sebastien Vauban
2012-10-15 20:42               ` Nicolas Goaziou
2012-10-16  7:49                 ` Sebastien Vauban
2012-10-12 12:09         ` Nicolas Goaziou
2012-10-12 12:19           ` Suvayu Ali
2012-10-11 13:45 ` Suvayu Ali
2012-10-11 14:41   ` Sebastien Vauban
2012-10-11 15:35     ` Suvayu Ali

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).