Hi,
Line breaks are not preserved by default in verse blocks in ODT export.
To reproduce, export to ODT:
#+begin_verse
Is all that we see or seem
But a dream within a dream?
#+end_verse
The expected result is with a line break, as in the verse block.
The result I get is all on one line:
Is all that we see or seem But a dream within a dream?
I do get the expected result with =#+OPTIONS: \n:t=, i.e.
:preserve-breaks, but this is a workaround. The other backends preserve
linebreaks in verse blocks without =\n:t=, so it's not expected behavior
that it should be needed.
Emacs : GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43,
cairo version 1.18.2)
Package: Org mode version 9.8-pre (release_9.7.39-670-g54aaaa @
/home/cm/Code/org-mode/lisp/)
Git bisect suggests it's due to this commit (I'm surprised it took me
three years to notice; too little poetry in my life?):
commit 3502ce2dbb29b70cdbb978d144322d48cb00f26d
Date: Sat Oct 8 21:08:47 2022 +0800
ox-odt: Fix newlines replaced by spaces in Han script
* lisp/ox-odt.el (org-odt-plain-text): Use `fill-region' to unfill the
paragraphs with newlines accounting for scripts without spaces between
words.
Possible fix: Adding a check to the if statement in the commit so the
condition is t either if :preserve-breaks or if we are in a verse block.
But maybe it should be handled somewhere else in the exporter logic
(which I don't understand well).
Regards,
Christian