emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] make options available for custom source environment in ox-latex
@ 2016-01-14 10:31 Alan Schmitt
  2016-01-14 10:47 ` Nicolas Goaziou
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Schmitt @ 2016-01-14 10:31 UTC (permalink / raw)
  To: emacs-orgmode


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

Hello,

Here is a small addition to the custom source environments for ox-latex.

Alan


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-ox-latex-Add-option-support-to-custom-environment.patch --]
[-- Type: text/x-patch, Size: 1097 bytes --]

From 8abe512966ed9a2afea91fde41081e2e5e8e5eef Mon Sep 17 00:00:00 2001
From: Alan Schmitt <alan.schmitt@polytechnique.org>
Date: Wed, 13 Jan 2016 16:03:40 +0100
Subject: [PATCH] ox-latex: Add option support to custom environment

* lisp/ox-latex.el (org-latex-src-block): make the options from
  attr_latex available to the custom environment using %o.
---
 lisp/ox-latex.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index a57677b..be9c588 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2802,7 +2802,10 @@ contextual information."
 			 `((?s . ,formatted-src)
 			   (?c . ,caption)
 			   (?f . ,float)
-			   (?l . ,(org-latex--label src-block info)))))))
+			   (?l . ,(org-latex--label src-block info))
+			   (?o .
+			       ,(let ((local-options (plist-get attributes :options)))
+				  (if local-options local-options ""))))))))
        ;; Case 3.  Use minted package.
        ((eq listings 'minted)
 	(let* ((caption-str (org-latex--caption/label-string src-block info))
-- 
2.7.0


[-- Attachment #1.3: Type: text/plain, Size: 119 bytes --]



-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 13, 2016, Mauna Loa Obs.): 401.97 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-14 10:31 [PATCH] make options available for custom source environment in ox-latex Alan Schmitt
@ 2016-01-14 10:47 ` Nicolas Goaziou
  2016-01-14 13:40   ` Alan Schmitt
  0 siblings, 1 reply; 11+ messages in thread
From: Nicolas Goaziou @ 2016-01-14 10:47 UTC (permalink / raw)
  To: Alan Schmitt; +Cc: emacs-orgmode

Hello,

Alan Schmitt <alan.schmitt@polytechnique.org> writes:

> Here is a small addition to the custom source environments for
> ox-latex.

Thank you. Some comments follow.

> +			   (?o .
> +			       ,(let ((local-options (plist-get attributes :options)))
> +				  (if local-options local-options ""))))))))

Shorter:

  (?o . ,(or (plist-get attributes :options) ""))

I think this should also be documented in
`org-latex-custom-lang-environments' docstring.

Could you send an updated patch?


Regards,

-- 
Nicolas Goaziou

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-14 10:47 ` Nicolas Goaziou
@ 2016-01-14 13:40   ` Alan Schmitt
  2016-01-16 14:11     ` Nicolas Goaziou
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Schmitt @ 2016-01-14 13:40 UTC (permalink / raw)
  To: emacs-orgmode


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

On 2016-01-14 11:47, Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

