[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch] ox-latex.el: fix blank lines behavior in verse block
From: |
Juan Manuel Macías |
Subject: |
Re: [patch] ox-latex.el: fix blank lines behavior in verse block |
Date: |
Sat, 12 Aug 2023 11:28:17 +0000 |
Ihor Radchenko writes:
> Juan Manuel Macías <maciaschain@posteo.net> writes:
>> + (vwidth (if (not lit)
>> + (if versewidth (format "\\settowidth{\\versewidth}{%s}\n"
>> versewidth) "")
>> + ""))
>
> Can just do (if (and versewidth (not lit)) (format ...) "")
>
>> + (linreset (if (not lit)
>> + (if lin "\n\\poemlines{0}" "")
>> + "")))
>
> (if (and lin (not lit)) ...)
Thanks for the suggestions. Yes, it's simpler that way.
>> (concat
>> (org-latex--wrap-label
>> verse-block
>> ;; In a verse environment, add a line break to each newline
>> ;; character and change each white space at beginning of a line
>> - ;; into a space of 1 em. Also change each blank line with
>> - ;; a vertical space of 1 em.
>> - (format "%s\\begin{verse}%s\n%s\\end{verse}%s"
>> + ;; into a normal space, calculated with `\fontdimen2\font'.
>> + ;; One or more blank lines between lines are exported as a
>> + ;; single blank line. If the `:literal' attribute is used,
>> + ;; CONTENTS is exported as is, with no environment, preserving
>> + ;; line breaks and vertical and horizontal spaces.
>> + (format (if (not lit)
>> + "%s\\begin{verse}%s\n%s\\end{verse}%s"
>> + "%s%s\n%s%s")
>
> In the case of lit vwidth and attr are always empty. So, you are
> inserting an extra newline in front. Is it intentional?
I used that procedure because an extra blank line before (in the LaTeX
code) it has no effect in LaTeX compilation. And in case the :literal
attribute is present, vertical spaces are achieved by explicit
\vspace*{}. One or more empty lines before it just marks the beginning
of a new paragraph.
Naturally, if :literal is used the rest of attributes are meaningless
because they are intended for the verse environment. They can even give
some error in the compilation. So I opted to disable them with the mere
presence of :literal, leaving them 'empty' (so as not to manipulate the
function further).
>> + (concat "\\("
>> + (regexp-quote org-latex-line-break-safe)
>> + "\n\\)"
>> + "\\(^[ \t]*"
>> + (regexp-quote org-latex-line-break-safe)
>> + "\n"
>> + "\\)+")
>> + (concat "^[ \t]*" (regexp-quote org-latex-line-break-safe)
>> "$"))
>
> May also use rx for better readability.
I remember that I tried rx a while ago and found it very useful and
comfortable, but then I haven't done anything with it. The fact is that
over time I have ended up getting used to suffering from the classic
regexp and it is hard for me to get out of there :-). Of course, with rx
it would be clearer but I would have to refresh my memory.
--
Juan Manuel Macías
https://juanmanuelmacias.com
https://lunotipia.juanmanuelmacias.com
https://gnutas.juanmanuelmacias.com
- [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/06
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/07
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/07
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/09
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/09
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/10
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/10
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/11
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/11
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/12
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block,
Juan Manuel Macías <=
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/13
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/14
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/15
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/15
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/15
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/15
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/16
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/16
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Ihor Radchenko, 2023/08/17
- Re: [patch] ox-latex.el: fix blank lines behavior in verse block, Juan Manuel Macías, 2023/08/17