Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-11 Thread Eric Schulte
Carsten Dominik carsten.domi...@gmail.com writes:

 I have added the patch, thanks!


Thanks for adding the patch.


 Eric, color setup is relative complex, which i why I don't want
 to discuss this in detail in the manual.  Maybe you could write
 a Worg page about this, and/or a FAQ entry?


I've added a FAQ entry to worg which encapsulates the *very little* I do
know about using the listings and color packages in LaTeX documents.

http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex

Best -- Eric


 - Carsten

 On Aug 8, 2009, at 8:59 PM, Eric Schulte wrote:

 Hi,

 The attached patch allows for fontified source code blocks on export
 to
 LaTeX.  It does this using the 'listings' latex package.  A new
 variable
 is introduced; `org-export-latex-listings' which should be set to
 non-nil for source-code to be exported as listings blocks.  This
 variable defaults to nil in which case the current practice of
 exporting
 source code to verbatim latex blocks remains unchanged.

 To use this functionality add the following to your org-mode config.

 --8---cut here---start-8---
  ;; tell org to use listings
  (setq org-export-latex-listings t)

  ;; you must include the listings package
  (add-to-list 'org-export-latex-packages-alist '( listings))

  ;; if you want colored source code then you need to include the
 color package
  (add-to-list 'org-export-latex-packages-alist '( color))
 --8---cut here---end---8---

 In addition to the patch, I'm attaching an example org-mode file,
 along
 with the generated LaTeX file and PDF file.

 Do you think this would be appropriate for inclusion into org-mode?

 Thanks -- Eric

 diff --git a/lisp/org-exp.el b/lisp/org-exp.el
 index 00fd6c8..9de5e5f 100644
 --- a/lisp/org-exp.el
 +++ b/lisp/org-exp.el
 @@ -2204,6 +2204,8 @@ in the list) and remove property and value
 from the list in LISTVAR.
 (defvar htmlp)  ;; dynamically scoped
 (defvar latexp)  ;; dynamically scoped
 (defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el
 +(defvar org-export-latex-listings) ;; defined in org-latex.el
 +(defvar org-export-latex-listings-langs) ;; defined in org-latex.el

 (defun org-export-format-source-code-or-example
   (backend lang code optional opts indent)
 @@ -2310,8 +2312,20 @@ INDENT was the original indentation of the
 block.
   ((eq backend 'latex)
(setq rtn (org-export-number-lines rtn 'latex 0 0 num
 cont rpllbl fmt))
(concat \n#+BEGIN_LaTeX\n
 -  (org-add-props (concat (car 
 org-export-latex-verbatim-wrap)
 - rtn (cdr 
 org-export-latex-verbatim-wrap))
 +  (org-add-props
 +  (if org-export-latex-listings
 +  (concat
 +   (if lang
 +   (let* ((lang-sym (intern (concat
 : lang)))
 +  (lstlang (or (plist-get
 org-export-latex-listings-langs
 +
 lang-sym)
 +   lang)))
 + (format \\lstset{language=%s}
 \n lstlang))
 + )
 +   \\begin{lstlisting}\n
 +   rtn \\end{lstlisting}\n)
 +(concat (car org-export-latex-verbatim-
 wrap)
 +rtn (cdr org-export-latex-
 verbatim-wrap)))
'(org-protected t))
#+END_LaTeX\n\n))
   ((eq backend 'ascii)
 diff --git a/lisp/org-latex.el b/lisp/org-latex.el
 index fdf9ae2..f80e221 100644
 --- a/lisp/org-latex.el
 +++ b/lisp/org-latex.el
 @@ -69,6 +69,9 @@
org-deadline-string \\|
org-closed-string\\))
   Regexp matching special time planning keywords plus the time
 after it.)
 +(defvar org-export-latex-listings nil
 +  If non-nil then source code blocks will be fontified using the
 +listings package.)

 (defvar latexp); dynamically scoped from org.el
 (defvar re-quote)  ; dynamically scoped from org.el
 @@ -297,6 +300,12 @@ Defaults to \\begin{verbatim} and \
 \end{verbatim}.
   :type '(cons (string :tag Open)
 (string :tag Close)))

 +(defcustom org-export-latex-listings-langs
 +  '(:emacs-lisp lisp)
 +  Property list mapping languages to their listing language
 counterpart.
 +  :group 'org-export-latex
 +  :type 'plist)
 +
 (defcustom org-export-latex-remove-from-headlines
   '(:todo nil :priority nil :tags nil)
   A plist of keywords to remove from headlines. OBSOLETE.
 
 listngs
 .org
 
 
 listngs
 .texlistngs.pdf___
 Emacs-orgmode mailing list
 Remember: use `Reply All' to send replies to the list.
 Emacs-orgmode@gnu.org
 http://lists.gnu.org/mailman/listinfo/emacs-orgmode