>> Here is a small addition to the custom source environments for
>> ox-latex.
>
> Thank you. Some comments follow.
>
>> +			   (?o .
>> +			       ,(let ((local-options (plist-get attributes :options)))
>> +				  (if local-options local-options ""))))))))
>
> Shorter:
>
>   (?o . ,(or (plist-get attributes :options) ""))
>
> I think this should also be documented in
> `org-latex-custom-lang-environments' docstring.
>
> Could you send an updated patch?

Thanks a lot for these comments. Here is an updated patch.

Best,

Alan


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-ox-latex-Add-option-support-to-custom-environment.patch --]
[-- Type: text/x-patch, Size: 1752 bytes --]

From 749ea7dc9e8d6d85c2d05a16e881b948d8c74ee9 Mon Sep 17 00:00:00 2001
From: Alan Schmitt <alan.schmitt@polytechnique.org>
Date: Wed, 13 Jan 2016 16:03:40 +0100
Subject: [PATCH] ox-latex: Add option support to custom environment

* lisp/ox-latex.el (org-latex-src-block): make the options from
  attr_latex available to the custom environment using %o.
---
 lisp/ox-latex.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index a57677b..7f889d7 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -1034,13 +1034,14 @@ exported.  This format string may contain these elements:
   %c for the caption
   %f for the float attribute
   %l for an appropriate label 
+  %o for the LaTeX attributes
 
 For example,
 
   (setq org-latex-custom-lang-environments
      '((python \"pythoncode\")
        (ocaml \"\\\\begin{listing}
-\\\\begin{minted}{ocaml}
+\\\\begin{minted}[%o]{ocaml}
 %s\\\\end{minted}
 \\\\caption{%c}
 \\\\label{%l}\")))
@@ -1056,7 +1057,7 @@ and if Org encounters an Ocaml source block during LaTeX export it
 will produce
 
   \\begin{listing}
-  \\begin{minted}{ocaml}
+  \\begin{minted}[<attr_latex options>]{ocaml}
   <src block body>
   \\end{minted}
   \\caption{<caption>}
@@ -2802,7 +2803,8 @@ contextual information."
 			 `((?s . ,formatted-src)
 			   (?c . ,caption)
 			   (?f . ,float)
-			   (?l . ,(org-latex--label src-block info)))))))
+			   (?l . ,(org-latex--label src-block info))
+			   (?o . ,(or (plist-get attributes :options) "")))))))
        ;; Case 3.  Use minted package.
        ((eq listings 'minted)
 	(let* ((caption-str (org-latex--caption/label-string src-block info))
-- 
2.7.0


[-- Attachment #1.3: Type: text/plain, Size: 119 bytes --]



-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 13, 2016, Mauna Loa Obs.): 401.97 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-14 13:40   ` Alan Schmitt
@ 2016-01-16 14:11     ` Nicolas Goaziou
  2016-01-18  8:59       ` Alan Schmitt
  0 siblings, 1 reply; 11+ messages in thread
From: Nicolas Goaziou @ 2016-01-16 14:11 UTC (permalink / raw)
  To: Alan Schmitt; +Cc: emacs-orgmode

Hello,

Alan Schmitt <alan.schmitt@polytechnique.org> writes:

> Thanks a lot for these comments. Here is an updated patch.

Applied. Thank you.

I almost forgot: would you mind preparing an entry about it for
ORG-NEWS?


Regards,

-- 
Nicolas Goaziou

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-16 14:11     ` Nicolas Goaziou
@ 2016-01-18  8:59       ` Alan Schmitt
  2016-01-18 11:28         ` Rasmus
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Schmitt @ 2016-01-18  8:59 UTC (permalink / raw)
  To: emacs-orgmode

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

On 2016-01-16 15:11, Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Hello,
>
> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>
>> Thanks a lot for these comments. Here is an updated patch.
>
> Applied. Thank you.
>
> I almost forgot: would you mind preparing an entry about it for
> ORG-NEWS?

Is this too detailed?

Alan

--8<---------------cut here---------------start------------->8---
*** Attributes support in custom language environments for LaTeX export 
Custom language environments for LaTeX export
(~org-latex-custom-lang-environment~) can now define the string to be
inserted during export, using attributes to fill in the formatted
source code, the caption, etc… The list of attributes is:
- %s for the formatted source
- %c for the caption
- %f for the float attribute
- %l for an appropriate label 
- %o for the LaTeX attributes
  
For example, this setting
#+begin_src emacs-lisp
(setq org-latex-custom-lang-environments
  '((ocaml "\\begin{listing}
\\begin{minted}[%o]{ocaml}
%s\\end{minted}
\\caption{%c}
\\label{%l}")))
#+end_src

export an OCaml source block as follows.
#+begin_src latex
\begin{listing}
\begin{minted}[<attr_latex options>]{ocaml}
<src block body>
\end{minted}
\caption{<caption>}
\label{<label>}
\end{listing}
#+end_src
--8<---------------cut here---------------end--------------->8---


-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 16, 2016, Mauna Loa Obs.): 403.77 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18  8:59       ` Alan Schmitt
@ 2016-01-18 11:28         ` Rasmus
  2016-01-18 14:15           ` Alan Schmitt
  0 siblings, 1 reply; 11+ messages in thread
From: Rasmus @ 2016-01-18 11:28 UTC (permalink / raw)
  To: emacs-orgmode

Alan Schmitt <alan.schmitt@polytechnique.org> writes:

> On 2016-01-16 15:11, Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
>> Hello,
>>
>> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>>
>>> Thanks a lot for these comments. Here is an updated patch.
>>
>> Applied. Thank you.
>>
>> I almost forgot: would you mind preparing an entry about it for
>> ORG-NEWS?
>
> Is this too detailed?

IMO Yes.  As I recall the examples are also in the docstring, so just
refer to that.

IMO a NEWS item should be a headline and one or two lines of explanation,
with a reference to the manual or, probably better, a docstring.

Exceptions exists of course, e.g. when commands to repair files are
suggested.

Rasmus

-- 
This message is brought to you by the department of redundant departments

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18 11:28         ` Rasmus
@ 2016-01-18 14:15           ` Alan Schmitt
  2016-01-18 14:21             ` Rasmus
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Schmitt @ 2016-01-18 14:15 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-orgmode

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

Hello Rasmus,

On 2016-01-18 12:28, Rasmus <rasmus@gmx.us> writes:

>>> I almost forgot: would you mind preparing an entry about it for
>>> ORG-NEWS?
>>
>> Is this too detailed?
>
> IMO Yes.  As I recall the examples are also in the docstring, so just
> refer to that.
>
> IMO a NEWS item should be a headline and one or two lines of explanation,
> with a reference to the manual or, probably better, a docstring.
>
> Exceptions exists of course, e.g. when commands to repair files are
> suggested.

Excellent point, how about:

*** Attributes support in custom language environments for LaTeX export 
Custom language environments for LaTeX export
(~org-latex-custom-lang-environment~) can now define the string to be
inserted during export, using attributes to indicate the position of the
elements.

Alan


-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 17, 2016, Mauna Loa Obs.): 402.86 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18 14:15           ` Alan Schmitt
@ 2016-01-18 14:21             ` Rasmus
  2016-01-18 14:30               ` Alan Schmitt
  0 siblings, 1 reply; 11+ messages in thread
From: Rasmus @ 2016-01-18 14:21 UTC (permalink / raw)
  To: alan.schmitt; +Cc: emacs-orgmode

Hi,

Alan Schmitt <alan.schmitt@polytechnique.org> writes:

> On 2016-01-18 12:28, Rasmus <rasmus@gmx.us> writes:
>
>>>> I almost forgot: would you mind preparing an entry about it for
>>>> ORG-NEWS?
>>>
>>> Is this too detailed?
>>
>> IMO Yes.  As I recall the examples are also in the docstring, so just
>> refer to that.
>>
>> IMO a NEWS item should be a headline and one or two lines of explanation,
>> with a reference to the manual or, probably better, a docstring.
>>
>> Exceptions exists of course, e.g. when commands to repair files are
>> suggested.
>
> Excellent point, how about:
>
> *** Attributes support in custom language environments for LaTeX export 
> Custom language environments for LaTeX export
> (~org-latex-custom-lang-environment~) can now define the string to be
> inserted during export, using attributes to indicate the position of the
> elements.

Thanks Alan!

It's good.  The reference tend to be towards the end, but this is really
your decision.  Maybe add a "see" in front of the variable name.

Feel free to push at your discretion.

Cheers,
Rasmus

-- 
Nothing's wrong with an email that ends in a minor key

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18 14:21             ` Rasmus
@ 2016-01-18 14:30               ` Alan Schmitt
  2016-01-18 14:31                 ` Rasmus
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Schmitt @ 2016-01-18 14:30 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-orgmode

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

On 2016-01-18 15:21, Rasmus <rasmus@gmx.us> writes:

>> Excellent point, how about:
>>
>> *** Attributes support in custom language environments for LaTeX export 
>> Custom language environments for LaTeX export
>> (~org-latex-custom-lang-environment~) can now define the string to be
>> inserted during export, using attributes to indicate the position of the
>> elements.
>
> Thanks Alan!
>
> It's good.  The reference tend to be towards the end, but this is really
> your decision.  Maybe add a "see" in front of the variable name.
>
> Feel free to push at your discretion.

Will do. Should this go in the New Features subsection?

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 17, 2016, Mauna Loa Obs.): 402.86 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18 14:30               ` Alan Schmitt
@ 2016-01-18 14:31                 ` Rasmus
  2016-01-18 14:41                   ` Alan Schmitt
  0 siblings, 1 reply; 11+ messages in thread
From: Rasmus @ 2016-01-18 14:31 UTC (permalink / raw)
  To: alan.schmitt; +Cc: emacs-orgmode

Alan Schmitt <alan.schmitt@polytechnique.org> writes:

> On 2016-01-18 15:21, Rasmus <rasmus@gmx.us> writes:
>
>>> Excellent point, how about:
>>>
>>> *** Attributes support in custom language environments for LaTeX export 
>>> Custom language environments for LaTeX export
>>> (~org-latex-custom-lang-environment~) can now define the string to be
>>> inserted during export, using attributes to indicate the position of the
>>> elements.
>>
>> Thanks Alan!
>>
>> It's good.  The reference tend to be towards the end, but this is really
>> your decision.  Maybe add a "see" in front of the variable name.
>>
>> Feel free to push at your discretion.
>
> Will do. Should this go in the New Features subsection?

IMO: Yes.  [If you’re feeling particularly blue I guess you could put it
in Misc, but is /is/ a new feature].

Rasmus

-- 
Need more coffee. . .

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

* Re: [PATCH] make options available for custom source environment in ox-latex
  2016-01-18 14:31                 ` Rasmus
@ 2016-01-18 14:41                   ` Alan Schmitt
  0 siblings, 0 replies; 11+ messages in thread
From: Alan Schmitt @ 2016-01-18 14:41 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-orgmode

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

On 2016-01-18 15:31, Rasmus <rasmus@gmx.us> writes:

>> Will do. Should this go in the New Features subsection?
>
> IMO: Yes.  [If you’re feeling particularly blue I guess you could put it
> in Misc, but is /is/ a new feature].

It’s pushed. Thanks for the help!

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated January 17, 2016, Mauna Loa Obs.): 402.86 ppm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

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

end of thread, other threads:[~2016-01-18 14:41 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-14 10:31 [PATCH] make options available for custom source environment in ox-latex Alan Schmitt
2016-01-14 10:47 ` Nicolas Goaziou
2016-01-14 13:40   ` Alan Schmitt
2016-01-16 14:11     ` Nicolas Goaziou
2016-01-18  8:59       ` Alan Schmitt
2016-01-18 11:28         ` Rasmus
2016-01-18 14:15           ` Alan Schmitt
2016-01-18 14:21             ` Rasmus
2016-01-18 14:30               ` Alan Schmitt
2016-01-18 14:31                 ` Rasmus
2016-01-18 14:41                   ` Alan Schmitt

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