A bit more experimenting shows that asynchronous execution is actually a part 
of my original problem. By default, I have jupyter-python blocks running 
asynchronously. In that case, the tables don’t format quite right, as I noted. 
But if I add the header ":async nil", the table comes out fine. Table 
formatting is OK in python blocks with or without asynchronous execution. 

> On May 18, 2022, at 2:00 PM, John Kitchin <jkitc...@andrew.cmu.edu> wrote:
> 
> I would guess it could. I don't do anything asynchronous, and I am not sure 
> when org-babel-after-execute-hook runs, if it is immediately there is no 
> table to clean up I suppose. It is not necessary to run on  a subtree, but on 
> a very large document you probably don't want to do org-element-parse often.
> 
> 
> John
> 
> -----------------------------------
> Professor John Kitchin (he/him/his)
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu <http://kitchingroup.cheme.cmu.edu/>
> 
> 
> 
> On Wed, May 18, 2022 at 4:57 PM Richard Stanton <rhstan...@berkeley.edu 
> <mailto:rhstan...@berkeley.edu>> wrote:
> Thanks for the suggestion, John. I’ve tried playing around with this, and am 
> I right that it seems to have trouble when execution is asynchronous?
> 
>> On May 18, 2022, at 1:16 PM, John Kitchin <jkitc...@andrew.cmu.edu 
>> <mailto:jkitc...@andrew.cmu.edu>> wrote:
>> 
>> I use a function in an after execute hook for this: 
>> https://github.com/jkitchin/scimax/blob/master/scimax-org.el#L205 
>> <https://github.com/jkitchin/scimax/blob/master/scimax-org.el#L205>
>> 
>> This works on a subtree, which has been fine for me. You could adapt it to 
>> only work in the results section.
>> 
>> John
>> 
>> -----------------------------------
>> Professor John Kitchin (he/him/his)
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu <http://kitchingroup.cheme.cmu.edu/>
>> 
>> 
>> 
>> On Wed, May 18, 2022 at 4:07 PM Richard Stanton <rhstan...@berkeley.edu 
>> <mailto:rhstan...@berkeley.edu>> wrote:
>> I’m running Emacs 28.1 under macOS 12.4 and want to create tables from 
>> Python code blocks that can be exported to either LaTeX or HTML. The 
>> simplest way to do this seems to be to generate the output as an org table, 
>> and using the built-in version of org (9.4.6 
>> (9.4.6-798-g738759.dirty-elpaplus @ 
>> /Users/stanton/.emacs.d/elpa/org-plus-contrib-20210929/)), this works fine 
>> using either a python or emacs-jupyter code block:
>> 
>> #+begin_src jupyter-python
>> [
>>     ["Wide a", "b", "c"],
>>     None,
>>     [1, 2, 3],
>>     [4, 5, 6],
>>     None,
>>     [7, 8, 9]
>> ]
>> #+end_src
>> 
>> #+RESULTS:
>> | Wide a | b | c |
>> |--------+---+---|
>> |      1 | 2 | 3 |
>> |      4 | 5 | 6 |
>> |--------+---+---|
>> |      7 | 8 | 9 |
>> 
>> #+begin_src python 
>> return [
>>     ["Wide a", "b", "c"],
>>     None,
>>     [1, 2, 3],
>>     [4, 5, 6],
>>     None,
>>     [7, 8, 9]
>> ]
>> #+end_src
>> 
>> #+RESULTS:
>> | Wide a | b | c |
>> |--------+---+---|
>> |      1 | 2 | 3 |
>> |      4 | 5 | 6 |
>> |--------+---+---|
>> |      7 | 8 | 9 |
>> 
>> 
>> To use the latest version of org, I change just two lines in my init.el from
>> 
>> (straight-use-package '(org :type built-in))
>> (straight-use-package '(org-contrib :type built-in))
>> 
>> to
>> 
>> (straight-use-package '(org :type git :repo 
>> "https://code.orgmode.org/bzg/org-mode.git 
>> <https://code.orgmode.org/bzg/org-mode.git>"))
>> (straight-use-package '(org-contrib :type git :repo 
>> "https://git.sr.ht/~bzg/org-contrib <https://git.sr.ht/~bzg/org-contrib>”))
>> 
>> Having done this, the python block still works fine, but the horizontal 
>> lines in the jupyter-python block are no longer properly aligned with the 
>> text:
>> 
>> #+begin_src jupyter-python
>> [
>>     ["Wide a", "b", "c"],
>>     None,
>>     [1, 2, 3],
>>     [4, 5, 6],
>>     None,
>>     [7, 8, 9]
>> ]
>> #+end_src
>> 
>> #+RESULTS:
>> | Wide a | b | c |
>> |---+---+---|
>> | 1 | 2 | 3 |
>> | 4 | 5 | 6 |
>> |---+---+---|
>> | 7 | 8 | 9 |
>> 
>> #+begin_src python 
>> return [
>>     ["Wide a", "b", "c"],
>>     None,
>>     [1, 2, 3],
>>     [4, 5, 6],
>>     None,
>>     [7, 8, 9]
>> ]
>> #+end_src
>> 
>> #+RESULTS:
>> | Wide a | b | c |
>> |--------+---+---|
>> |      1 | 2 | 3 |
>> |      4 | 5 | 6 |
>> |--------+---+---|
>> |      7 | 8 | 9 |
>> 
>> By the way, the org version loaded this time is 9.5.3 (9.5.3-g277897 @ 
>> /Users/stanton/.emacs.d/straight/build/org/).
>> 
>> The table exports OK, but isn’t much fun to look at in the org file itself.
>> 
>> Since I like to use emacs-jupyter, any suggestions would be appreciated. I 
>> know this worked fine just a few weeks ago.
>> 
>> Thanks!
>> 
>> Richard Stanton
>> 
>> 
>> 
>> 
>> 
> 

Reply via email to