emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Way to mark contents of an Org special block as verbatim?


From: Kaushal Modi
Subject: Re: Way to mark contents of an Org special block as verbatim?
Date: Thu, 6 Jan 2022 14:14:07 -0500

On Thu, Jan 6, 2022 at 1:27 PM Juan Manuel Macías
<maciaschain@posteo.net> wrote:
> I think one possibility would be using a parse tree export filter:
>
> #+BIND: org-export-filter-parse-tree-functions (katex-verbatim)
> #+begin_src emacs-lisp :exports results :results none
>   (defun katex-verbatim (tree backend info)
>     (when (org-export-derived-backend-p backend 'latex)
>       (org-element-map tree 'special-block
>         (lambda (block)
>           (when (equal "katex" (org-element-property :type block))
>             (let ((cont (org-element-interpret-data (org-element-contents 
> block)))
>                   (create-export-snippet ;; idea from Nicolas Goaziou
>                    (lambda (v)
>                      (org-element-create 'export-snippet (list :back-end 
> "latex" :value v)))))
>               (apply #'org-element-set-contents
>                      block
>                      (list (funcall create-export-snippet cont))))))
>         info)
>       tree))
> #+end_src
>
> #+begin_katex
> E = -J \sum_{i=1}^N s_i s_{i+1}
> #+end_katex
>
> ==>
>
> \begin{katex}
> E = -J \sum_{i=1}^N s_i s_{i+1}
> \end{katex}

Wow, thanks for that complete code. I didn't know about the parse tree
functions.

I was thinking if below is possible as any user running my exporter
would need to use this feature easily.

#+begin_katex :verbatim t
E = -J \sum_{i=1}^N s_i s_{i+1}
#+end_katex

Is it possible to do anything inside the org-hugo-special-block
function that's defined in the exporter?



reply via email to

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