As to your follow-up questions, I don’t follow what is “messy” about it, at least with regards to these specific items—especially since HTML/CSS addresses both of them. Perhaps they seem messy because of how messy it is creating custom lists like that in the basic list editor? Once you adapt to a dynamic system driven by the stylesheet, you can forever dispense with wasting time fiddling with custom marker prefixes and so forth.
Take note of how we do things in the example CSS, when you make different selections in the Tables & List pane. See how some of those choices employ a diverse mix of enumeration styles based on indent level? Feel free to copy any techniques you see there. A simple example based on what I think you are describing here can be extracted from one of the built-in choices verbatim, in fact:
.alpha-list ol ol { list-style-type: lower-alpha; }
Note all we changed from the above is to add a nesting requirement to the selector. This now only changes second level (or greater) list elements to lower-alpha, leaving level one to use default numerals.
To continue that line of logic, say you need Roman numerals at level three:
.alpha-list ol ol { list-style-type: lower-alpha; }
.alpha-list ol ol ol { list-style-type: lower-roman; }
That is more complicated, but still well within the realm of what CSS can do. I’d look up tutorials on creating custom numbered lists with CSS, and get a browser that lets you manipulate loaded pages in real-time, used in conjunction with Scrivener’s source file output options. Sigil also works well, as you can edit the stylesheet.css file while viewing example text in the preview pane. Either way, you can tweak book code directly, and once you get a satisfying result, copy and paste the CSS into the compile settings.
Conceptually the idea is very much similar to Scrivener’s auto-number placeholders, particularly with regards to how you can give numbering streams names, reset them and etc. The two main difference is that incrementing a counter and printing a counter into the book are two discrete actions, and secondly the format of the output (decimal, Roman, alpha, etc.) is a function of output rather than an inherent quality of the counter (meaning you can print the same counter instance several different ways). In case the syntax is unfamiliar, here’s a working example that you can get started with. I use this same technique to number headings in some of my stylesheets (1, 1.1, 1.1.1 style), so it is trivial to adapt it to a list schema instead:
[code]/* Alphabetic lists with compound numeral subnumbering (a, b (b1, b2), c…) /
.alpha-special > ol {
/ Drop native numbering and set up our own counter for each new list. /
list-style-type: none;
/ If we have a bunch of different complex list styles in the book, we’d want a less generic name here, like ‘alpha-special-levelone’. /
counter-reset: levelone;
}
.alpha-special > ol li {
counter-increment: levelone;
/ Hanging indent for the manually added marker. You may have to fiddle with measurements depending on format. /
text-indent: -1.5em;
margin-left: 1.5em;
}
.alpha-special > ol li::before {
/ Print the counter value as alpha at the start of the list item */
content: counter(levelone, lower-alpha) “)”;
margin-right: 0.5em;
}
.alpha-special > ol ol {
list-style: none;
}
.alpha-special > ol ol li {
counter-increment: leveltwo;
text-indent: -2em;
margin-left: 1em;
}
.alpha-special > ol ol li::before {
content: counter(levelone, lower-alpha) counter(leveltwo) “.”;
margin-right: 0.5em;
}
/* Level 3 and lower just uses bullets. We basically want to override much of the above and reset things back to normal. /
.alpha-special ol ol ol {
list-style-type: decimal;
}
.alpha-special ol ol ol li {
/ This keeps subsublists from incrementing leveltwo. /
counter-increment: none;
padding-left: 0.5em;
text-indent: 0em;
margin-left: 0em;
}
.alpha-special ol ol ol li:before {
/ Otherwise due to cascading inheritance, we’d get “b2. 1. List text”. */
content: none;
}[/code]
And again, all you need in Scrivener is any enumeration list. It doesn’t matter at all, so no longer waste time fiddling with marker settings. My motto is to keep formatting complexity out of the editor and in the stylesheet. You do the latter once, but the former dozens or even hundreds of times in the course of writing a book—and heaven forbid you ever need to adjust the schema if each list is manually hard-coded to one format.