Paragraph and character styles

Feature request: named paragraph and character styles that import/export via RTF.

Well-implemented styles are a huge time-saver for writers because:

  1. You can select a group of formatting options – font, font size, ruler, justification, color, etc. – with one click.

  2. You can change some aspect of a style everywhere it occurs in the document, simply by changing the master style.

  3. You can set up styles to automatically follow other styles, so the paragraph after a subhead is automatically formatted for as body text.

  4. You can change the look of your document without changing its content, simply by using a different set of styles.

Let’s take a look at how I use styles to save time:

I have document templates set up so the first line is Title style (boldface, centered, etc.). When I hit return, the next paragraph is Byline style (centered but not bold, smaller, has space beneath). The paragraph after that is body text, so I start typing my story! No rulers, no Command key combinations; I just write.

I use a character style “thoughts” for all character thoughts. Usually it’s italic, but if I decide I want it roman (non-italicized) instead, I can change it throughout the manuscript simply by changing the master style. If I don’t like the effect, I just change it back.

I have separate template documents set up with styles for writing on my computer (screen fonts), printing out a single-spaced manuscript for proofing, printing out a double-spaced manuscript for proofing, and submitting to a publisher. Fonts, font size, alignment, line spacing, color can all be different depending on what I’m doing. Whether the document is one page or 1,000 pages, I can change all the paragraph and character styles throughout the manuscript in a few moments, with no search-and-replace. Since the document content isn’t changed, I can switch the styles back again in an instant.

Named styles let me transfer documents between word processors, and fix any import glitches by applying the global styles again. It’s also useful when a friend forwards a styled document with body text in 6 point Monotone Unreadable. I can switch it to 12-point Times without messing up the workable styles used for subheads and tables.

Styles are especially useful for technical writers. Unlike fiction, technical writing uses a lot of subheads, bulleted and numbered lists, nested lists, and other complicated stuff. Without styles, transferring those sorts of documents between applications is a formatting nightmare; nothing comes out right. With styles, documents may still show bad formatting on import, but they’re simple to fix. A lot of technical writing projects could benefit from Scrivener’s incredibly good project organization interface.

Many writer’s only exposure to styles come from Microsoft Word. Unfortunately, its styles are poorly implemented. The user interface is terrible, and styles text doesn’'t update consistently, which misses the point. No wonder so many writers think styles are a #$% distraction from writing!

Well-implemented styles rank with word processors and spell checking as one of the greatest writing tools of all time. Styles get all that tedious formatting out of the way, and let you concentrate on writing!

Which is the whole point of Scrivener, so I think Scrivener and styles are a natural match.

Styles can also drastically reduce the time writers need to spend formatting documents after export. If writers can export a manuscript and have the thing ready to print or submit to the publisher in five minutes, that can only be good. Styles make it easy.

Well-implemented styles also streamline the user interface, which I know is another (much-appreciated!) goal of Scrivener development.

In addition to using styles for the last 10 years, I also do usability design. I’ve been studying styles a bit lately in preparation for doing a blog post on them. So I’d be happy to discuss the details of how to implement styles so they’re powerful and easy to use.

There are a lot of projects I won’t be porting over to Scrivener until it gets styles. But once it does, watch out world!

Please see my response to this thread:

literatureandlatte.com/forum … php?t=2588

Scrivener uses the OS X rich text system and relies on the RTF import/export provided by Apple. I have added a few features to that system (footnotes, image support etc) but have no intention of writing my own RTF parser, I’m afraid. (That way madness lies.)

So, although I can perfectly understand your desire for styles, I’m afraid that Scrivener won’t support them unless Apple add them to their own RTF support. It might be dropping a line via bugreport.apple.com - the more people who ask them to improve RTF support, the better.

Thanks and all the best,
Keith

Thanks, Keith.

I can’t get the bugreport.apple.com page to come up – could you post the entire link, please?

Thanks,
Wilma

Pardon my ignorance, but I’ve never really understood the nuances of styles, even way back when I used Word. So, how does what Wilma’s calling for differ from the Styles pop-up menu currently available in the Ruler in Scrivener, TextEdit and other apps that use Apple’s text editing system?

Hi Brett,

Thanks for the questions. Let’s see if this answers them:

Named styles
A named style is a set of presets that can be applied as one unit: font, font size, justification, line spacing, spacing before and after the paragraph, color, etc. If you apply a named paragraph style to a paragraph, it applies ALL the presets. If you change the presets for a named style, every paragraph that uses that style gets updated.

