emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] interaction between org-latex-custom-lang-environments and name


From: Rasmus
Subject: Re: [O] interaction between org-latex-custom-lang-environments and name when exporting to latex
Date: Mon, 23 Nov 2015 18:54:00 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Hi Alan,

Alan Schmitt <address@hidden> writes:

> What I propose is to have either a string or a function in
> `org-latex-custom-lang-environments'. A string would be used as it is
> currently, whereas a function would be applied. Here is what it could
> look like:

I think a format-string is fine, though I don’t oppose allowing a function
as well.  I don’t foresee a great necessity of the latter, though.

I'd use format-spec.  E.g. here’s how hyperref is filled

    (let ((template (plist-get info :latex-hyperref-template)))
           (and (stringp template)
                (format-spec template (org-latex--format-spec info))))

Then the cdr of an element in org-latex-custom-lang-environments can be
something like:

   \begin{%e}[label=%l, myfunkyoption=val]
    %c
    \end{%e}

The only downside is that you’d have to somehow discriminate between the
"old" case where the cdr is a single word denoting an environment.
Something like this might work:

          (string-match-p "\\`\\w+\\'" "hest1")


> My main design question is what the arguments to the function should be.
> I thought the formatted source code and label would work, but I'm
> wondering if it may be better to simply give the `src-block' and `info'
> arguments directly.

Well, functions would be user written.  In general I’d favor info and
src-block, but I don’t think it’s very user-friendly, as it requires quite
some knowledge about how ox works.  Also, when using such functions, the
user would have to write a lot of boilerplate to get e.g . the label.

Rasmus

-- 
Not everything that goes around comes back around, you know




reply via email to

[Prev in Thread] Current Thread [Next in Thread]