Hi Alan, Alan Schmitt <alan.schm...@polytechnique.org> 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