G’day, ToddO, Mark et al
As far as I can determine, setting spacing with Lists by using Paragraph Styles can come unstuck when you need to alter the sequence of List Items. If Items are inserted, deleted or moved such that the erstwhile last Item is no longer the last one, you have to change the Styles associated with both the previous last Item and the current last Item.
The trouble is that a List Item cannot recognize whether or not it is the last Item in a List and then adopt an appropriate Style, nor can a Style by itself recognize when its application is appropriate, other than by reference to a dictate from the Style definition of the previous paragraph. This latter dictate applies only at the time the next paragraph is created. The Style thus applied remains attached to the paragraph even if it is moved to a new position in which it immediately follows a paragraph with a different Next Style setting in its Style definition.
The situation with Lists is further complicated by their implementation in Nisus Writer. If you select a contiguous set of paragraphs and apply a List Style (by means of the Lists Palette, for example), the paragraphs are converted to a List, as expected. However, insertion of a new paragraph within the List or immediately thereafter does not add a new List Item (as one might expect) unless you first Remove Paragraph Styles from your List.
Furthermore, adding a Paragraph Style to a List Item (generally) leaves the List otherwise intact until one inserts a new paragraph immediately following the altered paragraph, at which time the List is disrupted, the new paragraph fails to become a List Item, and subsequent List Items are numbered afresh.
The underlying problem here seems to be that Paragraph Styles take precedence over List Styles. I don’t think this should be the case. When you’re working with a List, I think you should be able to add, delete and move List Items without having to worry about disintegration of the List. Insertion of a new paragraph after a List Item should result in another List Item, appropriately numbered if necessary. One should not have to specify this behavior in a Next Style setting in a Paragraph Style definition.
I think ToddO’s approach attempts to deal with these tricky issues, but, on balance, I really think a macro offers a better solution, particularly when one considers alteration of the sequence. If you’re going to be using a keyboard shortcut to apply a Style, you might just as well use a keyboard shortcut to invoke a macro and get a whole lot more work done in one fell swoop.
To this end, I think Martin’s macro, with slight modifications, offers the best approach. It is easily adjusted to deal with an ordered triple as input, so one can set paragraph spacing before, between and after paragraphs in a block. So there is no need to have a Style to set the paragraph spacing.
However, there is a need to have a Style to set other characteristics (such as font, italic, etc) as desired. Since these cannot be set in a List Style, they must be set in a Paragraph Style. But, as I have said, this then plays havoc with Lists.
In summary, I would like to see Lists implemented more along the lines I have suggested. Paragraph Styles should not override List Styles. One should not concern oneself whether a List Item is the first, the last or an intermediate one in a List. Martin’s macro (with minor modification) could then just take care of the spacing by means of a simple keyboard shortcut.
MacBook Pro (mid-2014)
macOS Mojave 10.14.6
Nisus Writer user since 1996