emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] new babel latex feature :imagemagick
@ 2011-02-24 16:16 Andreas Leha
  2011-02-24 18:49 ` Eric S Fraga
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Andreas Leha @ 2011-02-24 16:16 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1.1: Type: text/plain, Size: 1960 bytes --]

Hi all,

Just a small patch that might make life easier for
LaTeX (and esp. tikz) users.  It enables the output of graphics in a
lot of formats using imagemagick.  See below for an example.

This is my first patch, I have never programmed emacs lisp before, and
my common lisp experiences have been short and a while ago.  So please
excuse a (possibly) bad patch.

Details:
LaTeX source blocks now have three new options:
- :imagemagick
  When not nil the source block is processed to pdf and the pdf is
  converted with imagemagick to whatever is given as :file
  Thus, the format is not limited to png.
- :iminoptions
  This is passed to imagemagick before the pdf file
- :imoutoptions
  This is passed to imagemagick before the output file

Small Example:
#+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
-density 300 :imoutoptions -geometry 400 ...
will use this command for conversion:
convert -density 300 <tmp-pdf> -geometry 400 test.jpg

Full example:
Export this to pdf and to html to see the effect.
=======================================
* Test
  #+begin_src R :session :exports both :results silent
    library("tikzDevice")
  #+end_src

  #+srcname: test_plot
  #+begin_src R :session :exports code :results output latex
    tikz(console=TRUE, width=4, height=4)
    plot(rnorm(100), rnorm(100))
    dummy <- dev.off()
  #+end_src

  #+srcname: test_plot_png
  #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
-density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
'("\\usepackage{tikz}")
    <<test_plot()>>
  #+end_src

  #+srcname: test_plot_tikz
  #+begin_src latex :noweb yes
    <<test_plot()>>
  #+end_src

* Latex Options                               :noexport:
#+LATEX_HEADER: \usepackage{tikz}
=======================================

Regards,
Andreas

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1.2: ob-latex.el.diff --]
[-- Type: text/x-patch; name="ob-latex.el.diff", Size: 2896 bytes --]

diff --git a/lisp/ob-latex.el b/lisp/ob-latex.el
index 8943ded..6152ad3 100644
--- a/lisp/ob-latex.el
+++ b/lisp/ob-latex.el
@@ -72,6 +72,10 @@ This function is called by `org-babel-execute-src-block'."
       (let* ((out-file (cdr (assoc :file params)))
 	     (tex-file (org-babel-temp-file "latex-" ".tex"))
 	     (border (cdr (assoc :border params)))
+	     (imagemagick (cdr (assoc :imagemagick params)))
+	     (im-in-options (cdr (assoc :iminoptions params)))
+	     (im-out-options (cdr (assoc :imoutoptions params)))
+	     (pdfpng (cdr (assoc :pdfpng params)))
 	     (fit (or (cdr (assoc :fit params)) border))
 	     (height (and fit (cdr (assoc :pdfheight params))))
 	     (width (and fit (cdr (assoc :pdfwidth params))))
@@ -81,10 +85,10 @@ This function is called by `org-babel-execute-src-block'."
 	      (append (cdr (assoc :packages params))
 		      org-export-latex-packages-alist)))
         (cond
-         ((string-match "\\.png$" out-file)
+         ((and (string-match "\\.png$" out-file) (not imagemagick))
           (org-create-formula-image
            body out-file org-format-latex-options in-buffer))
-         ((string-match "\\.pdf$" out-file)
+         ((or (string-match "\\.pdf$" out-file) imagemagick)
 	  (require 'org-latex)
 	  (with-temp-file tex-file
 	    (insert
@@ -118,13 +122,26 @@ This function is called by `org-babel-execute-src-block'."
 	       (concat "\n\\begin{document}\n" body "\n\\end{document}\n")))
 	    (org-export-latex-fix-inputenc))
           (when (file-exists-p out-file) (delete-file out-file))
