emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
@ 2011-07-13 21:14 Feiming Chen
  2011-07-15 14:32 ` Eric Schulte
  0 siblings, 1 reply; 9+ messages in thread
From: Feiming Chen @ 2011-07-13 21:14 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 9237 bytes --]

Hi, I like org-mode and org-babel mode very much, but recently I am  having problems outputting R graphics to LaTeX report with
Org-Babel mode.  Attached is my test file, where I am generating 4
simple plots of different sizes and format (.png or .pdf).  The HTML
export is satisfactory, however, the LaTeX export (C-c C-e l) presents two problems: 

    1.  All 4 plots have the same size (10em) which is different from the
    header specification and is too small.

\includegraphics[width=10em]{a1.png} ...
\includegraphics[width=10em]{a2.png} ...
\includegraphics[width=10em]{a3.pdf} ...
\includegraphics[width=10em]{a4.pdf} ...

    2. While exporting to PDF file, the R code is mysteriously lost in
    the R execution for the PDF output of the plots and the compilation failed correspondingly: 

> pdf(file="a3.pdf",width=5,height=5)
> 
> dev.off()
> pdf(file="a4.pdf",width=10,height=10)
>
> dev.off()


Hopefully you can replicate my errors and help me on this.  Thanks a
lot!

Best regards, 
Feiming Chen

____________________________________________________________


Emacs  : GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.21.4)
 of 2010-07-08 on x86-05.phx2.fedoraproject.org
Package: Org-mode version 7.5

current state:
==============
(setq
 org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
         ("\\.x?html?\\'" . "firefox %s") ("\\.pdf\\'" . "evince %s"))
 org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
 org-hide-block-startup t
 org-speed-command-hook '(org-speed-command-default-hook
              org-babel-speed-command-hook)
 org-src-fontify-natively t
 org-babel-load-languages '((emacs-lisp . t) (R . t))
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
 org-export-latex-format-toc-function 'org-export-latex-format-toc-default
 org-tab-first-hook '(org-hide-block-toggle-maybe
              org-src-native-tab-command-maybe
              org-babel-hide-result-toggle-maybe)
 outline-regexp "\\*+ "
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
             org-src-mode-configure-edit-buffer)
 org-confirm-shell-link-function 'yes-or-no-p
 org-reveal-start-hook '(org-decrypt-entry)
 org-export-first-hook '(org-beamer-initialize-open-trackers)
 org-format-latex-header "\\documentclass{article}\n\\usepackage[usenames]{color}\n\\usepackage{amsmath}\n\\usepackage[mathscr]{eucal}\n% Feiming's Customization BEGIN\n\\usepackage[colorlinks=true]{hyperref}\n\\input{/home/chen/lib/math.tex}\n% Feiming's Customization END\n\\pagestyle{empty}             % do not remove\n[PACKAGES]\n[DEFAULT-PACKAGES]\n% The settings below are copied from fullpage.sty\n\\setlength{\\textwidth}{\\paperwidth}\n\\addtolength{\\textwidth}{-3cm}\n\\setlength{\\oddsidemargin}{1.5cm}\n\\addtolength{\\oddsidemargin}{-2.54cm}\n\\setlength{\\evensidemargin}{\\oddsidemargin}\n\\setlength{\\textheight}{\\paperheight}\n\\addtolength{\\textheight}{-\\headheight}\n\\addtolength{\\textheight}{-\\headsep}\n\\addtolength{\\textheight}{-\\footskip}\n\\addtolength{\\textheight}{-3cm}\n\\setlength{\\topmargin}{1.5cm}\n\\addtolength{\\topmargin}{-2.54cm}"
 org-startup-indented t
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-babel-pre-tangle-hook '(save-buffer)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
          org-cycle-show-empty-lines
          org-optimize-window-after-visibility-change)
 org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
 org-use-speed-commands t
 org-mode-hook '(turn-on-org-cdlatex
         (lambda nil
          (setq org-mouse-context-menu-function
           (quote org-mouse-context-menu))
          (when (memq (quote context-menu) org-mouse-features)
           (org-defkey org-mouse-map [mouse-3] nil)
           (org-defkey org-mode-map [mouse-3]
            (quote org-mouse-show-context-menu))
           )
          (org-defkey org-mode-map [down-mouse-1]
           (quote org-mouse-down-mouse))
          (when (memq (quote context-menu) org-mouse-features)
           (org-defkey org-mouse-map [C-drag-mouse-1]
            (quote org-mouse-move-tree))
           (org-defkey org-mouse-map [C-down-mouse-1]
            (quote org-mouse-move-tree-start))
           )
          (when (memq (quote yank-link) org-mouse-features)
           (org-defkey org-mode-map [S-mouse-2]
            (quote org-mouse-yank-link))
           (org-defkey org-mode-map [drag-mouse-3]
            (quote org-mouse-yank-link))
           )
          (when (memq (quote move-tree) org-mouse-features)
           (org-defkey org-mouse-map [drag-mouse-3]
            (quote org-mouse-move-tree))
           (org-defkey org-mouse-map [down-mouse-3]
            (quote org-mouse-move-tree-start))
           )
          (when (memq (quote activate-stars) org-mouse-features)
           (font-lock-add-keywords nil
            (\`
             (((\, outline-regexp) 0
               (\`
            (face org-link mouse-face highlight keymap
             (\, org-mouse-map))
            )
               (quote prepend))
              )
             )
            t)
           )
          (when (memq (quote activate-bullets) org-mouse-features)
           (font-lock-add-keywords nil
            (\`
             (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +"
               (1
            (\`
             (face org-link keymap (\, org-mouse-map) mouse-face
              highlight)
             )
            (quote prepend))
               )
              )
             )
            t)
           )
          (when (memq (quote activate-checkboxes) org-mouse-features)
           (font-lock-add-keywords nil
            (\`
             (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)"
               (2
            (\`
             (face bold keymap (\, org-mouse-map) mouse-face
              highlight)
             )
            t)
               )
              )
             )
            t)
           )
          (defadvice org-open-at-point
           (around org-mouse-open-at-point activate)
           (let ((context (org-context)))
            (cond ((assq :headline-stars context) (org-cycle))
             ((assq :checkbox context) (org-toggle-checkbox))
             ((assq :item-bullet context)
              (let ((org-cycle-include-plain-lists t)) (org-cycle)))
             (t ad-do-it))
            )
           )
          )
         #[nil "\300\301\302\303\304$\207"
           [org-add-hook change-major-mode-hook org-show-block-all append
            local]
           5]
         #[nil "\300\301\302\303\304$\207"
           [org-add-hook change-major-mode-hook org-babel-show-result-all
            append local]
           5]
         org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-mode-hook '((lambda nil
             (setq org-mouse-context-menu-function
              (quote org-mouse-agenda-context-menu))
             (org-defkey org-agenda-mode-map [mouse-3]
              (quote org-mouse-show-context-menu))
             (org-defkey org-agenda-mode-map [down-mouse-3]
              (quote org-mouse-move-tree-start))
             (org-defkey org-agenda-mode-map [C-mouse-4]
              (quote org-agenda-earlier))
             (org-defkey org-agenda-mode-map [C-mouse-5]
              (quote org-agenda-later))
             (org-defkey org-agenda-mode-map [drag-mouse-3]
              (quote
               (lambda (event) (interactive "e")
                (case (org-mouse-get-gesture event)
                 (:left (org-agenda-earlier 1))
                 (:right (org-agenda-later 1)))
                )
               )
              )
             )
            )
 org-export-interblocks '((lob org-babel-exp-lob-one-liners)
              (src org-babel-exp-inline-src-blocks))
 org-occur-hook '(org-first-headline-recenter)
 org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
 org-confirm-babel-evaluate nil
 org-infojs-options '((path . "http://bancs.bdx.com/chen/lib/org-info.js")
              (view . "overview") (toc . "nil") (ftoc . "0")
              (tdepth . "max") (sdepth . "max") (mouse . "underline")
              (buttons . "0") (ltoc . "1") (up . :link-up)
              (home . :link-home))
 org-src-tab-acts-natively t
 org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
                   org-beamer-auto-fragile-frames
                   org-beamer-place-default-actions-for-lists)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-export-blocks '((src org-babel-exp-src-block nil)
             (comment org-export-blocks-format-comment t)
             (ditaa org-export-blocks-format-ditaa nil)
             (dot org-export-blocks-format-dot nil))
 )


[-- Attachment #1.2: Type: text/html, Size: 16196 bytes --]

[-- Attachment #2: test.org --]
[-- Type: application/vnd.lotus-organizer, Size: 404 bytes --]

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-13 21:14 Feiming Chen
@ 2011-07-15 14:32 ` Eric Schulte
  2011-07-16  9:05   ` Stephen Eglen
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2011-07-15 14:32 UTC (permalink / raw)
  To: Feiming Chen; +Cc: emacs-orgmode

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

Hi Feiming,

The "width" and "height" header arguments are passed to R to affect the
size of the generated file e.g.,

  png(filename="a1.png",width=500,height=500)

however they do not affect the generated latex code.  Luckily Org-mode
does support passing information like image width to latex figures.  See
my attached version of your test file which uses #+ATTR_LaTeX lines to
specify the width during LaTeX export.

Best -- Eric


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: test.org --]
[-- Type: text/x-org, Size: 700 bytes --]

#+TITLE:test
#+BABEL: :session *R* :results output graphics :exports both 

#+source: plot1
#+begin_src R :file a1.png :width 500 :height 500
  a <- b <- 1:10
  plot(a, b)
#+end_src

#+ATTR_LaTeX: width=500px
#+results: plot1
[[file:a1.png]]

#+source: plot2
#+begin_src R :file a2.png :width 1000 :height 1000
  plot(a, b)
#+end_src

#+ATTR_LaTeX: width=100px
#+results: plot2
[[file:a2.png]]

#+source: plot3
#+begin_src R :file a3.pdf :width 5 :height 5
  a <- b <- 1:10
  plot(a, b)
#+end_src

#+ATTR_LaTeX: width=5px
#+results: plot3
[[file:a3.pdf]]

#+source: plot4
#+begin_src R :file a4.pdf :width 10 :height 10
  plot(a, b)
#+end_src

#+ATTR_LaTeX: width=10
#+results: plot4
[[file:a4.pdf]]

[-- Attachment #3: Type: text/plain, Size: 11034 bytes --]


Feiming Chen <feimingchen@yahoo.com> writes:

> Hi, I like org-mode and org-babel mode very much, but recently I am  having problems outputting R graphics to LaTeX report with
> Org-Babel mode.  Attached is my test file, where I am generating 4
> simple plots of different sizes and format (.png or .pdf).  The HTML
> export is satisfactory, however, the LaTeX export (C-c C-e l) presents two problems: 
>
>     1.  All 4 plots have the same size (10em) which is different from the
>     header specification and is too small.
>
> \includegraphics[width=10em]{a1.png} ...
> \includegraphics[width=10em]{a2.png} ...
> \includegraphics[width=10em]{a3.pdf} ...
> \includegraphics[width=10em]{a4.pdf} ...
>
>     2. While exporting to PDF file, the R code is mysteriously lost in
>     the R execution for the PDF output of the plots and the compilation failed correspondingly: 
>
>> pdf(file="a3.pdf",width=5,height=5)
>> 
>> dev.off()
>> pdf(file="a4.pdf",width=10,height=10)
>>
>> dev.off()
>
>
> Hopefully you can replicate my errors and help me on this.  Thanks a
> lot!
>
> Best regards, 
> Feiming Chen
>
> ____________________________________________________________
>
>
> Emacs  : GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.21.4)
>  of 2010-07-08 on x86-05.phx2.fedoraproject.org
> Package: Org-mode version 7.5
>
> current state:
> ==============
> (setq
>  org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
>          ("\\.x?html?\\'" . "firefox %s") ("\\.pdf\\'" . "evince %s"))
>  org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
>  org-hide-block-startup t
>  org-speed-command-hook '(org-speed-command-default-hook
>               org-babel-speed-command-hook)
>  org-src-fontify-natively t
>  org-babel-load-languages '((emacs-lisp . t) (R . t))
>  org-metaup-hook '(org-babel-load-in-session-maybe)
>  org-after-todo-state-change-hook '(org-clock-out-if-current)
>  org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
>  org-export-latex-format-toc-function 'org-export-latex-format-toc-default
>  org-tab-first-hook '(org-hide-block-toggle-maybe
>               org-src-native-tab-command-maybe
>               org-babel-hide-result-toggle-maybe)
>  outline-regexp "\\*+ "
>  org-src-mode-hook '(org-src-babel-configure-edit-buffer
>              org-src-mode-configure-edit-buffer)
>  org-confirm-shell-link-function 'yes-or-no-p
>  org-reveal-start-hook '(org-decrypt-entry)
>  org-export-first-hook '(org-beamer-initialize-open-trackers)
>  org-format-latex-header
> "\\documentclass{article}\n\\usepackage[usenames]{color}\n\\usepackage{amsmath}\n\\usepackage[mathscr]{eucal}\n%
> Feiming's Customization
> BEGIN\n\\usepackage[colorlinks=true]{hyperref}\n\\input{/home/chen/lib/math.tex}\n%
> Feiming's Customization END\n\\pagestyle{empty}             % do not
> remove\n[PACKAGES]\n[DEFAULT-PACKAGES]\n% The settings below are
> copied from
> fullpage.sty\n\\setlength{\\textwidth}{\\paperwidth}\n\\addtolength{\\textwidth}{-3cm}\n\\setlength{\\oddsidemargin}{1.5cm}\n\\addtolength{\\oddsidemargin}{-2.54cm}\n\\setlength{\\evensidemargin}{\\oddsidemargin}\n\\setlength{\\textheight}{\\paperheight}\n\\addtolength{\\textheight}{-\\headheight}\n\\addtolength{\\textheight}{-\\headsep}\n\\addtolength{\\textheight}{-\\footskip}\n\\addtolength{\\textheight}{-3cm}\n\\setlength{\\topmargin}{1.5cm}\n\\addtolength{\\topmargin}{-2.54cm}"
>  org-startup-indented t
>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>  org-babel-pre-tangle-hook '(save-buffer)
>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
>           org-cycle-show-empty-lines
>           org-optimize-window-after-visibility-change)
>  org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
>  org-use-speed-commands t
>  org-mode-hook '(turn-on-org-cdlatex
>          (lambda nil
>           (setq org-mouse-context-menu-function
>            (quote org-mouse-context-menu))
>           (when (memq (quote context-menu) org-mouse-features)
>            (org-defkey org-mouse-map [mouse-3] nil)
>            (org-defkey org-mode-map [mouse-3]
>             (quote org-mouse-show-context-menu))
>            )
>           (org-defkey org-mode-map [down-mouse-1]
>            (quote org-mouse-down-mouse))
>           (when (memq (quote context-menu) org-mouse-features)
>            (org-defkey org-mouse-map [C-drag-mouse-1]
>             (quote org-mouse-move-tree))
>            (org-defkey org-mouse-map [C-down-mouse-1]
>             (quote org-mouse-move-tree-start))
>            )
>           (when (memq (quote yank-link) org-mouse-features)
>            (org-defkey org-mode-map [S-mouse-2]
>             (quote org-mouse-yank-link))
>            (org-defkey org-mode-map [drag-mouse-3]
>             (quote org-mouse-yank-link))
>            )
>           (when (memq (quote move-tree) org-mouse-features)
>            (org-defkey org-mouse-map [drag-mouse-3]
>             (quote org-mouse-move-tree))
>            (org-defkey org-mouse-map [down-mouse-3]
>             (quote org-mouse-move-tree-start))
>            )
>           (when (memq (quote activate-stars) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (((\, outline-regexp) 0
>                (\`
>             (face org-link mouse-face highlight keymap
>              (\, org-mouse-map))
>             )
>                (quote prepend))
>               )
>              )
>             t)
>            )
>           (when (memq (quote activate-bullets) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +"
>                (1
>             (\`
>              (face org-link keymap (\, org-mouse-map) mouse-face
>               highlight)
>              )
>             (quote prepend))
>                )
>               )
>              )
>             t)
>            )
>           (when (memq (quote activate-checkboxes) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)"
>                (2
>             (\`
>              (face bold keymap (\, org-mouse-map) mouse-face
>               highlight)
>              )
>             t)
>                )
>               )
>              )
>             t)
>            )
>           (defadvice org-open-at-point
>            (around org-mouse-open-at-point activate)
>            (let ((context (org-context)))
>             (cond ((assq :headline-stars context) (org-cycle))
>              ((assq :checkbox context) (org-toggle-checkbox))
>              ((assq :item-bullet context)
>               (let ((org-cycle-include-plain-lists t)) (org-cycle)))
>              (t ad-do-it))
>             )
>            )
>           )
>          #[nil "\300\301\302\303\304$\207"
>            [org-add-hook change-major-mode-hook org-show-block-all append
>             local]
>            5]
>          #[nil "\300\301\302\303\304$\207"
>            [org-add-hook change-major-mode-hook org-babel-show-result-all
>             append local]
>            5]
>          org-babel-result-hide-spec org-babel-hide-all-hashes)
>  org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
>  org-confirm-elisp-link-function 'yes-or-no-p
>  org-agenda-mode-hook '((lambda nil
>              (setq org-mouse-context-menu-function
>               (quote org-mouse-agenda-context-menu))
>              (org-defkey org-agenda-mode-map [mouse-3]
>               (quote org-mouse-show-context-menu))
>              (org-defkey org-agenda-mode-map [down-mouse-3]
>               (quote org-mouse-move-tree-start))
>              (org-defkey org-agenda-mode-map [C-mouse-4]
>               (quote org-agenda-earlier))
>              (org-defkey org-agenda-mode-map [C-mouse-5]
>               (quote org-agenda-later))
>              (org-defkey org-agenda-mode-map [drag-mouse-3]
>               (quote
>                (lambda (event) (interactive "e")
>                 (case (org-mouse-get-gesture event)
>                  (:left (org-agenda-earlier 1))
>                  (:right (org-agenda-later 1)))
>                 )
>                )
>               )
>              )
>             )
>  org-export-interblocks '((lob org-babel-exp-lob-one-liners)
>               (src org-babel-exp-inline-src-blocks))
>  org-occur-hook '(org-first-headline-recenter)
>  org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
>  org-confirm-babel-evaluate nil
>  org-infojs-options '((path . "http://bancs.bdx.com/chen/lib/org-info.js")
>               (view . "overview") (toc . "nil") (ftoc . "0")
>               (tdepth . "max") (sdepth . "max") (mouse . "underline")
>               (buttons . "0") (ltoc . "1") (up . :link-up)
>               (home . :link-home))
>  org-src-tab-acts-natively t
>  org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
>                    org-beamer-auto-fragile-frames
>                    org-beamer-place-default-actions-for-lists)
>  org-metadown-hook '(org-babel-pop-to-session-maybe)
>  org-export-blocks '((src org-babel-exp-src-block nil)
>              (comment org-export-blocks-format-comment t)
>              (ditaa org-export-blocks-format-ditaa nil)
>              (dot org-export-blocks-format-dot nil))
>  )
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-15 14:32 ` Eric Schulte
@ 2011-07-16  9:05   ` Stephen Eglen
  2011-07-16 13:20     ` Eric Schulte
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Eglen @ 2011-07-16  9:05 UTC (permalink / raw)
  To: emacs-orgmode


