Stanislav Vlasov <s.vla...@tilburguniversity.edu> writes:

> #+BEGIN_SRC emacs-lisp :results table replace
> "Prior research [cite:@paper] suggests that..."
> #+END_SRC
>
> #+RESULTS:
> | Prior research suggests that... |
>
> The expected outcome should be:
>
> #+RESULTS:
> | Prior research [cite:@paper] suggests that... |
>
> It seems that this does not depend on src language (I have also tried with R 
> and got the same issue).

Confirmed.

The problem is rather fundamental one.

Citation processing is supposed to be independent from the export
backends. However, `orgtbl-to-generic' is bypassing the citation
processing and calls `org-export-data-with-backend` directly with ox-org
backend not handling citation objects.

There are multiple issues revealed here:
1. ox.el currently treats missing transcoder info as "export all the
   unknown elements/objects and empty strings" - this is rather
   forward-incompatible design that may catch users by surprise when Org
   adds new syntax elements (as it happened here, with citations)

   May ox.el treat missing transcoders as `identity' and only export
   empty string when transcoder is set to nil explicitly?

2. Does it even make sense to apply the default oc-basic when exporting
   to org? Should we instead introduce something like oc-identity that
   does nothing and simply leaves the citations in the original Org
   syntax, later possibly processed by the specific export backend?
   Then, we can use this oc-identity in the default value of
   `org-cite-export-processors': (org identity)?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to