___
Emacs-orgmode 

Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-11 Thread Carsten Dominik

Hi Eric, thanks!

BTW, when adding your patch, I added a few more languages to the  
default settings.


- Carsten

On Aug 11, 2009, at 3:01 PM, Eric Schulte wrote:


Carsten Dominik carsten.domi...@gmail.com writes:


I have added the patch, thanks!



Thanks for adding the patch.



Eric, color setup is relative complex, which i why I don't want
to discuss this in detail in the manual.  Maybe you could write
a Worg page about this, and/or a FAQ entry?



I've added a FAQ entry to worg which encapsulates the *very little*  
I do

know about using the listings and color packages in LaTeX documents.

http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex

Best -- Eric



- Carsten

On Aug 8, 2009, at 8:59 PM, Eric Schulte wrote:


Hi,

The attached patch allows for fontified source code blocks on export
to
LaTeX.  It does this using the 'listings' latex package.  A new
variable
is introduced; `org-export-latex-listings' which should be set to
non-nil for source-code to be exported as listings blocks.  This
variable defaults to nil in which case the current practice of
exporting
source code to verbatim latex blocks remains unchanged.

To use this functionality add the following to your org-mode config.

--8---cut here---start-8---
;; tell org to use listings
(setq org-export-latex-listings t)

;; you must include the listings package
(add-to-list 'org-export-latex-packages-alist '( listings))

;; if you want colored source code then you need to include the
color package
(add-to-list 'org-export-latex-packages-alist '( color))
--8---cut here---end---8---

In addition to the patch, I'm attaching an example org-mode file,
along
with the generated LaTeX file and PDF file.

Do you think this would be appropriate for inclusion into org-mode?

Thanks -- Eric

diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index 00fd6c8..9de5e5f 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -2204,6 +2204,8 @@ in the list) and remove property and value
from the list in LISTVAR.
(defvar htmlp)  ;; dynamically scoped
(defvar latexp)  ;; dynamically scoped
(defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el
+(defvar org-export-latex-listings) ;; defined in org-latex.el
+(defvar org-export-latex-listings-langs) ;; defined in org-latex.el

(defun org-export-format-source-code-or-example
 (backend lang code optional opts indent)
@@ -2310,8 +2312,20 @@ INDENT was the original indentation of the
block.
 ((eq backend 'latex)
  (setq rtn (org-export-number-lines rtn 'latex 0 0 num
cont rpllbl fmt))
  (concat \n#+BEGIN_LaTeX\n
- (org-add-props (concat (car 
org-export-latex-verbatim-wrap)
-rtn (cdr 
org-export-latex-verbatim-wrap))
+ (org-add-props
+  (if org-export-latex-listings
+  (concat
+   (if lang
+   (let* ((lang-sym (intern (concat
: lang)))
+  (lstlang (or (plist-get
org-export-latex-listings-langs
+
lang-sym)
+   lang)))
+ (format \\lstset{language=%s}
\n lstlang))
+ )
+   \\begin{lstlisting}\n
+   rtn \\end{lstlisting}\n)
+(concat (car org-export-latex-verbatim-
wrap)
+rtn (cdr org-export-latex-
verbatim-wrap)))
  '(org-protected t))
  #+END_LaTeX\n\n))
 ((eq backend 'ascii)
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index fdf9ae2..f80e221 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -69,6 +69,9 @@
  org-deadline-string \\|
  org-closed-string\\))
 Regexp matching special time planning keywords plus the time
after it.)
+(defvar org-export-latex-listings nil
+  If non-nil then source code blocks will be fontified using the
+listings package.)

(defvar latexp); dynamically scoped from org.el
(defvar re-quote)  ; dynamically scoped from org.el
@@ -297,6 +300,12 @@ Defaults to \\begin{verbatim} and \
\end{verbatim}.
 :type '(cons (string :tag Open)
   (string :tag Close)))

+(defcustom org-export-latex-listings-langs
+  '(:emacs-lisp lisp)
+  Property list mapping languages to their listing language
counterpart.
+  :group 'org-export-latex
+  :type 'plist)
+
(defcustom org-export-latex-remove-from-headlines
 '(:todo nil :priority nil :tags nil)
 A plist of keywords to remove from headlines. OBSOLETE.

listngs
.org




listngs
.texlistngs.pdf___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org

Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-11 Thread Eric Schulte
Carsten Dominik carsten.domi...@gmail.com writes:

 Hi Eric, thanks!

 BTW, when adding your patch, I added a few more languages to the
 default settings.


Oh, wonderful,

Actually looking at your additions I have a few more which may make
sense.

:gnuplot Gnuplot
:ocaml Caml
:caml Caml
:sql SQL

Thanks -- Eric


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


Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-11 Thread Carsten Dominik

Added, thanks.

- Carsten

On Aug 11, 2009, at 3:34 PM, Eric Schulte wrote:


Carsten Dominik carsten.domi...@gmail.com writes:


Hi Eric, thanks!

BTW, when adding your patch, I added a few more languages to the
default settings.



Oh, wonderful,

Actually looking at your additions I have a few more which may make
sense.

:gnuplot Gnuplot
:ocaml Caml
:caml Caml
:sql SQL

Thanks -- Eric




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


Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-09 Thread Carsten Dominik

Hi Eric,

I would like to include your patch, this was on my todo list for a  
long time, thanks for doing it!


- Carsten

On Aug 8, 2009, at 8:59 PM, Eric Schulte wrote:


Hi,

The attached patch allows for fontified source code blocks on export  
to
LaTeX.  It does this using the 'listings' latex package.  A new  
variable

is introduced; `org-export-latex-listings' which should be set to
non-nil for source-code to be exported as listings blocks.  This
variable defaults to nil in which case the current practice of  
exporting

