Format controls in Composition Mode

How do I access the formatting control strip in Composition Mode?

In Scrivener 1’s Full Screen Mode (equivalent to Composition Mode in 2), Command-R showed and hid the Ruler, which also included format controls. In Scrivener 2’s Composition Mode, Command-R shows the Ruler, but the formatting controls are gone – and I haven’t found a way to show them.

So far this is the ONLY real problem I have found with Scrivener 2 so far. In general, version 2 is a significant improvement over 1. And that’s saying a lot, because I consider Scrivener 1 one of the very best applications ever written, because of its superb workflow.


There’s no access to the format bar in composition mode, sorry - those controls were only there as a result of the ruler in 1.x. It may be possible to add it in a future version, but at the moment things aren’t set up for that.

All the best,

Hi Keith, thanks for the fast and clear response.

Unfortunately, not having formatting tools easily accessible from Composition Mode is a significant problem for me. I use these tools in Scrivener 1’s Full Screen Mode dozens of times a day, and I’m not going to be real enthusiastic about switching to Scrivener 2 until they’re available.

BTW, I can see reasons to create customized formatting controls (mainly that the Mac’s built-in format control tools are so limited and clunky). Also, the new interface would be a great first step to giving Scrivener real style sheets, instead of the lame “paint-on” styles the Mac currently supplies. (I was using better style interfaces in low-end Mac apps by the early 90’s. Today we’ve got CSS, and millions of people who know how to use it. Get with the program, Apple!)

For me the down side of the new formatting interface is that since I’m a power user who uses zillions of applications, including several word processors, the mental overhead of learning and remembering yet another unique styles interface is significant. Particularly since this one doesn’t have the payoff of real style sheets.

I implemented a simple workaround for the Mac’s lame style functionality that does 90% of what I want, and is set up to make it easy to do the rest in a word processor with real style sheets. It’s a group of boilerplate styles that work for practically anything, and are available in all my Cocoa text editing and word processing apps.

Scrivener 2’s new style interface means my styles are no longer automatically available inside Scrivener, and don’t update when I update Cocoa styles. Before I update, I want a workaround for that – a way to get those styles into Scrivener 2 that makes them available inside every project, old and new. Back to the user manual… Suggestions welcome…

Hi Joy,

As a power user, why don’t you use the keyboard shortcuts for the controls in the formatting bar? Composition mode is generally meant to be clutter-free and for writing rather than formatting, and bold, italics and underline are quickly available from the keyboard shortcuts - you are, in fact, the first person ever to ask for the formatting bar in composition mode.

I’m afraid I can’t think of a good way of accessing the standard OS X styles system in 2.0 - we replaced the system with something we believe is better, although still not a full styles system (that’s something on the “possibles” list for 3.0, although it’s still unlikely to work like a word processor’s style sheets), as most users hated the default OS X “styles”. We’ve even dropped the name “styles” seeing as really, these are no such things, but are just formatting presets.

All the best,

Hi Keith,

I’m astounded. I use formats such as nested bulleted lists all the time. Of course in addition to writing with Scrivener, I also use it for things like to-do lists and project planning that involve writing but aren’t, strictly speaking, “writing projects.” Scrivener is an awesome tool, and so wonderfully powerful and flexible that I find all kinds of uses for it. :wink:

So if people don’t use the formatting bar in Composition Mode… why include the ruler? Are people really setting indents MANUALLY rather than via presets? ::bangs foreheard::

I use them all. That doesn’t get me access to head and subhead formats, bulleted or numbered lists, multiple levels of bullets, blockquote, etc. I have Cocoa styles set up for all of those things, which I can grab by pulling down a menu. And they’re in a particular order that makes it easy for me to figure out which style I want, and select it.

I could go out of Composition Mode to get access to the formatting controls, and then back into Composition Mode to write… but that kinda blows the point of Composition Mode, doncha think?

Me among them…