> however they do not affect the generated latex code.  Luckily Org-mode
> does support passing information like image width to latex figures.  See
> my attached version of your test file which uses #+ATTR_LaTeX lines to
> specify the width during LaTeX export.

hi Eric,
why is the default width 10em for latex graphics?  (Or at least, how can
I change this default? 

thanks,
Stephen

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-16  9:05   ` Stephen Eglen
@ 2011-07-16 13:20     ` Eric Schulte
  2011-07-16 18:54       ` Sebastien Vauban
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2011-07-16 13:20 UTC (permalink / raw)
  To: Stephen Eglen; +Cc: emacs-orgmode

See the `org-export-latex-image-default-option' variable.

Generally in such situation you can run the `describe-variable' function
and tab-complete your way to the name of the relevant variable.  The
`apropos' function is also useful for suss out this sort of information.

Best -- Eric

Stephen Eglen <S.J.Eglen@damtp.cam.ac.uk> writes:

>> however they do not affect the generated latex code.  Luckily Org-mode
>> does support passing information like image width to latex figures.  See
>> my attached version of your test file which uses #+ATTR_LaTeX lines to
>> specify the width during LaTeX export.
>
> hi Eric,
> why is the default width 10em for latex graphics?  (Or at least, how can
> I change this default? 
>
> thanks,
> Stephen
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-16 13:20     ` Eric Schulte
@ 2011-07-16 18:54       ` Sebastien Vauban
  2011-07-17  6:30         ` Bastien
  0 siblings, 1 reply; 9+ messages in thread
From: Sebastien Vauban @ 2011-07-16 18:54 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Eric and Stephen,

Eric Schulte wrote:
>> why is the default width 10em for latex graphics?  (Or at least, how can
>> I change this default? 
>
> See the `org-export-latex-image-default-option' variable.
>
> Generally in such situation you can run the `describe-variable' function
> and tab-complete your way to the name of the relevant variable.  The
> `apropos' function is also useful for suss out this sort of information.

Shouldn't it more appropriate to give that var such a default:

    "width=0.9\\linewidth"

10em seems to me much to small in *all* cases, no?

Best regards,
  Seb

-- 
Sebastien Vauban

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-16 18:54       ` Sebastien Vauban
@ 2011-07-17  6:30         ` Bastien
  0 siblings, 0 replies; 9+ messages in thread
From: Bastien @ 2011-07-17  6:30 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: emacs-orgmode

Hi Sebastien,

"Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:

> Shouldn't it more appropriate to give that var such a default:
>
>     "width=0.9\\linewidth"
>
> 10em seems to me much to small in *all* cases, no?

Yes, you're right.  I've just applied a patch changing the default to
what you suggest.  

Thanks!

-- 
 Bastien

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
@ 2011-07-18 16:19 Feiming Chen
  2011-07-18 16:36 ` Eric Schulte
  0 siblings, 1 reply; 9+ messages in thread
From: Feiming Chen @ 2011-07-18 16:19 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 11417 bytes --]

Hi Eric: 

Thanks a lot!   It would be nice if Org-Babel model could automatically add the "#+ATTR_LaTeX" lines (from the hint in the R code header line) during LaTeX export.

Somehow I failed to compile the file on my system.  It seems the line: 

#+ATTR_LaTeX: width=5px

has corrupted the PDF file generated in R.   Because after "C-c C-e d",  I get the following error:

!pdfTeX error: pdflatex (file ./a3.pdf): PDF inclusion: required page does not exist <0>

 ==> Fatal error occurred, no output PDF file produced!


and  I could not open the PDF file of the R plot any more (the error message is "Cannot display this page! Maybe because of a conversion failure").   

Attached is the simplified org file that failed on "LaTeX transport" on my computer.  

Thanks!  

Sincerely, 

Feiming Chen

--- On Fri, 7/15/11, Eric Schulte <schulte.eric@gmail.com> wrote:

From: Eric Schulte <schulte.eric@gmail.com>
Subject: Re: [O] Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
To: "Feiming Chen" <feimingchen@yahoo.com>
Cc: emacs-orgmode@gnu.org
Date: Friday, July 15, 2011, 9:32 AM

Hi Feiming,

The "width" and "height" header arguments are passed to R to affect the
size of the generated file e.g.,

  png(filename="a1.png",width=500,height=500)

however they do not affect the generated latex code.  Luckily Org-mode
does support passing information like image width to latex figures.  See
my attached version of your test file which uses #+ATTR_LaTeX lines to
specify the width during LaTeX
 export.

Best -- Eric


-----Inline Attachment Follows-----


Feiming Chen <feimingchen@yahoo.com> writes:

> Hi, I like org-mode and org-babel mode very much, but recently I am  having problems outputting R graphics to LaTeX report with
> Org-Babel mode.  Attached is my test file, where I am generating 4
> simple plots of different sizes and format (.png or .pdf).  The HTML
> export is satisfactory, however, the LaTeX export (C-c C-e l) presents two problems: 
>
>     1.  All 4 plots have the same size (10em) which is different from the
>     header specification and is too small.
>
> \includegraphics[width=10em]{a1.png} ...
> \includegraphics[width=10em]{a2.png} ...
>
 \includegraphics[width=10em]{a3.pdf} ...
> \includegraphics[width=10em]{a4.pdf} ...
>
>     2. While exporting to PDF file, the R code is mysteriously lost in
>     the R execution for the PDF output of the plots and the compilation failed correspondingly: 
>
>> pdf(file="a3.pdf",width=5,height=5)
>> 
>> dev.off()
>> pdf(file="a4.pdf",width=10,height=10)
>>
>> dev.off()
>
>
> Hopefully you can replicate my errors and help me on this.  Thanks a
> lot!
>
> Best regards, 
> Feiming Chen
>
> ____________________________________________________________
>
>
> Emacs  : GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.21.4)
>  of 2010-07-08 on x86-05.phx2.fedoraproject.org
> Package: Org-mode version 7.5
>
> current state:
>
 ==============
> (setq
>  org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
>          ("\\.x?html?\\'" . "firefox %s") ("\\.pdf\\'" . "evince %s"))
>  org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
>  org-hide-block-startup t
>  org-speed-command-hook '(org-speed-command-default-hook
>               org-babel-speed-command-hook)
>  org-src-fontify-natively t
>  org-babel-load-languages '((emacs-lisp . t) (R . t))
>  org-metaup-hook '(org-babel-load-in-session-maybe)
>  org-after-todo-state-change-hook '(org-clock-out-if-current)
>  org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
>  org-export-latex-format-toc-function 'org-export-latex-format-toc-default
>  org-tab-first-hook
 '(org-hide-block-toggle-maybe
>               org-src-native-tab-command-maybe
>               org-babel-hide-result-toggle-maybe)
>  outline-regexp "\\*+ "
>  org-src-mode-hook '(org-src-babel-configure-edit-buffer
>              org-src-mode-configure-edit-buffer)
>  org-confirm-shell-link-function 'yes-or-no-p
>  org-reveal-start-hook '(org-decrypt-entry)
>  org-export-first-hook '(org-beamer-initialize-open-trackers)
>  org-format-latex-header
> "\\documentclass{article}\n\\usepackage[usenames]{color}\n\\usepackage{amsmath}\n\\usepackage[mathscr]{eucal}\n%
> Feiming's Customization
> BEGIN\n\\usepackage[colorlinks=true]{hyperref}\n\\input{/home/chen/lib/math.tex}\n%
> Feiming's
 Customization END\n\\pagestyle{empty}             % do not
> remove\n[PACKAGES]\n[DEFAULT-PACKAGES]\n% The settings below are
> copied from
> fullpage.sty\n\\setlength{\\textwidth}{\\paperwidth}\n\\addtolength{\\textwidth}{-3cm}\n\\setlength{\\oddsidemargin}{1.5cm}\n\\addtolength{\\oddsidemargin}{-2.54cm}\n\\setlength{\\evensidemargin}{\\oddsidemargin}\n\\setlength{\\textheight}{\\paperheight}\n\\addtolength{\\textheight}{-\\headheight}\n\\addtolength{\\textheight}{-\\headsep}\n\\addtolength{\\textheight}{-\\footskip}\n\\addtolength{\\textheight}{-3cm}\n\\setlength{\\topmargin}{1.5cm}\n\\addtolength{\\topmargin}{-2.54cm}"
>  org-startup-indented t
>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>  org-babel-pre-tangle-hook '(save-buffer)
>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
>
           org-cycle-show-empty-lines
>           org-optimize-window-after-visibility-change)
>  org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
>  org-use-speed-commands t
>  org-mode-hook '(turn-on-org-cdlatex
>          (lambda nil
>           (setq org-mouse-context-menu-function
>            (quote org-mouse-context-menu))
>           (when (memq (quote context-menu) org-mouse-features)
>            (org-defkey org-mouse-map [mouse-3] nil)
>            (org-defkey org-mode-map [mouse-3]
>        
     (quote org-mouse-show-context-menu))
>            )
>           (org-defkey org-mode-map [down-mouse-1]
>            (quote org-mouse-down-mouse))
>           (when (memq (quote context-menu) org-mouse-features)
>            (org-defkey org-mouse-map [C-drag-mouse-1]
>             (quote org-mouse-move-tree))
>            (org-defkey org-mouse-map [C-down-mouse-1]
>             (quote org-mouse-move-tree-start))
>            )
>           (when (memq (quote yank-link)
 org-mouse-features)
>            (org-defkey org-mode-map [S-mouse-2]
>             (quote org-mouse-yank-link))
>            (org-defkey org-mode-map [drag-mouse-3]
>             (quote org-mouse-yank-link))
>            )
>           (when (memq (quote move-tree) org-mouse-features)
>            (org-defkey org-mouse-map [drag-mouse-3]
>             (quote org-mouse-move-tree))
>            (org-defkey org-mouse-map [down-mouse-3]
>             (quote
 org-mouse-move-tree-start))
>            )
>           (when (memq (quote activate-stars) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (((\, outline-regexp) 0
>                (\`
>             (face org-link mouse-face highlight keymap
>              (\, org-mouse-map))
>             )
>                (quote prepend))
>        
       )
>              )
>             t)
>            )
>           (when (memq (quote activate-bullets) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +"
>                (1
>             (\`
>              (face org-link keymap (\, org-mouse-map) mouse-face
>        
       highlight)
>              )
>             (quote prepend))
>                )
>               )
>              )
>             t)
>            )
>           (when (memq (quote activate-checkboxes) org-mouse-features)
>            (font-lock-add-keywords nil
>             (\`
>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[
 X]\\]\\)"
>                (2
>             (\`
>              (face bold keymap (\, org-mouse-map) mouse-face
>               highlight)
>              )
>             t)
>                )
>               )
>              )
>             t)
>            )
>           (defadvice org-open-at-point
>
            (around org-mouse-open-at-point activate)
>            (let ((context (org-context)))
>             (cond ((assq :headline-stars context) (org-cycle))
>              ((assq :checkbox context) (org-toggle-checkbox))
>              ((assq :item-bullet context)
>               (let ((org-cycle-include-plain-lists t)) (org-cycle)))
>              (t ad-do-it))
>             )
>            )
>           )
>        
  #[nil "\300\301\302\303\304$\207"
>            [org-add-hook change-major-mode-hook org-show-block-all append
>             local]
>            5]
>          #[nil "\300\301\302\303\304$\207"
>            [org-add-hook change-major-mode-hook org-babel-show-result-all
>             append local]
>            5]
>          org-babel-result-hide-spec org-babel-hide-all-hashes)
>  org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
>  org-confirm-elisp-link-function 'yes-or-no-p
>  org-agenda-mode-hook '((lambda nil
>
              (setq org-mouse-context-menu-function
>               (quote org-mouse-agenda-context-menu))
>              (org-defkey org-agenda-mode-map [mouse-3]
>               (quote org-mouse-show-context-menu))
>              (org-defkey org-agenda-mode-map [down-mouse-3]
>               (quote org-mouse-move-tree-start))
>              (org-defkey org-agenda-mode-map [C-mouse-4]
>               (quote org-agenda-earlier))
>              (org-defkey
 org-agenda-mode-map [C-mouse-5]
>               (quote org-agenda-later))
>              (org-defkey org-agenda-mode-map [drag-mouse-3]
>               (quote
>                (lambda (event) (interactive "e")
>                 (case (org-mouse-get-gesture event)
>                  (:left (org-agenda-earlier 1))
>                  (:right (org-agenda-later 1)))
>                 )
>               
 )
>               )
>              )
>             )
>  org-export-interblocks '((lob org-babel-exp-lob-one-liners)
>               (src org-babel-exp-inline-src-blocks))
>  org-occur-hook '(org-first-headline-recenter)
>  org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
>  org-confirm-babel-evaluate nil
>  org-infojs-options '((path . "http://bancs.bdx.com/chen/lib/org-info.js")
>               (view . "overview") (toc . "nil") (ftoc . "0")
>        
       (tdepth . "max") (sdepth . "max") (mouse . "underline")
>               (buttons . "0") (ltoc . "1") (up . :link-up)
>               (home . :link-home))
>  org-src-tab-acts-natively t
>  org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
>                    org-beamer-auto-fragile-frames
>                    org-beamer-place-default-actions-for-lists)
>  org-metadown-hook '(org-babel-pop-to-session-maybe)
>  org-export-blocks '((src org-babel-exp-src-block nil)
>              (comment org-export-blocks-format-comment
 t)
>              (ditaa org-export-blocks-format-ditaa nil)
>              (dot org-export-blocks-format-dot nil))
>  )
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

[-- Attachment #1.2: Type: text/html, Size: 19997 bytes --]

[-- Attachment #2: test2.org --]
[-- Type: application/vnd.lotus-organizer, Size: 248 bytes --]

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-18 16:19 Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5] Feiming Chen
@ 2011-07-18 16:36 ` Eric Schulte
  2011-07-18 17:08   ` Feiming Chen
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2011-07-18 16:36 UTC (permalink / raw)
  To: Feiming Chen; +Cc: emacs-orgmode

Feiming Chen <feimingchen@yahoo.com> writes:

> Hi Eric: 
>
> Thanks a lot!   It would be nice if Org-Babel model could
> automatically add the "#+ATTR_LaTeX" lines (from the hint in the R
> code header line) during LaTeX export.
>

I don't think this will happen at least in the near term, as searching
out and creating/changing org export directives would be a major change
to the current behavior which inserts code results, and would cross some
semantic lines separating parts of Org-mode.

In this case I don't think the relatively limited convenience justifies
the added complexity.

>
> Somehow I failed to compile the file on my system.  It seems the line:
>
> #+ATTR_LaTeX: width=5px
>
> has corrupted the PDF file generated in R.   Because after "C-c C-e d",  I get the following error:
>
> !pdfTeX error: pdflatex (file ./a3.pdf): PDF inclusion: required page does not exist <0>
>
>  ==> Fatal error occurred, no output PDF file produced!
>
>
> and  I could not open the PDF file of the R plot any more (the error
> message is "Cannot display this page! Maybe because of a conversion
> failure").  
>
> Attached is the simplified org file that failed on "LaTeX transport" on my computer.  
>

I believe in this case the problem is caused by the lack of any headline
levels.  The LaTeX exporter can be weird about headline levels, try
adding a line like

* top

to the org file before the code block.  That fixes the problem on my
system.

Also, there is no way that an #+attr_latex line could affect the
execution of a code block, precisely because of the simplifying
separation of distinct components mentioned earlier.

Best -- Eric

>
> Thanks! 
>
> Sincerely, 
>
> Feiming Chen
>
> --- On Fri, 7/15/11, Eric Schulte <schulte.eric@gmail.com> wrote:
>
> From: Eric Schulte <schulte.eric@gmail.com>
> Subject: Re: [O] Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
> To: "Feiming Chen" <feimingchen@yahoo.com>
> Cc: emacs-orgmode@gnu.org
> Date: Friday, July 15, 2011, 9:32 AM
>
> Hi Feiming,
>
> The "width" and "height" header arguments are passed to R to affect the
> size of the generated file e.g.,
>
>   png(filename="a1.png",width=500,height=500)
>
> however they do not affect the generated latex code.  Luckily Org-mode
> does support passing information like image width to latex figures.  See
> my attached version of your test file which uses #+ATTR_LaTeX lines to
> specify the width during LaTeX
>  export.
>
> Best -- Eric
>
>
> -----Inline Attachment Follows-----
>
>
> Feiming Chen <feimingchen@yahoo.com> writes:
>
>> Hi, I like org-mode and org-babel mode very much, but recently I am  having problems outputting R graphics to LaTeX report with
>> Org-Babel mode.  Attached is my test file, where I am generating 4
>> simple plots of different sizes and format (.png or .pdf).  The HTML
>> export is satisfactory, however, the LaTeX export (C-c C-e l) presents two problems: 
>>
>>     1.  All 4 plots have the same size (10em) which is different from the
>>     header specification and is too small.
>>
>> \includegraphics[width=10em]{a1.png} ...
>> \includegraphics[width=10em]{a2.png} ...
>>
>  \includegraphics[width=10em]{a3.pdf} ...
>> \includegraphics[width=10em]{a4.pdf} ...
>>
>>     2. While exporting to PDF file, the R code is mysteriously lost in
>>     the R execution for the PDF output of the plots and the compilation failed correspondingly: 
>>
>>> pdf(file="a3.pdf",width=5,height=5)
>>> 
>>> dev.off()
>>> pdf(file="a4.pdf",width=10,height=10)
>>>
>>> dev.off()
>>
>>
>> Hopefully you can replicate my errors and help me on this.  Thanks a
>> lot!
>>
>> Best regards, 
>> Feiming Chen
>>
>> ____________________________________________________________
>>
>>
>> Emacs  : GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.21.4)
>>  of 2010-07-08 on x86-05.phx2.fedoraproject.org
>> Package: Org-mode version 7.5
>>
>> current state:
>>
>  ==============
>> (setq
>>  org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
>>          ("\\.x?html?\\'" . "firefox %s") ("\\.pdf\\'" . "evince %s"))
>>  org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
>>  org-hide-block-startup t
>>  org-speed-command-hook '(org-speed-command-default-hook
>>               org-babel-speed-command-hook)
>>  org-src-fontify-natively t
>>  org-babel-load-languages '((emacs-lisp . t) (R . t))
>>  org-metaup-hook '(org-babel-load-in-session-maybe)
>>  org-after-todo-state-change-hook '(org-clock-out-if-current)
>>  org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
>>  org-export-latex-format-toc-function 'org-export-latex-format-toc-default
>>  org-tab-first-hook
>  '(org-hide-block-toggle-maybe
>>               org-src-native-tab-command-maybe
>>               org-babel-hide-result-toggle-maybe)
>>  outline-regexp "\\*+ "
>>  org-src-mode-hook '(org-src-babel-configure-edit-buffer
>>              org-src-mode-configure-edit-buffer)
>>  org-confirm-shell-link-function 'yes-or-no-p
>>  org-reveal-start-hook '(org-decrypt-entry)
>>  org-export-first-hook '(org-beamer-initialize-open-trackers)
>>  org-format-latex-header
>> "\\documentclass{article}\n\\usepackage[usenames]{color}\n\\usepackage{amsmath}\n\\usepackage[mathscr]{eucal}\n%
>> Feiming's Customization
>> BEGIN\n\\usepackage[colorlinks=true]{hyperref}\n\\input{/home/chen/lib/math.tex}\n%
>> Feiming's
>  Customization END\n\\pagestyle{empty}             % do not
>> remove\n[PACKAGES]\n[DEFAULT-PACKAGES]\n% The settings below are
>> copied from
>> fullpage.sty\n\\setlength{\\textwidth}{\\paperwidth}\n\\addtolength{\\textwidth}{-3cm}\n\\setlength{\\oddsidemargin}{1.5cm}\n\\addtolength{\\oddsidemargin}{-2.54cm}\n\\setlength{\\evensidemargin}{\\oddsidemargin}\n\\setlength{\\textheight}{\\paperheight}\n\\addtolength{\\textheight}{-\\headheight}\n\\addtolength{\\textheight}{-\\headsep}\n\\addtolength{\\textheight}{-\\footskip}\n\\addtolength{\\textheight}{-3cm}\n\\setlength{\\topmargin}{1.5cm}\n\\addtolength{\\topmargin}{-2.54cm}"
>>  org-startup-indented t
>>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>>  org-babel-pre-tangle-hook '(save-buffer)
>>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
>>
>            org-cycle-show-empty-lines
>>           org-optimize-window-after-visibility-change)
>>  org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
>>  org-use-speed-commands t
>>  org-mode-hook '(turn-on-org-cdlatex
>>          (lambda nil
>>           (setq org-mouse-context-menu-function
>>            (quote org-mouse-context-menu))
>>           (when (memq (quote context-menu) org-mouse-features)
>>            (org-defkey org-mouse-map [mouse-3] nil)
>>            (org-defkey org-mode-map [mouse-3]
>>        
>      (quote org-mouse-show-context-menu))
>>            )
>>           (org-defkey org-mode-map [down-mouse-1]
>>            (quote org-mouse-down-mouse))
>>           (when (memq (quote context-menu) org-mouse-features)
>>            (org-defkey org-mouse-map [C-drag-mouse-1]
>>             (quote org-mouse-move-tree))
>>            (org-defkey org-mouse-map [C-down-mouse-1]
>>             (quote org-mouse-move-tree-start))
>>            )
>>           (when (memq (quote yank-link)
>  org-mouse-features)
>>            (org-defkey org-mode-map [S-mouse-2]
>>             (quote org-mouse-yank-link))
>>            (org-defkey org-mode-map [drag-mouse-3]
>>             (quote org-mouse-yank-link))
>>            )
>>           (when (memq (quote move-tree) org-mouse-features)
>>            (org-defkey org-mouse-map [drag-mouse-3]
>>             (quote org-mouse-move-tree))
>>            (org-defkey org-mouse-map [down-mouse-3]
>>             (quote
>  org-mouse-move-tree-start))
>>            )
>>           (when (memq (quote activate-stars) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (((\, outline-regexp) 0
>>                (\`
>>             (face org-link mouse-face highlight keymap
>>              (\, org-mouse-map))
>>             )
>>                (quote prepend))
>>        
>        )
>>              )
>>             t)
>>            )
>>           (when (memq (quote activate-bullets) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +"
>>                (1
>>             (\`
>>              (face org-link keymap (\, org-mouse-map) mouse-face
>>        
>        highlight)
>>              )
>>             (quote prepend))
>>                )
>>               )
>>              )
>>             t)
>>            )
>>           (when (memq (quote activate-checkboxes) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[
>  X]\\]\\)"
>>                (2
>>             (\`
>>              (face bold keymap (\, org-mouse-map) mouse-face
>>               highlight)
>>              )
>>             t)
>>                )
>>               )
>>              )
>>             t)
>>            )
>>           (defadvice org-open-at-point
>>
>             (around org-mouse-open-at-point activate)
>>            (let ((context (org-context)))
>>             (cond ((assq :headline-stars context) (org-cycle))
>>              ((assq :checkbox context) (org-toggle-checkbox))
>>              ((assq :item-bullet context)
>>               (let ((org-cycle-include-plain-lists t)) (org-cycle)))
>>              (t ad-do-it))
>>             )
>>            )
>>           )
>>        
>   #[nil "\300\301\302\303\304$\207"
>>            [org-add-hook change-major-mode-hook org-show-block-all append
>>             local]
>>            5]
>>          #[nil "\300\301\302\303\304$\207"
>>            [org-add-hook change-major-mode-hook org-babel-show-result-all
>>             append local]
>>            5]
>>          org-babel-result-hide-spec org-babel-hide-all-hashes)
>>  org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
>>  org-confirm-elisp-link-function 'yes-or-no-p
>>  org-agenda-mode-hook '((lambda nil
>>
>               (setq org-mouse-context-menu-function
>>               (quote org-mouse-agenda-context-menu))
>>              (org-defkey org-agenda-mode-map [mouse-3]
>>               (quote org-mouse-show-context-menu))
>>              (org-defkey org-agenda-mode-map [down-mouse-3]
>>               (quote org-mouse-move-tree-start))
>>              (org-defkey org-agenda-mode-map [C-mouse-4]
>>               (quote org-agenda-earlier))
>>              (org-defkey
>  org-agenda-mode-map [C-mouse-5]
>>               (quote org-agenda-later))
>>              (org-defkey org-agenda-mode-map [drag-mouse-3]
>>               (quote
>>                (lambda (event) (interactive "e")
>>                 (case (org-mouse-get-gesture event)
>>                  (:left (org-agenda-earlier 1))
>>                  (:right (org-agenda-later 1)))
>>                 )
>>               
>  )
>>               )
>>              )
>>             )
>>  org-export-interblocks '((lob org-babel-exp-lob-one-liners)
>>               (src org-babel-exp-inline-src-blocks))
>>  org-occur-hook '(org-first-headline-recenter)
>>  org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
>>  org-confirm-babel-evaluate nil
>>  org-infojs-options '((path . "http://bancs.bdx.com/chen/lib/org-info.js")
>>               (view . "overview") (toc . "nil") (ftoc . "0")
>>        
>        (tdepth . "max") (sdepth . "max") (mouse . "underline")
>>               (buttons . "0") (ltoc . "1") (up . :link-up)
>>               (home . :link-home))
>>  org-src-tab-acts-natively t
>>  org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
>>                    org-beamer-auto-fragile-frames
>>                    org-beamer-place-default-actions-for-lists)
>>  org-metadown-hook '(org-babel-pop-to-session-maybe)
>>  org-export-blocks '((src org-babel-exp-src-block nil)
>>              (comment org-export-blocks-format-comment
>  t)
>>              (ditaa org-export-blocks-format-ditaa nil)
>>              (dot org-export-blocks-format-dot nil))
>>  )
>>
>>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

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

* Re: Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
  2011-07-18 16:36 ` Eric Schulte
@ 2011-07-18 17:08   ` Feiming Chen
  0 siblings, 0 replies; 9+ messages in thread
From: Feiming Chen @ 2011-07-18 17:08 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

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

Hi Eric:

Thanks a lot for your quick response!  The problem is solved by "adding a headline".  I can now successfully generated the PDF file from LaTeX export. 

I agree with your point about complexity vs. convenience.

Thanks again, and have a good week! 

Sincerely,
Feiming Chen

--- On Mon, 7/18/11, Eric Schulte <schulte.eric@gmail.com> wrote:

From: Eric Schulte <schulte.eric@gmail.com>
Subject: Re: [O] Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
To: "Feiming Chen" <feimingchen@yahoo.com>
Cc: "Eric Schulte" <schulte.eric@gmail.com>, emacs-orgmode@gnu.org
Date: Monday, July 18, 2011, 11:36 AM

Feiming Chen <feimingchen@yahoo.com> writes:

> Hi Eric: 
>
> Thanks a lot!   It would be nice if Org-Babel model could
> automatically add the "#+ATTR_LaTeX" lines (from the hint in the R
> code header line) during LaTeX export.
>

I don't think this will happen at least in the near term, as searching
out and creating/changing org export directives would be a major change
to the current behavior which inserts code results, and would cross some
semantic lines separating parts of Org-mode.

In this case I don't think the relatively limited convenience justifies
the added complexity.

>
> Somehow I failed to compile the file on my system.  It seems the line:
>
> #+ATTR_LaTeX: width=5px
>
> has corrupted the PDF file generated in R.   Because after "C-c C-e d",  I get the following error:
>
> !pdfTeX error: pdflatex (file ./a3.pdf): PDF inclusion: required page does not exist <0>
>
>  ==> Fatal error occurred, no output PDF file produced!
>
>
> and  I could not open the PDF file of the R plot any more (the error
> message is "Cannot display this page! Maybe because of a conversion
> failure").  
>
> Attached is the simplified org file that failed on "LaTeX transport" on my computer.  
>

I believe in this case the problem is caused by the lack of any headline
levels.  The LaTeX exporter can be weird about headline levels, try
adding a line like

* top

to the org file before the code block.  That fixes the problem on my
system.

Also, there is no way that an #+attr_latex line could affect the
execution of a code block, precisely because of the simplifying
separation of distinct components mentioned earlier.

Best -- Eric

>
> Thanks! 
>
> Sincerely, 
>
> Feiming Chen
>
> --- On Fri, 7/15/11, Eric Schulte <schulte.eric@gmail.com> wrote:
>
> From: Eric Schulte <schulte.eric@gmail.com>
> Subject: Re: [O] Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5]
> To: "Feiming Chen" <feimingchen@yahoo.com>
> Cc: emacs-orgmode@gnu.org
> Date: Friday, July 15, 2011, 9:32 AM
>
> Hi Feiming,
>
> The "width" and "height" header arguments are passed to R to affect the
> size of the generated file e.g.,
>
>   png(filename="a1.png",width=500,height=500)
>
> however they do not affect the generated latex code.  Luckily Org-mode
> does support passing information like image width to latex figures.  See
> my attached version of your test file which uses #+ATTR_LaTeX lines to
> specify the width during LaTeX
>  export.
>
> Best -- Eric
>
>
> -----Inline Attachment Follows-----
>
>
> Feiming Chen <feimingchen@yahoo.com> writes:
>
>> Hi, I like org-mode and org-babel mode very much, but recently I am  having problems outputting R graphics to LaTeX report with
>> Org-Babel mode.  Attached is my test file, where I am generating 4
>> simple plots of different sizes and format (.png or .pdf).  The HTML
>> export is satisfactory, however, the LaTeX export (C-c C-e l) presents two problems: 
>>
>>     1.  All 4 plots have the same size (10em) which is different from the
>>     header specification and is too small.
>>
>> \includegraphics[width=10em]{a1.png} ...
>> \includegraphics[width=10em]{a2.png} ...
>>
>  \includegraphics[width=10em]{a3.pdf} ...
>> \includegraphics[width=10em]{a4.pdf} ...
>>
>>     2. While exporting to PDF file, the R code is mysteriously lost in
>>     the R execution for the PDF output of the plots and the compilation failed correspondingly: 
>>
>>> pdf(file="a3.pdf",width=5,height=5)
>>> 
>>> dev.off()
>>> pdf(file="a4.pdf",width=10,height=10)
>>>
>>> dev.off()
>>
>>
>> Hopefully you can replicate my errors and help me on this.  Thanks a
>> lot!
>>
>> Best regards, 
>> Feiming Chen
>>
>> ____________________________________________________________
>>
>>
>> Emacs  : GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.21.4)
>>  of 2010-07-08 on x86-05.phx2.fedoraproject.org
>> Package: Org-mode version 7.5
>>
>> current state:
>>
>  ==============
>> (setq
>>  org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default)
>>          ("\\.x?html?\\'" . "firefox %s") ("\\.pdf\\'" . "evince %s"))
>>  org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
>>  org-hide-block-startup t
>>  org-speed-command-hook '(org-speed-command-default-hook
>>               org-babel-speed-command-hook)
>>  org-src-fontify-natively t
>>  org-babel-load-languages '((emacs-lisp . t) (R . t))
>>  org-metaup-hook '(org-babel-load-in-session-maybe)
>>  org-after-todo-state-change-hook '(org-clock-out-if-current)
>>  org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
>>  org-export-latex-format-toc-function 'org-export-latex-format-toc-default
>>  org-tab-first-hook
>  '(org-hide-block-toggle-maybe
>>               org-src-native-tab-command-maybe
>>               org-babel-hide-result-toggle-maybe)
>>  outline-regexp "\\*+ "
>>  org-src-mode-hook '(org-src-babel-configure-edit-buffer
>>              org-src-mode-configure-edit-buffer)
>>  org-confirm-shell-link-function 'yes-or-no-p
>>  org-reveal-start-hook '(org-decrypt-entry)
>>  org-export-first-hook '(org-beamer-initialize-open-trackers)
>>  org-format-latex-header
>> "\\documentclass{article}\n\\usepackage[usenames]{color}\n\\usepackage{amsmath}\n\\usepackage[mathscr]{eucal}\n%
>> Feiming's Customization
>> BEGIN\n\\usepackage[colorlinks=true]{hyperref}\n\\input{/home/chen/lib/math.tex}\n%
>> Feiming's
>  Customization END\n\\pagestyle{empty}             % do not
>> remove\n[PACKAGES]\n[DEFAULT-PACKAGES]\n% The settings below are
>> copied from
>> fullpage.sty\n\\setlength{\\textwidth}{\\paperwidth}\n\\addtolength{\\textwidth}{-3cm}\n\\setlength{\\oddsidemargin}{1.5cm}\n\\addtolength{\\oddsidemargin}{-2.54cm}\n\\setlength{\\evensidemargin}{\\oddsidemargin}\n\\setlength{\\textheight}{\\paperheight}\n\\addtolength{\\textheight}{-\\headheight}\n\\addtolength{\\textheight}{-\\headsep}\n\\addtolength{\\textheight}{-\\footskip}\n\\addtolength{\\textheight}{-3cm}\n\\setlength{\\topmargin}{1.5cm}\n\\addtolength{\\topmargin}{-2.54cm}"
>>  org-startup-indented t
>>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>>  org-babel-pre-tangle-hook '(save-buffer)
>>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
>>
>            org-cycle-show-empty-lines
>>           org-optimize-window-after-visibility-change)
>>  org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
>>  org-use-speed-commands t
>>  org-mode-hook '(turn-on-org-cdlatex
>>          (lambda nil
>>           (setq org-mouse-context-menu-function
>>            (quote org-mouse-context-menu))
>>           (when (memq (quote context-menu) org-mouse-features)
>>            (org-defkey org-mouse-map [mouse-3] nil)
>>            (org-defkey org-mode-map [mouse-3]
>>        
>      (quote org-mouse-show-context-menu))
>>            )
>>           (org-defkey org-mode-map [down-mouse-1]
>>            (quote org-mouse-down-mouse))
>>           (when (memq (quote context-menu) org-mouse-features)
>>            (org-defkey org-mouse-map [C-drag-mouse-1]
>>             (quote org-mouse-move-tree))
>>            (org-defkey org-mouse-map [C-down-mouse-1]
>>             (quote org-mouse-move-tree-start))
>>            )
>>           (when (memq (quote yank-link)
>  org-mouse-features)
>>            (org-defkey org-mode-map [S-mouse-2]
>>             (quote org-mouse-yank-link))
>>            (org-defkey org-mode-map [drag-mouse-3]
>>             (quote org-mouse-yank-link))
>>            )
>>           (when (memq (quote move-tree) org-mouse-features)
>>            (org-defkey org-mouse-map [drag-mouse-3]
>>             (quote org-mouse-move-tree))
>>            (org-defkey org-mouse-map [down-mouse-3]
>>             (quote
>  org-mouse-move-tree-start))
>>            )
>>           (when (memq (quote activate-stars) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (((\, outline-regexp) 0
>>                (\`
>>             (face org-link mouse-face highlight keymap
>>              (\, org-mouse-map))
>>             )
>>                (quote prepend))
>>        
>        )
>>              )
>>             t)
>>            )
>>           (when (memq (quote activate-bullets) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +"
>>                (1
>>             (\`
>>              (face org-link keymap (\, org-mouse-map) mouse-face
>>        
>        highlight)
>>              )
>>             (quote prepend))
>>                )
>>               )
>>              )
>>             t)
>>            )
>>           (when (memq (quote activate-checkboxes) org-mouse-features)
>>            (font-lock-add-keywords nil
>>             (\`
>>              (("^[    ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[
>  X]\\]\\)"
>>                (2
>>             (\`
>>              (face bold keymap (\, org-mouse-map) mouse-face
>>               highlight)
>>              )
>>             t)
>>                )
>>               )
>>              )
>>             t)
>>            )
>>           (defadvice org-open-at-point
>>
>             (around org-mouse-open-at-point activate)
>>            (let ((context (org-context)))
>>             (cond ((assq :headline-stars context) (org-cycle))
>>              ((assq :checkbox context) (org-toggle-checkbox))
>>              ((assq :item-bullet context)
>>               (let ((org-cycle-include-plain-lists t)) (org-cycle)))
>>              (t ad-do-it))
>>             )
>>            )
>>           )
>>        
>   #[nil "\300\301\302\303\304$\207"
>>            [org-add-hook change-major-mode-hook org-show-block-all append
>>             local]
>>            5]
>>          #[nil "\300\301\302\303\304$\207"
>>            [org-add-hook change-major-mode-hook org-babel-show-result-all
>>             append local]
>>            5]
>>          org-babel-result-hide-spec org-babel-hide-all-hashes)
>>  org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
>>  org-confirm-elisp-link-function 'yes-or-no-p
>>  org-agenda-mode-hook '((lambda nil
>>
>               (setq org-mouse-context-menu-function
>>               (quote org-mouse-agenda-context-menu))
>>              (org-defkey org-agenda-mode-map [mouse-3]
>>               (quote org-mouse-show-context-menu))
>>              (org-defkey org-agenda-mode-map [down-mouse-3]
>>               (quote org-mouse-move-tree-start))
>>              (org-defkey org-agenda-mode-map [C-mouse-4]
>>               (quote org-agenda-earlier))
>>              (org-defkey
>  org-agenda-mode-map [C-mouse-5]
>>               (quote org-agenda-later))
>>              (org-defkey org-agenda-mode-map [drag-mouse-3]
>>               (quote
>>                (lambda (event) (interactive "e")
>>                 (case (org-mouse-get-gesture event)
>>                  (:left (org-agenda-earlier 1))
>>                  (:right (org-agenda-later 1)))
>>                 )
>>               
>  )
>>               )
>>              )
>>             )
>>  org-export-interblocks '((lob org-babel-exp-lob-one-liners)
>>               (src org-babel-exp-inline-src-blocks))
>>  org-occur-hook '(org-first-headline-recenter)
>>  org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
>>  org-confirm-babel-evaluate nil
>>  org-infojs-options '((path . "http://bancs.bdx.com/chen/lib/org-info.js")
>>               (view . "overview") (toc . "nil") (ftoc . "0")
>>        
>        (tdepth . "max") (sdepth . "max") (mouse . "underline")
>>               (buttons . "0") (ltoc . "1") (up . :link-up)
>>               (home . :link-home))
>>  org-src-tab-acts-natively t
>>  org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
>>                    org-beamer-auto-fragile-frames
>>                    org-beamer-place-default-actions-for-lists)
>>  org-metadown-hook '(org-babel-pop-to-session-maybe)
>>  org-export-blocks '((src org-babel-exp-src-block nil)
>>              (comment org-export-blocks-format-comment
>  t)
>>              (ditaa org-export-blocks-format-ditaa nil)
>>              (dot org-export-blocks-format-dot nil))
>>  )
>>
>>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

[-- Attachment #2: Type: text/html, Size: 23138 bytes --]

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

end of thread, other threads:[~2011-07-18 17:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-18 16:19 Bug: Org-Babel Mode R Plot Output to LaTeX File [Babel] [7.5] Feiming Chen
2011-07-18 16:36 ` Eric Schulte
2011-07-18 17:08   ` Feiming Chen
  -- strict thread matches above, loose matches on Subject: below --
2011-07-13 21:14 Feiming Chen
2011-07-15 14:32 ` Eric Schulte
2011-07-16  9:05   ` Stephen Eglen
2011-07-16 13:20     ` Eric Schulte
2011-07-16 18:54       ` Sebastien Vauban
2011-07-17  6:30         ` Bastien

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).