source code to verbatim latex blocks remains unchanged.

To use this functionality add the following to your org-mode config.

--8---cut here---start-8---
 ;; tell org to use listings
 (setq org-export-latex-listings t)

 ;; you must include the listings package
 (add-to-list 'org-export-latex-packages-alist '( listings))

 ;; if you want colored source code then you need to include the  
color package

 (add-to-list 'org-export-latex-packages-alist '( color))
--8---cut here---end---8---

In addition to the patch, I'm attaching an example org-mode file,  
along

with the generated LaTeX file and PDF file.

Do you think this would be appropriate for inclusion into org-mode?

Thanks -- Eric

diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index 00fd6c8..9de5e5f 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -2204,6 +2204,8 @@ in the list) and remove property and value  
from the list in LISTVAR.

(defvar htmlp)  ;; dynamically scoped
(defvar latexp)  ;; dynamically scoped
(defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el
+(defvar org-export-latex-listings) ;; defined in org-latex.el
+(defvar org-export-latex-listings-langs) ;; defined in org-latex.el

(defun org-export-format-source-code-or-example
  (backend lang code optional opts indent)
@@ -2310,8 +2312,20 @@ INDENT was the original indentation of the  
block.

 ((eq backend 'latex)
	  (setq rtn (org-export-number-lines rtn 'latex 0 0 num cont  
rpllbl fmt))

  (concat \n#+BEGIN_LaTeX\n
- (org-add-props (concat (car 
org-export-latex-verbatim-wrap)
-rtn (cdr 
org-export-latex-verbatim-wrap))
+ (org-add-props
+  (if org-export-latex-listings
+  (concat
+   (if lang
+   (let* ((lang-sym (intern (concat  
: lang)))
+  (lstlang (or (plist-get  
org-export-latex-listings-langs
+   
lang-sym)

+   lang)))
+ (format \\lstset{language=%s} 
\n lstlang))

+ )
+   \\begin{lstlisting}\n
+   rtn \\end{lstlisting}\n)
+(concat (car org-export-latex-verbatim- 
wrap)
+rtn (cdr org-export-latex- 
verbatim-wrap)))

  '(org-protected t))
  #+END_LaTeX\n\n))
 ((eq backend 'ascii)
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index fdf9ae2..f80e221 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -69,6 +69,9 @@
  org-deadline-string \\|
  org-closed-string\\))
  Regexp matching special time planning keywords plus the time  
after it.)

+(defvar org-export-latex-listings nil
+  If non-nil then source code blocks will be fontified using the
+listings package.)

(defvar latexp); dynamically scoped from org.el
(defvar re-quote)  ; dynamically scoped from org.el
@@ -297,6 +300,12 @@ Defaults to \\begin{verbatim} and \ 
\end{verbatim}.

  :type '(cons (string :tag Open)
   (string :tag Close)))

+(defcustom org-export-latex-listings-langs
+  '(:emacs-lisp lisp)
+  Property list mapping languages to their listing language  
counterpart.

+  :group 'org-export-latex
+  :type 'plist)
+
(defcustom org-export-latex-remove-from-headlines
  '(:todo nil :priority nil :tags nil)
  A plist of keywords to remove from headlines. OBSOLETE.
 
listngs 
.org 
 
 
listngs 
.texlistngs.pdf___

Emacs-orgmode mailing list
Remember: 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
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-09 Thread Carsten Dominik

I have added the patch, thanks!

Eric, color setup is relative complex, which i why I don't want
to discuss this in detail in the manual.  Maybe you could write
a Worg page about this, and/or a FAQ entry?

- Carsten

On Aug 8, 2009, at 8:59 PM, Eric Schulte wrote:


Hi,

The attached patch allows for fontified source code blocks on export  
to
LaTeX.  It does this using the 'listings' latex package.  A new  
variable

is introduced; `org-export-latex-listings' which should be set to
non-nil for source-code to be exported as listings blocks.  This
variable defaults to nil in which case the current practice of  
exporting

source code to verbatim latex blocks remains unchanged.

To use this functionality add the following to your org-mode config.

--8---cut here---start-8---
 ;; tell org to use listings
 (setq org-export-latex-listings t)

 ;; you must include the listings package
 (add-to-list 'org-export-latex-packages-alist '( listings))

 ;; if you want colored source code then you need to include the  
color package

 (add-to-list 'org-export-latex-packages-alist '( color))
--8---cut here---end---8---

In addition to the patch, I'm attaching an example org-mode file,  
along

with the generated LaTeX file and PDF file.

Do you think this would be appropriate for inclusion into org-mode?

Thanks -- Eric

diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index 00fd6c8..9de5e5f 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -2204,6 +2204,8 @@ in the list) and remove property and value  
from the list in LISTVAR.

(defvar htmlp)  ;; dynamically scoped
(defvar latexp)  ;; dynamically scoped
(defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el
+(defvar org-export-latex-listings) ;; defined in org-latex.el
+(defvar org-export-latex-listings-langs) ;; defined in org-latex.el

(defun org-export-format-source-code-or-example
  (backend lang code optional opts indent)
@@ -2310,8 +2312,20 @@ INDENT was the original indentation of the  
block.

 ((eq backend 'latex)
	  (setq rtn (org-export-number-lines rtn 'latex 0 0 num cont  
rpllbl fmt))

  (concat \n#+BEGIN_LaTeX\n
- (org-add-props (concat (car 
org-export-latex-verbatim-wrap)
-rtn (cdr 
org-export-latex-verbatim-wrap))
+ (org-add-props
+  (if org-export-latex-listings
+  (concat
+   (if lang
+   (let* ((lang-sym (intern (concat  
: lang)))
+  (lstlang (or (plist-get  
org-export-latex-listings-langs
+   
lang-sym)

+   lang)))
+ (format \\lstset{language=%s} 
\n lstlang))

+ )
+   \\begin{lstlisting}\n
+   rtn \\end{lstlisting}\n)
+(concat (car org-export-latex-verbatim- 
wrap)
+rtn (cdr org-export-latex- 
verbatim-wrap)))

  '(org-protected t))
  #+END_LaTeX\n\n))
 ((eq backend 'ascii)
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index fdf9ae2..f80e221 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -69,6 +69,9 @@
  org-deadline-string \\|
  org-closed-string\\))
  Regexp matching special time planning keywords plus the time  
after it.)

+(defvar org-export-latex-listings nil
+  If non-nil then source code blocks will be fontified using the
+listings package.)

(defvar latexp); dynamically scoped from org.el
(defvar re-quote)  ; dynamically scoped from org.el
@@ -297,6 +300,12 @@ Defaults to \\begin{verbatim} and \ 
\end{verbatim}.

  :type '(cons (string :tag Open)
   (string :tag Close)))

+(defcustom org-export-latex-listings-langs
+  '(:emacs-lisp lisp)
+  Property list mapping languages to their listing language  
counterpart.

+  :group 'org-export-latex
+  :type 'plist)
+
(defcustom org-export-latex-remove-from-headlines
  '(:todo nil :priority nil :tags nil)
  A plist of keywords to remove from headlines. OBSOLETE.
 
listngs 
.org 
 
 
listngs 
.texlistngs.pdf___

Emacs-orgmode mailing list
Remember: 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
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [PATCH] fontified source-code on latex export with listings package

2009-08-09 Thread Sebastian Rose
Ahhh - yeees, yes, yes!

I'm looking forward to stop using my old \variable{name} stuff!!!

:)

Thanks a bunch!

  Sebastian


Eric Schulte schulte.e...@gmail.com writes:
 Hi,

 The attached patch allows for fontified source code blocks on export to
 LaTeX.  It does this using the 'listings' latex package.  A new variable
 is introduced; `org-export-latex-listings' which should be set to
 non-nil for source-code to be exported as listings blocks.  This
 variable defaults to nil in which case the current practice of exporting
 source code to verbatim latex blocks remains unchanged.

 To use this functionality add the following to your org-mode config.


   ;; tell org to use listings
   (setq org-export-latex-listings t)
   
   ;; you must include the listings package
   (add-to-list 'org-export-latex-packages-alist '( listings))
   
   ;; if you want colored source code then you need to include the color 
 package
   (add-to-list 'org-export-latex-packages-alist '( color))

 In addition to the patch, I'm attaching an example org-mode file, along
 with the generated LaTeX file and PDF file.

 Do you think this would be appropriate for inclusion into org-mode?

 Thanks -- Eric


 diff --git a/lisp/org-exp.el b/lisp/org-exp.el
 index 00fd6c8..9de5e5f 100644
 --- a/lisp/org-exp.el
 +++ b/lisp/org-exp.el
 @@ -2204,6 +2204,8 @@ in the list) and remove property and value from the 
 list in LISTVAR.
  (defvar htmlp)  ;; dynamically scoped
  (defvar latexp)  ;; dynamically scoped
  (defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el
 +(defvar org-export-latex-listings) ;; defined in org-latex.el
 +(defvar org-export-latex-listings-langs) ;; defined in org-latex.el
  
  (defun org-export-format-source-code-or-example
(backend lang code optional opts indent)
 @@ -2310,8 +2312,20 @@ INDENT was the original indentation of the block.
((eq backend 'latex)
 (setq rtn (org-export-number-lines rtn 'latex 0 0 num cont rpllbl 
 fmt))
 (concat \n#+BEGIN_LaTeX\n
 -   (org-add-props (concat (car 
 org-export-latex-verbatim-wrap)
 -  rtn (cdr 
 org-export-latex-verbatim-wrap))
 +   (org-add-props
 +  (if org-export-latex-listings
 +  (concat
 +   (if lang
 +   (let* ((lang-sym (intern (concat : 
 lang)))
 +  (lstlang (or (plist-get 
 org-export-latex-listings-langs
 +  lang-sym)
 +   lang)))
 + (format \\lstset{language=%s}\n 
 lstlang))
 + )
 +   \\begin{lstlisting}\n
 +   rtn \\end{lstlisting}\n)
 +(concat (car org-export-latex-verbatim-wrap)
 +rtn (cdr 
 org-export-latex-verbatim-wrap)))
 '(org-protected t))
 #+END_LaTeX\n\n))
((eq backend 'ascii)
 diff --git a/lisp/org-latex.el b/lisp/org-latex.el
 index fdf9ae2..f80e221 100644
 --- a/lisp/org-latex.el
 +++ b/lisp/org-latex.el
 @@ -69,6 +69,9 @@
 org-deadline-string \\|
 org-closed-string\\))
Regexp matching special time planning keywords plus the time after it.)
 +(defvar org-export-latex-listings nil
 +  If non-nil then source code blocks will be fontified using the
 +listings package.)
  
  (defvar latexp); dynamically scoped from org.el
  (defvar re-quote)  ; dynamically scoped from org.el
 @@ -297,6 +300,12 @@ Defaults to \\begin{verbatim} and \\end{verbatim}.
:type '(cons (string :tag Open)
  (string :tag Close)))
  
 +(defcustom org-export-latex-listings-langs
 +  '(:emacs-lisp lisp)
 +  Property list mapping languages to their listing language counterpart.
 +  :group 'org-export-latex
 +  :type 'plist)
 +
  (defcustom org-export-latex-remove-from-headlines
'(:todo nil :priority nil :tags nil)
A plist of keywords to remove from headlines. OBSOLETE.



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