I haven’t worked with the new formatting presets enough to see the benefits over the OS X version. They seem similar, just with more top-level controls in the Scrivener version, and easier-to-read controls in the OS X version.

BTW it’s not clear from the Scrivener 2.2 documentation whether formatting presets are stored globally (available in any project once created) or by project (available only in the project where they were created, and any project using that as its template).

A full styles systems would be great! There definitely IS a learning curve to them, but once learned, they are SO powerful!

The two best I’ve used so far are the old WriteNow word processor for Mac Classic (which had superbly designed styles in the early-to-mid 90s, even including the ability to cascade attributes typeface, size, and ruler settings), and FrameMaker. CSS has even more powerful styling capability, but it’s not exactly the easiest interface to learn, LOL. You are so good at making complex functionality simple to understand and use, I can hardly wait to see what you come up with!

Meanwhile, since other users aren’t begging for style access in Composition Mode, I will see whether I can create a workaround using Typinator, another favorite power tool that interfaces quite nicely with Scrivener. :slight_smile:

As always, thank you for a great program! Scrivener rocks!

All the best,

The ruler is, in fact, built into the text view itself - that’s just how rulers work in OS X’s text system. So it comes along regardless.

All of these things are available via the menus, too, so don’t have to leave Composition mode if you really need access to these things. As I say, I don’t rule out adding the formatting bar to compose mode, but it’s not as trivial as it might seem because it wouldn’t look great against a black background, and in the composition window all of those controls would start way over on the left of the screen rather than directly above the text area.

They are stored globally, in a .plist file in ~/library/application support/scrivener.

It’s going to take a lot of thought, partly because in Scrivener you aren’t dealing with a single document as you are in a word processor, but with many documents, all of which will need updating, an most of which will be updated “behind the user’s back” as it were. This presents a number of problems, speed amongst them. Fortunately, Ioa has a lot of ideas on this score, and we’ve still got a bit of time to think about it.


All the best,

You are SO right. Especially since with Scrivener it’s easy to build an archive with hundreds or thousands of document in it. And tempting, inasmuch as it allows one to easily search all those documents. I have huge Scrivener data archives for that very reason.

The closest analog to the multi-document issue that I know of is FrameMaker’s Book File functionality. A Book File is somewhat analogous to Scrivener’s Binder – a place where you can add file icons, rearrange them, rename them, and apply various batch changes to them, without opening the documents individually. FrameMaker avoids the style update problem by ONLY updating style if either (a) the user updates the styles of an individual document, which changes styles only in that document, or (b) the user updates the styles of one or more documents via the book file.

The easiest way to update styles via the Book File to have a style template document, make changes there, import the style changes to one or more documents in the Book File, then click Update Book. The updater goes through every document in the Book File and updates the formatting, page numbers, cross references, index, and what have you – you get to choose. It’s very powerful functionality, and very fast. I have a 9 volumes of research notes, ranging from 40,000 to 180,000 words per volume, in one Book File, and even on an older Mac, FrameMaker can update all the formats, cross-references, index entries, etc. in under 3 minutes. Probably less – I haven’t timed it.

So one workaround for the speed issue is to have global styles, but update them only when the user asks you to.


All the best,

Hi Joy,

Thanks for that information, that’s very useful! We’ll bear this in mind later in the year when we come to start hashing out the design.

Thanks and all the best,

Hi Keith,

You’re welcome. Please contact me privately if I can help in any way. As you may have gathered by now, I am a style sheet geek and power user. :slight_smile:

For brainstorming and designing Scrivener style update features, I recommend also finding a machine that can run Classic and exploring the style sheet implementation in WriteNow 4 (or 3). WriteNow 3 was the earliest word processing program I know of to implement both paragraph styles and character styles. And they did it WELL. Not perfect, not as powerful as FrameMaker’s implementation, but incredibly well thought out and easy to learn.

