Direct formatting of list symbols?

Can I direct-format list item symbols ?
If not, is there an alternative method to achieve a similar effect ?

I would like to create a list like this with different coloring on the sublevel :

image

Coloring the item text would be easy, but how to color the item letter/symbol as well ?

I tried to accomplish this with what I learned from How to format 2 lists independently from each other in LibreOffice Writer? - #6 by ajlittoz (“first method”) , namely defining a blue list style and a green list style and then just applying the list style to an item (without paragraph style). But the drawback is that this works only if I click on “restart numbering”, but then I would have something like:
image

So how can I achieve this without interrupting the numbering ?

I filed an enhancement request here: 158879 – direct-formatting of INDIVIDUAL list symbols

As I explained in the referenced question (and answer), a list style defines membership to a logical list. Roughly speaking, the list style configures the appearance of the numbering or bullet. Appearance of the item text is done in the paragraph style (and you can attach one list style to several paragraph styles. This solves the issue of item text.

Appearance of the number or bullet can only be set by attaching a character style in the list style (up to one per level). Number/bullet can’t be direct formatted because it does not correspond to manually entered text.

Consequently, you can’t fully achieve what you describe.

If you accept to change slightly your specification to match Writer list paradigm, you can get continuous numbering. This change is to leave the number out of any change, i.e. the number identifies the list and this number appearance cannot change arbitrarily across items at same level.

I see no workaround except dropping the list paradigm and enter the numbers manually as if they were text. But this is a negation of Writer features and I won’t go for it.

1 Like

@ajlittoz : many thanks for your explanation and help.

I may be wrong, but I seem to be able to do that:

starting point:

image

step 1: I click on a number, which selects all numbers at once:

image

step 2: then I use toolbar tools, e.g. bold and red:

image

But I cannot format individual items.
Only the whole list at once.

@ajlittoz : I am not sure if I understand you correctly.
Do you mean it’s not possible in Writer and I can only achieve this (without matching ordinal color) …

image

.
… but not the 1st image from my OP ?

Due to the “global” nature of direct formatting on list numbers, you can’t achieve your desired goal of changing individual number colour.

… even if “If you accept to change slightly your specification to match Writer list paradigm” as you stated earlier ?

My proposal for a change was to drop individual colour per item, i.e. all numbers in list have the same colour though item text colours may be different. In other words, presently you can get only what you reported as your achievement above (all numbers black with green/black items).

LAST MINUTE It looks like your goal is achievable. It might be tricky but I think I got it. Icheck and come back. But anyway, it’ll be direct formatting.

EDIT
Direct formatting solves your problem, but unfortunately only direct formatting.

Number/bullet colour can be individualised if you don’t use character style for the number. In other words, you must assign [None] to the Character style attribute in the list style.

To apply some colour to the number/bullet:

  1. put the cursor at start of the paragraph below your target (start of next item or first paragraph after the list for the last item)
  2. with Shift pressed, move the cursor one position left (keyboard or mouse) so that the paragraph mark of the target is selected
    Take care not to select any character in the items.
  3. apply some font colour (e.g. with the toolbar button or Format>Character, the latter allowing more combinations)

Your target number has now its individual colour, font face, size, weight, …


IMHO, there is here an inconsistency in Writer where character style takes precedence over direct formatting. Bug report tdf#158835.

3 Likes

@ajlittoz

oh, I thought character style is always supposed to take precedence over DF.
But I just tried and it seems the opposite is actually the case ?

ok, but that is the central point of this topic

Thanks so much for experimenting with this. This is very kind and incredibly helpful for me!

It’s no inconvenient that it works only with direct formatting. In fact I prefer it, because I hope that I’ll have to style lists like that only in rare cases. (But once I must accomplish that, it’s incredibly helpful, so thank you again.)
.
I tried your method, and it acutally works !! Wow!
How did you find that out ?
.
Please enlighten me how or why it works, because it is kind of bewildering to me:
.
According to your instructions, we start below the target. But what I select (blue rectangle) includes item A.2 yet when I apply DF to the selection, the UNSELECTED A.1 is formatted (bold red in this case):

image

I’m glad it works, but at the same time it drives me crazy, because it’s so counter-intuitive …

Formatting lists is completely, totally counter-intuitive. It yook me years to understand how it works and some more to master the process. Unfortunately there are still lurking bugs which prevent to follow a rigorous method, as least as systematic as for paragraphs, characters or pages.

By chance. I selected the number, applied colour and was surprised that the change occurred on the preceding number. I then checked it was systematic and deduced the recipe. Perhaps this works because DF is applied in fact only on the paragraph mark of the target item.

You’re not the only one. A few years ago, I used to say that mastering list formatting was the most difficult challenge in Writer. I wouldn’t be as affirmative today. I’d put deterministic frame location through frame style in number one.

You’re welcome. This challenge is very interesting because it improves my skills with Writer. This is a win-win deal. You have a solution and I have higher knowledge in Writer.

1 Like

This is surely a bug. Could you file a bug report?
I have filed a few bug reports during the last days, but this one is so complicated, that I wouldn’t even know where to start to explain this in a report …

That’s not good news. I was hoping to find a free MS Office alternative and thought that LibreOffice must be an even more solid product since basically the whole world is involved in developing it. But my experience is honestly terrible. There are so many bugs. I never had encountered any problems in MS Office …

I must say, I got my hopes up to soon.
I actually managed to direct-format one of my list items in the manner you told me and thought this is the break-through. But then I failed on all subsequent list items …

Since you are the resident “list expert” here and seem to be interested in solving tricky puzzles, maybe you want to have a crack at my document ? I have it attached for you here.

The task that needs to be accomplished is color-formatting the second-level list ordinals like this:

  • If an item contains bold blue text, the list ordinal should be formatted in bold blue characters with black border box.
  • If an item contains bold green text, the list ordinal should be formatted in bold green characters with black border box.
  • If an item contains both bold blue AND bold green text, the list ordinal should be formatted in bold blue characters with black border box.

background info in case you are interested:
This is required so as to see right away which items are mandatory (blue) and optional (green).

Many thanks if you want to tinker.
xxxxxxx part.odt (36.1 KB)

@ajlittoz :
There is one other extremely ugly solution (that doesn’t even merit this term) I have found in case direct formatting were not possible: since the numbering breaks (as mentioned above) and restarts at 1, I can manually increase the counter via list style > customize > numbering > start at. I then have to clone the list style multiple times for each possible starting point, like *mysuperlist_starts_at_2 , *mysuperlist_starts_at_3 , *mysuperlist_starts_at_4 and so on.

Of course that defeats the whole purpose of lists and might even be easier achieved through some kind of identation or tabstops …

As you say this is not a solution. It is even harmful and replacing it with fully manual paragraphs (without list style applied) is probably better when you consider document edits and maintenance.

If you try to break the logic of the styles sequence, you can achieve an optical workaround.
I have used three list styles and three paragraph styles. Their names end with blue, green and black respectively (in German: blau, grün, schwarz).
Black stands alone for numeric 1),2),3).
Blue and green for a),b),c) respectively.

99731 HB sublevels


99731 HB sublevels.odt (13,7 KB)

1 Like

@Hrbrgr : your achievement is impressive, thanks,
but the main question in my OP was:
"how can I achieve this without interrupting the numbering ?"
In your image the numbering seems interrupted.
I need to get there:

Write a function request on Bugzilla or (even better) become a programmer.

@Hrbrgr : ok, so from your response I assume this is not possible with the .odt file you uploaded ?

@libretist have you seen my private message?

1 Like

it’s easy, but not a good layout so a chaotic:
yyyTESTESTEST_v000.odt (12.5 KB)


LibreOffice v.7.2.7.2