Unless you’re using Word, in which case some of the paragraphs using the named will get updated, and others won’t. An editor friend of mine who uses Word a lot says that Word’s styles are somewhat more consistent on Windows, but it’s still a mystery why some paragraphs will update and some won’t. IMO Word only sorta kinda maybe has styles, because the whole point of styles is consistency, and Word styles don’t act consistent.

If you import your document into another application that uses named styles, the named styles will show up in the new app. They might look weird after the import, but the style names are still attached to the paragraphs. So you can edit the master style for “indent-1”, and all the paragraphs with that style will update.

Apple’s “styles”
Apple’s “styles” aren’t style sheet styles – they’re just a set of formatting presets applied on a case-by-case basis to a paragraph. It’s basically the same thing as applying all the formatting presets by hand, only you access them in a group using a pull-down menu. Since paragraphs don’t have named styles, and there’s no master style controlling them, you can’t change all instances of a font in your first-level subheads and NOT change all instances of it in other paragraphs. With named styles, you DO have that kind of control.

Dependent styles
The best style implementations I’ve used make styles dependent. That means you can set up your basic style like this:

p1 = 12 point Times roman, black, justified, 14 pt leading, 3 pts space afterward, first line indent of 0 ems

… and a dependent style like this:

p1-indent = p1 + first line indent of 2 ems

So the style p1 sets every characteristic for the style p1-indent EXCEPT for the first line indent, where p1-indent’s style overrides the parent style. Change p1’s font to 14 pt. Georgia boldface, and all paragraphs with p1-indent style will change also. That makes it very quick to update a document. You change the parent style for your text paragraphs, and they ALL change. You change the parent font for your subheads, and they all change. It’s fast. It’s easy. It’s powerful. And unlike changing styles by hand, it’s easy to change back again.

(BTW, HTML cascading style sheets operate like the dependent styles described above, with one addition: you can have one style be the “parent” for the font, another be the “parent” for the left margin, and so on. That makes HTML style sheets incredibly powerful, but also harder to learn to use than word processor styles.)

And the winner is…
In summary, using Apple’s built in “styles” you CAN apply presets, but they’re not named styles. So you can’t do any of the nifty things named styles let you do. You can’t the indent on every instance of one kind of paragraph without affecting the rest. You can’t export named styles that a word processor can utilize. Style changes have to be made to the whole document, or to manually selected parts of it. Low power, high hassle factor.

With named styles, you can import your document, update its master styles, and get the formatting you want right away. Especially if you have a standard master style template to import styles from. You can also share your favorite style presets with your friends! High power, low hassle factor.

Mariner Write and Papyrus both use named styles. Word kinda sorta uses them, but not consistently. Classic apps that use styles include WriteNow (my favorite implementation of styles ever!) and FrameMaker.

Did this help?

Please keep asking questions, as this is helping me think about style issues. (I’m thinking about doing a tutorial.)

Regards,
Wilma

The difference is in the level.

Apple’s text system “named styles” is a name you give to a collection of RTF attributes. You may name it “title” but behind the scenes all it really is, is an RTF “bold 14pt centered” applied to the text of each and every title. Later, if you decide your title style should be 16pt and left-aligned, you have to change all of the titles, because they are not actually titles, simply formatted bits of text.

A true style is a semantic system, where you label the text as a title and then in your style management control you set what formatting it should be displayed with. You can change the title style later in one place, because “title” does not carry any formatting information with it in the text itself.

On the front end, they look nearly the same.
On the back end, they are completely different.

You can see the same thing in HTML, if you know it - putting your font and layout information in every page and in every element, vs. making up a stylesheet and giving the pieces of your page identifiers so the correct style can be applied to it.

Best explanation of style implementations, that I have ever read … :slight_smile:

Yes, thanks so much for the clarifications. I can see now how this capability would ease the workload considerably for writers (not me, fortunately) who use heavily formatted text. Including this ability does seem beyond the scope of Scrivener as Keith conceived it; I hope Apple will implement it into its text system. Thanks again for 'splaining!

Not beyond Scrivener’s scope; but beyond my willingness to get my hands any more dirty with RTF syntax. :slight_smile: It would be a massive job hacking the RTF system to do this, and probably easier to write my own RTF parser. Which would only take about a year. :slight_smile:

Wilma, the full address is: bugreport.apple.com. You need to register and then file an enhancement request. File it under TextEdit, as that is Apple’s showcase for their text system.

All the best,
Keith