One of my favorite features of WriteNow styles is that you can put the cursor at the beginning of the first instance of a style in a document, hold down Option, and any format changes you make only apply to text whose style matches the beginning of your selection. This makes it easy to change all boldfaced text to another font, and give it a unique color, for instance.

Another of my favorite WriteNow features is style dependency. This is an early version of cascading styles that long predates CSS.

Let’s start a WriteNow document with two styles for body text, Body and Header. You set Body as 12-point Galliard flush left (a.k.a. ragged right), then create some dependent styles, Body-Indent and Blockquote, with different ruler settings. Checkboxes let the dependent styles inherit various features from their parent style. So for instance if they inherit font but not font size, if you change Body to 14-point Georgia justified, all instances of Body-Indent and Blockquote will also change to Georgia, but stay 12-point and keep their ruler settings and alignment.

If you set up Body-Indent, Blockquote, Bulleted-1, Bulleted-2, Footnotes to all inherit their font from Body, changing Body’s font will update all the body text in the document – but not the heads and subheads.

Likewise you can set Header to Arial 20-point centered, then create dependent styles Subhead A (inherits font and size from Header, but is flush left and has space above) and Subhead B (inherits font, alignment, and spacing from Subhead A, but is 16-pt). Now if you change the font of Header to Papyrus, Header will be 20-point centered Papyrus, Subhead A will become flush left 20-point Papyrus, and Subhead B will become flush left 16-point Papyrus. But the body text will remain unchanged.

It would also be worth using FrameMaker’s style features, or having someone demo them for you. FrameMaker originated on UNIX, so the interface is extremely powerful but somewhat user-hostile. I like its features so much that it was my writing tool of choice for many years, until Scrivener came along.

My favorite feature of FrameMaker styles, other than the Book File updating I described earlier, is that you can define a set of style parameters, such as font and font size, then search and replace them – not just in a document, but in ALL of a Book File’s included documents sequentially. This allows easy style conversions when importing from another app.

Another cool feature is that if you apply unique formatting changes in FrameMaker without creating a style, such as turning a particular word green, when you go to update document or Book styles, FrameMaker will warn you that there are instances of non-standard styles, and give you the choice to keep them or override them when you update.

BTW I have only used FrameMaker on Classic. I was told several years ago that the new Linux version will run under OS X. (Adobe stopped supporting the Mac version when they bought Frame. :frowning: )

Most people these days have only been exposed to badly-done style sheets (Microsoft Word, whose style sheet implementation is a bug-ridden abomination) and fake “styles” like Cocoa’s that are only style presets, and don’t update. Word in particular has given styles a really bad name.

Which is too bad, because style sheets are one of the most powerful tools out there, and a huge time-saver and hassle-reducer for writers – as countless people who maintain websites and tweak their style sheets can attest.


All the best,

I feel I have to come in here and put in a good word for my favourite wordprocessor, Nisus Writer Pro. All of what you say can be done in NWP including search/replace for style parameters, though no doubt in a different implementation from FrameMaker. And Nisus Writer is based on the same text engine as Scrivener, though heavily modified by the Nisus team. Even so, there are those who still prefer the earlier “Nisus Writer Classic” for OS-9 or lower, which had some nifty tricks, which NWP can’t (yet?) emulate it seems.

I have a pipe-dream — though I don’t have the pipe to go with it — that it would be great if Keith could solve the style-sheet part by offering a “Scrivener Pro” for those that want it, using a licensed, embedded version of (part of) NWP for the text-engine part. As for the handling of updating the 1001 .rtf files that a project can consist of, I think Joy’s suggestion sounds good … only do it to the project as a whole or multiple selected documents when the user says “Do it!” … I’d certainly invest in such a Scrivener Pro.

Then there could be a Scrivener Lite/Express — whatever he’d like to call it — which continued to use his current text-engine and its modifications, for those for whom cascading styles are not a major issue.

Of course there is also Mellel, which has fully-fledged, though somewhat idiosyncratic, character and paragraph styles.