@dondo: And there is no clear way to move styles between those menus, or even between different project compile formats.
Something to be aware of is that the entirety of the formatting menu system is available when modifying style and section layout attributes in the format designer window. You are not limited by what is in the Format Bar, and can thus use the standard Format ▸ Font
and Format ▸ Paragraph
submenus to copy and paste those attributes specifically, or copy and paste formatting completely, using the commands in the main Format menu itself (the keyboard shortcuts also work here).
Furthermore, always try Copy and Paste. You can for example copy every single setting about a Section Layout or Style (copying from the list, not the format editor area) and paste it into another, which is useful for getting settings between projects, or to get a bunch of similar layouts to a common starting point for slight variations.
(Note: all of the above is at this time Mac-only capabilities.)
Also, the approach to defining these two different type of styles is strangely different; the Format Styles can only be changed by grabbing styled text out of the document, while Compile Styles have a more full featured style editing interaction.
I think you are ascribing too much to what is in fact a superficial difference. They both work identically in fact, the only thing is that, in the format design window, there is no text editor. So we needed a way for you to have a text editor of some sort to pull the formatting from. A little mock editor with some read-only gibberish text or quotes is the way to get that done.
One is not more “full featured” than the other, but if anything the text editor in the main project window is the more full-featured of the two. I don’t think they have any functional formatting differences,[1] but in the main project editor you can create advantageous example text to design your styles with, rather than being stuck with gibberish text that might not suit the purpose of the style at all.
@Vincent_Vincent: Styles are to be applied in the editor initially. It is the only way to go. Without that, Scrivener won’t apply whatever styles you think you designed (in the compile format) to anything. – Having no way of knowing what to apply it to…
That isn’t entirely accurate. It is possible to not use any styles at all while writing, and end up with a fully styled document when you compile. By assigning styles in the Section Layouts pane to all of the sample text, you can get heading styles, paragraph styles and whatever else you need.
That aside, yes you can think of the style transformation system that happens during export as being a way of changing how a document looks if it is heavily styled, and that is the only way of doing so in that case. It is how something like the “Manuscript (Times)” compile format works, since you wouldn’t want Helvetica or whatever font you prefer to write with in a Times output. The extensive list of style overrides that format has helps to ensure that (though if one uses custom styles they’ll need to add their own to this list).
@dondo: But how do you decide when to use those styles vs. applying a style to the document text?
So with that said, there probably isn’t one clear-cut answer, as it has much to do with personal preference or the needs of the document itself. As noted above, for simpler documents (in terms of formatting), one might never need to use styles while writing at all. If all of your body text is uniform in its presentation, and your headings are coming exclusively from the compile settings, then you can accomplish all of the styling you need by going through the Section Layouts you use and assigning format styles to them. You can design the look of the document wholly through that approach. Indeed, you don’t even need to use styles in Section Layouts (you’ll note the defaults don’t), using styles at all, is a personal choice.
For more complex documents, say you need figure captions or want to use proper emphasis markings instead of lazy italics, then you might need to also add those to the Format’s stylesheet, if they would need to look different.
I think a lot of this can be more simply boiled down to this:
- If you need to declare styles in the writing environment you can do so, and by default the text styled that way will convey into the output “as-is”.
- If you need to not be as-is, for example to convert everything to double-spaced Times New Roman, then the compile format can override the formatting of those styles you’ve used in the editor. They can, but they don’t have to, that’s up to you.
- One might argue that the checkboxes to the right of the style list are additional formatting functions not available in the text editor, but I would argue those are export decisions that don’t make a lot of sense in the writing environment.