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 >> >> >> >> >> >