-          (rename-file (org-babel-latex-tex-to-pdf tex-file) out-file))
+	  (let* ((transient-pdf-file (org-babel-latex-tex-to-pdf tex-file)))
+	    (cond
+	     ((string-match "\\.pdf$" out-file)
+	      (rename-file transient-pdf-file out-file))
+	     (imagemagick
+	      (convert-pdf transient-pdf-file out-file im-in-options im-out-options)
+	      (when (file-exists-p transient-pdf-file) (delete-file transient-pdf-file))))))
          ((string-match "\\.\\([^\\.]+\\)$" out-file)
-          (error "can not create %s files, please specify a .png or .pdf file"
+          (error "can not create %s files, please specify a .png or .pdf file or try the :imagemagick header arguement"
 		 (match-string 1 out-file))))
         nil) ;; signal that output has already been written to file
     body))
 
+
+(defun convert-pdf (pdffile out-file im-in-options im-out-options)
+  "Generate a file from a pdf file using imagemagick."
+  (let* ((cmd (concat "convert " im-in-options " " pdffile " " im-out-options " " out-file)))
+    (message (concat "Converting pdffile file " cmd  "..."))
+    (shell-command cmd)))
+
 (defun org-babel-latex-tex-to-pdf (file)
   "Generate a pdf file according to the contents FILE.
 Extracted from `org-export-as-pdf' in org-latex.el."

[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 6432 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-24 16:16 [PATCH] new babel latex feature :imagemagick Andreas Leha
@ 2011-02-24 18:49 ` Eric S Fraga
  2011-02-26  0:16   ` Eric Schulte
  2011-02-26  0:13 ` Eric Schulte
  2011-02-26  0:13 ` Eric Schulte
  2 siblings, 1 reply; 13+ messages in thread
From: Eric S Fraga @ 2011-02-24 18:49 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi all,
>
> Just a small patch that might make life easier for
> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
> lot of formats using imagemagick.  See below for an example.

[...]

This seems to work rather well.  I tried the following:

#+begin_src org

* tikz with image magick
  The following is a simple figure generated using tikz:

  #+begin_src latex :exports results :results (if (and (boundp 'backend) (eq backend 'latex)) "latex" "file") :file test.png :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers '("\\usepackage{tikz}")
\begin{tikzpicture}
  \node[red!50!black] (a) {A};
  \node (b) [right of=a] {B};
  \draw[->] (a) -- (b);
\end{tikzpicture}
  #+end_src

#+end_src

and I get native tikz in the latex output and a png in the html output.
very nice!

I haven't done exhaustive testing so I don't know if the patch breaks
anything, mind you.

Thanks,
eric
-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.529.gb23d.dirty)

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-24 16:16 [PATCH] new babel latex feature :imagemagick Andreas Leha
  2011-02-24 18:49 ` Eric S Fraga
@ 2011-02-26  0:13 ` Eric Schulte
  2011-02-26  0:13 ` Eric Schulte
  2 siblings, 0 replies; 13+ messages in thread
From: Eric Schulte @ 2011-02-26  0:13 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Hi Andreas,

This patch looks like a great idea and a clean implementation.  Thanks
for sharing.  Would you be willing to sign the FSF copyright assignment
papers?  If not I probably can not apply your patch as it changes over
10 lines -- which I'm pretty sure is the copyright assignment cutoff.

For more information on contributing to Org-mode see the following
http://orgmode.org/worg/org-contribute.html

Thanks! -- Eric

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi all,
>
> Just a small patch that might make life easier for
> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
> lot of formats using imagemagick.  See below for an example.
>
> This is my first patch, I have never programmed emacs lisp before, and
> my common lisp experiences have been short and a while ago.  So please
> excuse a (possibly) bad patch.
>
> Details:
> LaTeX source blocks now have three new options:
> - :imagemagick
>   When not nil the source block is processed to pdf and the pdf is
>   converted with imagemagick to whatever is given as :file
>   Thus, the format is not limited to png.
> - :iminoptions
>   This is passed to imagemagick before the pdf file
> - :imoutoptions
>   This is passed to imagemagick before the output file
>
> Small Example:
> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
> -density 300 :imoutoptions -geometry 400 ...
> will use this command for conversion:
> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>
> Full example:
> Export this to pdf and to html to see the effect.
> =======================================
> * Test
>   #+begin_src R :session :exports both :results silent
>     library("tikzDevice")
>   #+end_src
>   #+srcname: test_plot
>   #+begin_src R :session :exports code :results output latex
>     tikz(console=TRUE, width=4, height=4)
>     plot(rnorm(100), rnorm(100))
>     dummy <- dev.off()
>   #+end_src
>
>   #+srcname: test_plot_png
>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
> '("\\usepackage{tikz}")
>     <<test_plot()>>
>   #+end_src
>
>   #+srcname: test_plot_tikz
>   #+begin_src latex :noweb yes
>     <<test_plot()>>
>   #+end_src
>
> * Latex Options                               :noexport:
> #+LATEX_HEADER: \usepackage{tikz}
> =======================================
>
> Regards,
> Andreas
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-24 16:16 [PATCH] new babel latex feature :imagemagick Andreas Leha
  2011-02-24 18:49 ` Eric S Fraga
  2011-02-26  0:13 ` Eric Schulte
@ 2011-02-26  0:13 ` Eric Schulte
  2011-02-26 10:41   ` Andreas Leha
  2 siblings, 1 reply; 13+ messages in thread
From: Eric Schulte @ 2011-02-26  0:13 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Hi Andreas,

This patch looks like a great idea and a clean implementation.  Thanks
for sharing.  Would you be willing to sign the FSF copyright assignment
papers?  If not I probably can not apply your patch as it changes over
10 lines -- which I'm pretty sure is the copyright assignment cutoff.

For more information on contributing to Org-mode see the following
http://orgmode.org/worg/org-contribute.html

Thanks! -- Eric

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> Hi all,
>
> Just a small patch that might make life easier for
> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
> lot of formats using imagemagick.  See below for an example.
>
> This is my first patch, I have never programmed emacs lisp before, and
> my common lisp experiences have been short and a while ago.  So please
> excuse a (possibly) bad patch.
>
> Details:
> LaTeX source blocks now have three new options:
> - :imagemagick
>   When not nil the source block is processed to pdf and the pdf is
>   converted with imagemagick to whatever is given as :file
>   Thus, the format is not limited to png.
> - :iminoptions
>   This is passed to imagemagick before the pdf file
> - :imoutoptions
>   This is passed to imagemagick before the output file
>
> Small Example:
> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
> -density 300 :imoutoptions -geometry 400 ...
> will use this command for conversion:
> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>
> Full example:
> Export this to pdf and to html to see the effect.
> =======================================
> * Test
>   #+begin_src R :session :exports both :results silent
>     library("tikzDevice")
>   #+end_src
>   #+srcname: test_plot
>   #+begin_src R :session :exports code :results output latex
>     tikz(console=TRUE, width=4, height=4)
>     plot(rnorm(100), rnorm(100))
>     dummy <- dev.off()
>   #+end_src
>
>   #+srcname: test_plot_png
>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
> '("\\usepackage{tikz}")
>     <<test_plot()>>
>   #+end_src
>
>   #+srcname: test_plot_tikz
>   #+begin_src latex :noweb yes
>     <<test_plot()>>
>   #+end_src
>
> * Latex Options                               :noexport:
> #+LATEX_HEADER: \usepackage{tikz}
> =======================================
>
> Regards,
> Andreas
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-24 18:49 ` Eric S Fraga
@ 2011-02-26  0:16   ` Eric Schulte
  2011-02-28  9:28     ` Eric S Fraga
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Schulte @ 2011-02-26  0:16 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: Andreas Leha, emacs-orgmode

> #+begin_src org
>
> * tikz with image magick
>   The following is a simple figure generated using tikz:
>
>   #+begin_src latex :exports results :results (if (and (boundp 'backend) (eq backend 'latex)) "latex" "file") :file test.png :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers '("\\usepackage{tikz}")
> \begin{tikzpicture}
>   \node[red!50!black] (a) {A};
>   \node (b) [right of=a] {B};
>   \draw[->] (a) -- (b);
> \end{tikzpicture}
>   #+end_src
>
> #+end_src

Very nice, are you aware of the option to split header arguments among
multiple lines?

the above could be written as...

#+headers:  :file test.png :fit yes
#+headers: :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400
#+headers: :results (if (and (boundp 'backend) (eq backend 'latex)) "latex" "file")
#+begin_src latex :exports results :noweb yes :headers '("\\usepackage{tikz}")
  \begin{tikzpicture}
    \node[red!50!black] (a) {A};
    \node (b) [right of=a] {B};
    \draw[->] (a) -- (b);
  \end{tikzpicture}
#+end_src

which is (possibly) easier to write/read

Best -- Eric

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-26  0:13 ` Eric Schulte
@ 2011-02-26 10:41   ` Andreas Leha
  2011-02-26 16:06     ` Eric Schulte
                       ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Andreas Leha @ 2011-02-26 10:41 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1.1: Type: text/plain, Size: 3636 bytes --]

