emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DISCUSSION] Refactoring fontification system


From: Ihor Radchenko
Subject: Re: [DISCUSSION] Refactoring fontification system
Date: Wed, 08 Jun 2022 10:02:58 +0800

Max Nikulin <manikulin@gmail.com> writes:

> On 03/06/2022 16:45, Ihor Radchenko wrote:
>> 
>> 1. org-protecting-blocks is an internal auxiliary variable used to
>>     determine which blocks should be fontified using different major
>>     mode.
>>     It's value is ("src" "example" "export")
>>     So, #+begin_src lang and #+begin_export lang are fontified according
>>     to LANG. Makes sense.
>>     However, what about #+begin_example?
>
> I have a lot of #+begin_example with language in my notes. In the 
> beginning I accidentally discovered that code is highlighted accordingly 
> to language syntax, so I continued to use this feature for snippets that 
> are not intended to be evaluated. Later it was a bad surprise that 
> export does not preserves highlights. So for me #+begin_example is a 
> shortcut for #+begin_src with :eval never (that can be specified as a 
> property).
>
>  From my point of view exporters may reuse code block formatters for 
> examples. It would allow to pass options to e.g. LaTeX verbatim environment:
> Pedro Andres Aranda Gutierrez. Re: A question/bug report(?) Wed, 30 Mar 
> 2022 07:14:54 +0200 
> https://list.orgmode.org/orgmode/CAO48Bk_dJs1=5zgpcZwODaTsRqyRsKq1ALj6WpaXCc4bDjW3FQ@mail.gmail.com/

Among other goals, the new fontification is aiming to avoid such bad
surprises.

As for lang parameter support in example blocks, would you mind creating
a separate feature request thread? Extending export blocks export will
require changing in parser syntax and thus should be discussed carefully
in a separate thread.

>> 2. org-script-display is an internal auxiliary variable used to display
>>     sub/superscripts. Note that it's default value holds 4 possibilities.
>>     Two for each type of script. For example, for superscripts we have
>>     two options:
>>     ((raise 0.3) (height 0.7)) and ((raise 0.5))
>>     The first one looks more compact (does not change the line height)
>
> Notice that subscript still increases inter-line space a bit.

Can you (and other interested users) try the following value of
org-script-display and let me know if it looks acceptable:

(defconst org-script-display  '(;; The values are tweaked to not change
                                ;; the line height.
                                ((raise -0.1)  (height 0.7))
                                ((raise 0.25)  (height 0.7))
                                ;; Alternative properties for tables.
                                ;; FIXME: We cannot change the text
                                ;; height because it will alter the
                                ;; symbol width and thus break the
                                ;; table alignment (at least, until
                                ;; org table are aligned via pixel
                                ;; width).
                                ((raise -0.5))
                                ((raise 0.5)))
  "Display properties for showing superscripts and subscripts.")

>>     However, it currently uses x1.5 line height for tables creating empty
>>     space between vertical | separators. It looks like a typo for me. It
>>     would make more sense to make table lines compact, not vice versa. Am
>>     I missing something?
>
> git blame gives 0618aeafb39dbf78e753348eaeaddbb7f8104cd0
> It seems smaller font breaks horizontal alignment in tables.

Thanks! Now it is crystal clear what was the reason behind the different
fontification inside/outside the tables. I will add the explanation to
comments.

Best,
Ihor




reply via email to

[Prev in Thread] Current Thread [Next in Thread]