It's on the way.

Am 26.02.2011 01:13, schrieb Eric Schulte:
> Hi Andreas,
>
> This patch looks like a great idea and a clean implementation.  Thanks
> for sharing.  Would you be willing to sign the FSF copyright assignment
> papers?  If not I probably can not apply your patch as it changes over
> 10 lines -- which I'm pretty sure is the copyright assignment cutoff.
>
> For more information on contributing to Org-mode see the following
> http://orgmode.org/worg/org-contribute.html
>
> Thanks! -- Eric
>
> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>
>   
>> Hi all,
>>
>> Just a small patch that might make life easier for
>> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
>> lot of formats using imagemagick.  See below for an example.
>>
>> This is my first patch, I have never programmed emacs lisp before, and
>> my common lisp experiences have been short and a while ago.  So please
>> excuse a (possibly) bad patch.
>>
>> Details:
>> LaTeX source blocks now have three new options:
>> - :imagemagick
>>   When not nil the source block is processed to pdf and the pdf is
>>   converted with imagemagick to whatever is given as :file
>>   Thus, the format is not limited to png.
>> - :iminoptions
>>   This is passed to imagemagick before the pdf file
>> - :imoutoptions
>>   This is passed to imagemagick before the output file
>>
>> Small Example:
>> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
>> -density 300 :imoutoptions -geometry 400 ...
>> will use this command for conversion:
>> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>>
>> Full example:
>> Export this to pdf and to html to see the effect.
>> =======================================
>> * Test
>>   #+begin_src R :session :exports both :results silent
>>     library("tikzDevice")
>>   #+end_src
>>   #+srcname: test_plot
>>   #+begin_src R :session :exports code :results output latex
>>     tikz(console=TRUE, width=4, height=4)
>>     plot(rnorm(100), rnorm(100))
>>     dummy <- dev.off()
>>   #+end_src
>>
>>   #+srcname: test_plot_png
>>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
>> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
>> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
>> '("\\usepackage{tikz}")
>>     <<test_plot()>>
>>   #+end_src
>>
>>   #+srcname: test_plot_tikz
>>   #+begin_src latex :noweb yes
>>     <<test_plot()>>
>>   #+end_src
>>
>> * Latex Options                               :noexport:
>> #+LATEX_HEADER: \usepackage{tikz}
>> =======================================
>>
>> Regards,
>> Andreas
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>     
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>   

-- 
Universitätsmedizin Göttingen
Abteilung Medizinische Statistik
Humboldtallee 32
37073 Göttingen

Tel: +49 (0)551 39-10710
Fax: +49 (0)551 39-4995

http://www.ams.med.uni-goettingen.de/amsneu/leha.html



University Medical Center Göttingen
Department for Medical Statistics
Humboldtallee 32
37073 Göttingen
Germany

Phone: +49 (0) 551 39-10710
Fax: +49 (0) 551 39-4995

http://www.ams.med.uni-goettingen.de/amsneu/leha-en.html


[-- Attachment #1.1.2: andreas_leha.vcf --]
[-- Type: text/x-vcard, Size: 377 bytes --]

begin:vcard
fn:Andreas Leha
n:Leha;Andreas
org;quoted-printable:University Medicine G=C3=B6ttingen;Biostatistics/Bioinformatics (Dept. Medical Statistics)
adr;quoted-printable:;;Humboldallee 32;G=C3=B6ttingen;;37073;Germany
email;internet:andreas.leha@med.uni-goettingen.de
title:Dipl. Inf.
tel;work:+49 551 39-10710
tel;cell:+49 163 7662824
version:2.1
end:vcard


[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 6432 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-26 10:41   ` Andreas Leha
@ 2011-02-26 16:06     ` Eric Schulte
  2011-02-26 16:41     ` Eric Schulte
  2011-06-28 20:52     ` Sebastien Vauban
  2 siblings, 0 replies; 13+ messages in thread
From: Eric Schulte @ 2011-02-26 16:06 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> It's on the way.
>

Wonderful, in that case I'll apply your patch immediately.

Thanks -- Eric

>
> Am 26.02.2011 01:13, schrieb Eric Schulte:
>> Hi Andreas,
>>
>> This patch looks like a great idea and a clean implementation.  Thanks
>> for sharing.  Would you be willing to sign the FSF copyright assignment
>> papers?  If not I probably can not apply your patch as it changes over
>> 10 lines -- which I'm pretty sure is the copyright assignment cutoff.
>>
>> For more information on contributing to Org-mode see the following
>> http://orgmode.org/worg/org-contribute.html
>>
>> Thanks! -- Eric
>>
>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>
>>   
>>> Hi all,
>>>
>>> Just a small patch that might make life easier for
>>> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
>>> lot of formats using imagemagick.  See below for an example.
>>>
>>> This is my first patch, I have never programmed emacs lisp before, and
>>> my common lisp experiences have been short and a while ago.  So please
>>> excuse a (possibly) bad patch.
>>>
>>> Details:
>>> LaTeX source blocks now have three new options:
>>> - :imagemagick
>>>   When not nil the source block is processed to pdf and the pdf is
>>>   converted with imagemagick to whatever is given as :file
>>>   Thus, the format is not limited to png.
>>> - :iminoptions
>>>   This is passed to imagemagick before the pdf file
>>> - :imoutoptions
>>>   This is passed to imagemagick before the output file
>>>
>>> Small Example:
>>> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
>>> -density 300 :imoutoptions -geometry 400 ...
>>> will use this command for conversion:
>>> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>>>
>>> Full example:
>>> Export this to pdf and to html to see the effect.
>>> =======================================
>>> * Test
>>>   #+begin_src R :session :exports both :results silent
>>>     library("tikzDevice")
>>>   #+end_src
>>>   #+srcname: test_plot
>>>   #+begin_src R :session :exports code :results output latex
>>>     tikz(console=TRUE, width=4, height=4)
>>>     plot(rnorm(100), rnorm(100))
>>>     dummy <- dev.off()
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_png
>>>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
>>> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
>>> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
>>> '("\\usepackage{tikz}")
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_tikz
>>>   #+begin_src latex :noweb yes
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>> * Latex Options                               :noexport:
>>> #+LATEX_HEADER: \usepackage{tikz}
>>> =======================================
>>>
>>> Regards,
>>> Andreas
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>     
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>   
>
> -- 
> Universitätsmedizin Göttingen
> Abteilung Medizinische Statistik
> Humboldtallee 32
> 37073 Göttingen
>
> Tel: +49 (0)551 39-10710
> Fax: +49 (0)551 39-4995
>
> http://www.ams.med.uni-goettingen.de/amsneu/leha.html
>
>
>
> University Medical Center Göttingen
> Department for Medical Statistics
> Humboldtallee 32
> 37073 Göttingen
> Germany
>
> Phone: +49 (0) 551 39-10710
> Fax: +49 (0) 551 39-4995
>
> http://www.ams.med.uni-goettingen.de/amsneu/leha-en.html

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-26 10:41   ` Andreas Leha
  2011-02-26 16:06     ` Eric Schulte
@ 2011-02-26 16:41     ` Eric Schulte
  2011-06-28 20:52     ` Sebastien Vauban
  2 siblings, 0 replies; 13+ messages in thread
From: Eric Schulte @ 2011-02-26 16:41 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> It's on the way.
>

Wonderful, in that case I'll apply your patch immediately.

Thanks -- Eric

>
> Am 26.02.2011 01:13, schrieb Eric Schulte:
>> Hi Andreas,
>>
>> This patch looks like a great idea and a clean implementation.  Thanks
>> for sharing.  Would you be willing to sign the FSF copyright assignment
>> papers?  If not I probably can not apply your patch as it changes over
>> 10 lines -- which I'm pretty sure is the copyright assignment cutoff.
>>
>> For more information on contributing to Org-mode see the following
>> http://orgmode.org/worg/org-contribute.html
>>
>> Thanks! -- Eric
>>
>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>
>>   
>>> Hi all,
>>>
>>> Just a small patch that might make life easier for
>>> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
>>> lot of formats using imagemagick.  See below for an example.
>>>
>>> This is my first patch, I have never programmed emacs lisp before, and
>>> my common lisp experiences have been short and a while ago.  So please
>>> excuse a (possibly) bad patch.
>>>
>>> Details:
>>> LaTeX source blocks now have three new options:
>>> - :imagemagick
>>>   When not nil the source block is processed to pdf and the pdf is
>>>   converted with imagemagick to whatever is given as :file
>>>   Thus, the format is not limited to png.
>>> - :iminoptions
>>>   This is passed to imagemagick before the pdf file
>>> - :imoutoptions
>>>   This is passed to imagemagick before the output file
>>>
>>> Small Example:
>>> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
>>> -density 300 :imoutoptions -geometry 400 ...
>>> will use this command for conversion:
>>> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>>>
>>> Full example:
>>> Export this to pdf and to html to see the effect.
>>> =======================================
>>> * Test
>>>   #+begin_src R :session :exports both :results silent
>>>     library("tikzDevice")
>>>   #+end_src
>>>   #+srcname: test_plot
>>>   #+begin_src R :session :exports code :results output latex
>>>     tikz(console=TRUE, width=4, height=4)
>>>     plot(rnorm(100), rnorm(100))
>>>     dummy <- dev.off()
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_png
>>>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
>>> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
>>> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
>>> '("\\usepackage{tikz}")
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_tikz
>>>   #+begin_src latex :noweb yes
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>> * Latex Options                               :noexport:
>>> #+LATEX_HEADER: \usepackage{tikz}
>>> =======================================
>>>
>>> Regards,
>>> Andreas
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>     
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>   
>
> -- 
> Universitätsmedizin Göttingen
> Abteilung Medizinische Statistik
> Humboldtallee 32
> 37073 Göttingen
>
> Tel: +49 (0)551 39-10710
> Fax: +49 (0)551 39-4995
>
> http://www.ams.med.uni-goettingen.de/amsneu/leha.html
>
>
>
> University Medical Center Göttingen
> Department for Medical Statistics
> Humboldtallee 32
> 37073 Göttingen
> Germany
>
> Phone: +49 (0) 551 39-10710
> Fax: +49 (0) 551 39-4995
>
> http://www.ams.med.uni-goettingen.de/amsneu/leha-en.html

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-26  0:16   ` Eric Schulte
@ 2011-02-28  9:28     ` Eric S Fraga
  0 siblings, 0 replies; 13+ messages in thread
From: Eric S Fraga @ 2011-02-28  9:28 UTC (permalink / raw)
  To: Eric Schulte; +Cc: Andreas Leha, emacs-orgmode

"Eric Schulte" <schulte.eric@gmail.com> writes:

>> #+begin_src org
>>
>
>> * tikz with image magick
>>   The following is a simple figure generated using tikz:
>>
>>   #+begin_src latex :exports results :results (if (and (boundp 'backend) (eq backend 'latex)) "latex" "file") :file test.png :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers '("\\usepackage{tikz}")
>> \begin{tikzpicture}
>>   \node[red!50!black] (a) {A};
>>   \node (b) [right of=a] {B};
>>   \draw[->] (a) -- (b);
>> \end{tikzpicture}
>>   #+end_src
>>
>> #+end_src
>
> Very nice, are you aware of the option to split header arguments among
> multiple lines?
>
> the above could be written as...
>
> #+headers:  :file test.png :fit yes
> #+headers: :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400
> #+headers: :results (if (and (boundp 'backend) (eq backend 'latex)) "latex" "file")
> #+begin_src latex :exports results :noweb yes :headers '("\\usepackage{tikz}")
>   \begin{tikzpicture}
>     \node[red!50!black] (a) {A};
>     \node (b) [right of=a] {B};
>     \draw[->] (a) -- (b);
>   \end{tikzpicture}
> #+end_src
>
> which is (possibly) easier to write/read
>
> Best -- Eric
>

It is indeed.  Thanks for reminding me of this.  My headers are seldom
this long so I had forgotten they could be split.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.529.gb23d.dirty)

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-02-26 10:41   ` Andreas Leha
  2011-02-26 16:06     ` Eric Schulte
  2011-02-26 16:41     ` Eric Schulte
@ 2011-06-28 20:52     ` Sebastien Vauban
  2011-06-29  0:42       ` Eric Schulte
  2 siblings, 1 reply; 13+ messages in thread
From: Sebastien Vauban @ 2011-06-28 20:52 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Andreas and Eric,

Could this patch be part of 7.6?  Very useful...

Best regards,
  Seb

Andreas Leha wrote:
> It's on the way.
>
> Am 26.02.2011 01:13, schrieb Eric Schulte:
>> Hi Andreas,
>>
>> This patch looks like a great idea and a clean implementation.  Thanks
>> for sharing.  Would you be willing to sign the FSF copyright assignment
>> papers?  If not I probably can not apply your patch as it changes over
>> 10 lines -- which I'm pretty sure is the copyright assignment cutoff.
>>
>> For more information on contributing to Org-mode see the following
>> http://orgmode.org/worg/org-contribute.html
>>
>> Thanks! -- Eric
>>
>> Andreas Leha <andreas.leha-A1rZ2h3LdSKGMSlLMZIubhS11BummzK+@public.gmane.org> writes:
>>
>>   
>>> Hi all,
>>>
>>> Just a small patch that might make life easier for
>>> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
>>> lot of formats using imagemagick.  See below for an example.
>>>
>>> This is my first patch, I have never programmed emacs lisp before, and
>>> my common lisp experiences have been short and a while ago.  So please
>>> excuse a (possibly) bad patch.
>>>
>>> Details:
>>> LaTeX source blocks now have three new options:
>>> - :imagemagick
>>>   When not nil the source block is processed to pdf and the pdf is
>>>   converted with imagemagick to whatever is given as :file
>>>   Thus, the format is not limited to png.
>>> - :iminoptions
>>>   This is passed to imagemagick before the pdf file
>>> - :imoutoptions
>>>   This is passed to imagemagick before the output file
>>>
>>> Small Example:
>>> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
>>> -density 300 :imoutoptions -geometry 400 ...
>>> will use this command for conversion:
>>> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>>>
>>> Full example:
>>> Export this to pdf and to html to see the effect.
>>> =======================================
>>> * Test
>>>   #+begin_src R :session :exports both :results silent
>>>     library("tikzDevice")
>>>   #+end_src
>>>   #+srcname: test_plot
>>>   #+begin_src R :session :exports code :results output latex
>>>     tikz(console=TRUE, width=4, height=4)
>>>     plot(rnorm(100), rnorm(100))
>>>     dummy <- dev.off()
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_png
>>>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
>>> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
>>> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
>>> '("\\usepackage{tikz}")
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>>   #+srcname: test_plot_tikz
>>>   #+begin_src latex :noweb yes
>>>     <<test_plot()>>
>>>   #+end_src
>>>
>>> * Latex Options                               :noexport:
>>> #+LATEX_HEADER: \usepackage{tikz}
>>> =======================================
>>>
>>> Regards,
>>> Andreas
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode-mXXj517/zsQ@public.gmane.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>     
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode-mXXj517/zsQ@public.gmane.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

-- 
Sebastien Vauban

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-06-28 20:52     ` Sebastien Vauban
@ 2011-06-29  0:42       ` Eric Schulte
  2011-11-22 10:37         ` Andreas Leha
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Schulte @ 2011-06-29  0:42 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: emacs-orgmode

Hi Sebastien,

As far as I know we have not received FSF papers for Andreas, so I do
not believe it will be possible to apply this patch before the 7.6
release.

Best -- Eric

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

> Hi Andreas and Eric,
>
> Could this patch be part of 7.6?  Very useful...
>
> Best regards,
>   Seb
>
> Andreas Leha wrote:
>> It's on the way.
>>
>> Am 26.02.2011 01:13, schrieb Eric Schulte:
>>> Hi Andreas,
>>>
>>> This patch looks like a great idea and a clean implementation.  Thanks
>>> for sharing.  Would you be willing to sign the FSF copyright assignment
>>> papers?  If not I probably can not apply your patch as it changes over
>>> 10 lines -- which I'm pretty sure is the copyright assignment cutoff.
>>>
>>> For more information on contributing to Org-mode see the following
>>> http://orgmode.org/worg/org-contribute.html
>>>
>>> Thanks! -- Eric
>>>
>>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>>
>>>   
>>>> Hi all,
>>>>
>>>> Just a small patch that might make life easier for
>>>> LaTeX (and esp. tikz) users.  It enables the output of graphics in a
>>>> lot of formats using imagemagick.  See below for an example.
>>>>
>>>> This is my first patch, I have never programmed emacs lisp before, and
>>>> my common lisp experiences have been short and a while ago.  So please
>>>> excuse a (possibly) bad patch.
>>>>
>>>> Details:
>>>> LaTeX source blocks now have three new options:
>>>> - :imagemagick
>>>>   When not nil the source block is processed to pdf and the pdf is
>>>>   converted with imagemagick to whatever is given as :file
>>>>   Thus, the format is not limited to png.
>>>> - :iminoptions
>>>>   This is passed to imagemagick before the pdf file
>>>> - :imoutoptions
>>>>   This is passed to imagemagick before the output file
>>>>
>>>> Small Example:
>>>> #+begin_src latex ... :file test.jpg :imagemagick yes :iminoptions
>>>> -density 300 :imoutoptions -geometry 400 ...
>>>> will use this command for conversion:
>>>> convert -density 300 <tmp-pdf> -geometry 400 test.jpg
>>>>
>>>> Full example:
>>>> Export this to pdf and to html to see the effect.
>>>> =======================================
>>>> * Test
>>>>   #+begin_src R :session :exports both :results silent
>>>>     library("tikzDevice")
>>>>   #+end_src
>>>>   #+srcname: test_plot
>>>>   #+begin_src R :session :exports code :results output latex
>>>>     tikz(console=TRUE, width=4, height=4)
>>>>     plot(rnorm(100), rnorm(100))
>>>>     dummy <- dev.off()
>>>>   #+end_src
>>>>
>>>>   #+srcname: test_plot_png
>>>>   #+begin_src latex :exports (if (and (boundp 'backend) (eq backend
>>>> 'latex)) "none" "results") :file test.png :imagemagick yes :iminoptions
>>>> -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers
>>>> '("\\usepackage{tikz}")
>>>>     <<test_plot()>>
>>>>   #+end_src
>>>>
>>>>   #+srcname: test_plot_tikz
>>>>   #+begin_src latex :noweb yes
>>>>     <<test_plot()>>
>>>>   #+end_src
>>>>
>>>> * Latex Options                               :noexport:
>>>> #+LATEX_HEADER: \usepackage{tikz}
>>>> =======================================
>>>>
>>>> Regards,
>>>> Andreas
>>>>
>>>> _______________________________________________
>>>> Emacs-orgmode mailing list
>>>> Please use `Reply All' to send replies to the list.
>>>> Emacs-orgmode@gnu.org
>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>     
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

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

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-06-29  0:42       ` Eric Schulte
@ 2011-11-22 10:37         ` Andreas Leha
  2011-11-22 13:58           ` Eric Schulte
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Leha @ 2011-11-22 10:37 UTC (permalink / raw)
  To: emacs-orgmode

FSF papers are signed and the process is completed - so the revert can
be reverted now (the patch should still apply).
Sorry for the long delay...

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

* Re: [PATCH] new babel latex feature :imagemagick
  2011-11-22 10:37         ` Andreas Leha
@ 2011-11-22 13:58           ` Eric Schulte
  0 siblings, 0 replies; 13+ messages in thread
From: Eric Schulte @ 2011-11-22 13:58 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Applied, thanks -- Eric

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

> FSF papers are signed and the process is completed - so the revert can
> be reverted now (the patch should still apply).
> Sorry for the long delay...
>
>

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

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

end of thread, other threads:[~2011-11-22 16:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-24 16:16 [PATCH] new babel latex feature :imagemagick Andreas Leha
2011-02-24 18:49 ` Eric S Fraga
2011-02-26  0:16   ` Eric Schulte
2011-02-28  9:28     ` Eric S Fraga
2011-02-26  0:13 ` Eric Schulte
2011-02-26  0:13 ` Eric Schulte
2011-02-26 10:41   ` Andreas Leha
2011-02-26 16:06     ` Eric Schulte
2011-02-26 16:41     ` Eric Schulte
2011-06-28 20:52     ` Sebastien Vauban
2011-06-29  0:42       ` Eric Schulte
2011-11-22 10:37         ` Andreas Leha
2011-11-22 13:58           ` Eric Schulte

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