Styles in Scrivener

The philosophy of styles in Scrivener has become quite complex since the advent of Scrivener 3. I understand that the basic style is now “No Style” by name and by fact, and that you need to create and apply a (true) style only for paragraphs where you want to use a style different from “No Style”.

That’s fine (with a bit of effort). But what happens when you import a document from a word processor (Nisus Writer, Word, whatever)? In Scrivener, you see it with basically the same styles as the original document (font, font size, line spacing, etc.), but those styles are all called “No Style”. And two different documents with different original styles imported into Scrivener will have two different “No Style”.

Maybe I belong — as usual — to a minority, but I would like my documents in my Scrivener projects to look as much as possible the same. This is fairly hard to do, because in Scrivener 3 styles are not cross-project and cannot be easily shared among different projects. (As they were in Scrivener 2, where they were called “formatting presets”, if I remember. A bit hard to set, as they depended on TextEdit, but it worked.)

My solution has been to create an empty Scrivener project that contains only my favorite styles, keep it permanently on the Desktop (for ease of access), and whenever I need them, import those styles into my current Scrivener project.

Is there an easier way? Have I missed something important? I would not be surprised.

I just got the popup message that there is a new version of Scrivener (3.03) and was reading through the release notes. Then I ran across this:

That left me scratching my head in puzzlement. Word processors have a named default style, so why does L&L think that feature isn’t wanted or needed? It’s a bizarre attitude by the Scrivener team and antithetical to the rest of the industry. Everything has a style, so why not name it?

I’m thrilled Scrivener 3 added the ability to use named styles. I’ve set my Scrivener style names to match style names I’ve created in LibreOffice Write. I export from Scrivener to create a fresh .odt file, open it in Write, then import styles from a master .odt file. A quick Ctrl-A Ctrl-M and all the text is perfect. I need only apply (not create) a few page styles for the title page, forepart, and body. In about 30 seconds my document is ready to rock-n-roll. Before Scrivener 3 a full manuscript might take 20 to 30 minutes to find and apply my predefined styles. Naturally I use a default (or root) paragraph style.

Haven’t tried applying the upgrade yet. I assume it won’t be a showstopper, and that I’ll be able to set a style on my first paragraph then that style will carry forward every time I hit Return.

Anyway, my reaction to a bizarre design decision in Scrivener.

I think it’s perfectly logical that most of the text has a “default format” i.e. “no style”, set up in the overall Scrivener preferences or in the project preferences. You apply whatever “style” you want for it when you finally compile the whole thing to some external format, in the compile settings.

That Word, NWP and other wysiwyg layout-oriented word processors have styles for everything is equally logical because they produce the final output while writing, not afterwards when you are done writing.

Scrivener is not a word processor like Word or NWP, so why should Scrivener act like them? It would be equally logical to demand that Microsoft changes Word so it doesn’t have wysiwyg, include a Reseaerch section, etc, to make it a copy of Scrivener.

If you haven’t already, you might want to take a look at Section 15.6.1 of the Scrivener 3 manual, which discusses this very issue.

The difference between Scrivener and traditional word processors like Word is the Compile function, which is designed to allow you to output the same text to different formats, as needed. Compile operates on the assumption that the formatting in the editor is for the author’s own use and can be safely ignored in the output document unless a style has been explicitly assigned.


Right… And how I use Scrivener with my favorite word processor.

Except it is mighty nice to have a format name already attached to “generic” paragraphs. Of course I want my format name, so there’s no problem with what I’m doing now.

The whole “no style” business struck me as very odd.

There were no styles in Scrivener 2, so any styles in Scrivener 3 are bound to be a little more complex than nothing. :slight_smile:

It’s not really that difficult, though - just a little different from the way word processors work - and you already summarised it nicely:

  • Use styles for passages of text that are different from the main body text. (And even this is optional for most formats.)

What happens is this: if Scrivener already has those styles set up in its project, then the styles will be maintained. So, suppose you import a Word or Nisus file that has a “Block Quote” passage. Then, as long as your project has a “Block Style” set up, that passage will come in using the “Block Quote” style (and will look as block quotes are set up to look in the Scrivener project).

However, say the Word document has a “Citation” style set up and your Scrivener project does not; in that case, the citation text will come in as “No Style” and look as it did in the original document. This is because, when you import text into Scrivener, it will not import the list of styles in that document, but only the text. If that text uses styles that are also defined in the project, then it will use the styles in the project.

If you think about it, this is perfectly sensible: most Word documents have dozens of styles defined, and so your styles list in Scrivener could become massively cluttered if it was updated with every document you imported.

If you want the styles from a Word or Nisus document imported, go to Format > Style > Import Styles… and select the Word or Nisus file. This will bring in all the styles from that file. You can then import the file after that to have all styles maintained.

There’s no such thing as a different “No Style”. “No Style” is exactly that: the text has no style associated with it. As in a word processor, you can either use styles for formatting or you can use direct formatting - or a mix of both. You don’t need to use a style to make a section of text bigger or bold.

You can go to Scrivener > Preferences > Editing > Formatting and use “Set Style Defaults…” to set the styles of the current project as the default for new projects.

You can also set up a project template and choose to have the styles included and use that as the basis for future projects.

No, not everything has a style. This is the whole point. This isn’t how Scrivener works. Just because that’s how it works in word processors, does not mean it is the best solution for Scrivener. And having this option was really messing up Compile for a lot of users.

While in Word all text has a style, so that most text is “Normal” or “Body”, in Scrivener, most text really has no style associated. A style is a piece of metadata associated with a section of text. In Scrivener, it’s a unique identifier that lets the app know that all sections of text with such-and-such an identifier are, say, of the “Block Quote” style. The rest of the text - the “No Style” text - has no such metadata associated with it.

And this provides much more flexibility with Compile. Because here’s how Compile and styles work:

  • If you have text associated with a style and the Compile format has an override set for that style, then that style will use the formatting set by Compile’s override.
  • If you have text associated with a style and the Compile format has no override set for that style, then the style as defined in the project will be used for that chunk of text.

Now, suppose you want to switch between different Compile formats. Maybe you want to use the “Manuscript (Times)” format. This works by overriding text with no styles (“No Style”) to double-spacing, indented and so on.

Or maybe you want to use “Paperback”, which overrides “No Style” text to something like 1.2 spacing with first line head indents removed at the start of each section, and so on.

However, if you have a “Body” style set on all of your text, none of this is going to work - your “Body” style from your project is going to interfere with Compile and give you unexpected results. Scrivener would need to override the “Body” style (and know about the “Body” or “Normal” style) in each Compile format. But this would mean that everyone, all Scrivener users would be forced to use styles.

And that’s not how Scrivener works. Users of Scrivener 3 are just as free not to use styles as they were in Scrivener 2. Users who want to use styles can do. But they do work a little differently from in word processors. At the same time, they offer just as much - more - flexibility.

So, it’s not a bizarre design decision at all. Our mistake was to include that option in the first place - it was completely antithetical to how styles and Compile work in Scrivener.

All the best,

All this information is well and good.

However, in order to convert my word doc (created by scrivener->compile) to an amazon kindle doc, I have to have “MSWord Styles” applied to my entire document. I don’t want to have to re-do this every single time I re-compile (it’s non-trivial). The KPD converter requires that you use the MSWord “Default” Style.

So how do I set Scrivener up to apply an MSWord “Default” Style to my entire document during compile?

Scrivener will compile directly to both .mobi and PDF, which are the formats Amazon prefers. Why do you need to deal with Word at all?


Because I’m a Scrivener n00b who clearly didn’t do his research first. :cry:

So, I’ve done some research, and it appears that KDP services from Amazon now prefer Word docs.
After downloading the Kindle Create software, it only allows one type of file to be imported: Word docs.
For pdf it recommends converting it to a Word doc, and it looks like mobi is being slowly phased out.

“You can upload and convert your eBook manuscript file from several supported formats. For the best results, we recommend a Microsoft Word DOC/DOCX or a KPF file created with Kindle Create. Kindle Create helps you easily add professional formatting, table of contents, and images. As you prepare your eBook, consider whether your content should have a fixed or reflowable format.”

Under mobi it says:
"MOBI is a reflowable file format. We don’t allow fixed layout MOBI files. Also, MOBI (.prc) files created with the legacy program MobiPocket Creator are no longer supported. "

Under pdf it says:
"We accept PDF files, but they can contain embedded formatting and/or images that don’t convert well to eBooks. If you’d like to upload a PDF file for your book, preview it before you publish. If you see any issues or if your book doesn’t look the way you want it to, we recommend converting your PDF to a Word document and formatting it according to our Simplified eBook Formatting Guide. "

What are you actually trying to do? My information came from a different page on the Amazon site, so it’s clear that different Amazon tools have different requirements.

In any case, opening a document in Word will automatically apply the “Normal” style to otherwise unstyled text.


That’s obsoleting one specific tool (MobiPocket Creator), not the MOBI format in general. KDP won’t accept MOBI files created by that tool.

According to the URL you sent, KDP at this time allows direct upload of MOBI, ePub, RTF, HTML, DOC/DOCX, TXT, and PDF. If you have a PDF or DOC/DOCX file you ALSO have the option of running it through Kindle Create first and then uploading the result. This is not deprecating other formats and pushing towards DOC/DOCX.

Thanks for the replies and help! :smiley: I’m not complaining about Scrivener at all, btw, I love it and it has become the only writing tool I’ll ever use for my novel . 8)

When I compile my scrivener file for Word, and open it in word, my entire document has the style “No Style” as mentioned earlier in this thread. However, attempting to import that Word doc in Kindle Create causes an import error. I’ve found online that one of the reasons for this import error to occur is if you have not applied the Default Style for your Word doc.
So to answer your question, I wonder if it’s possible for Scrivener to apply Micrsoft’s Default Style to my Scrivener doc when compiling it.

As you suggested, I could try to bypass using Word Doc altogether. I’m messing around with other formats, but Amazon’s tools for converting to eBook have interesting limitations. This information is from the tools themselves, not one of amazon’s web pages.

Kindle Previewer 3: accepts : kpf, mobi, azw, epub, html, xhtml, opf, prc, azw3, azw8, doc, and docx
Kindle Create accepts only doc and docx.

I guess I don’t need to use Kindle Create if I already have a pdf file? but then I also can’t preview it. I’d have to convert my pdf to something else. Or compile for one of those other formats, which I’m trying.

If you open the document in Word, you can rename whatever styles it has to whatever you want.

Since Word itself does not use a “Default” style – it uses “Normal” for standard text – I’m not sure exactly what Kindle Create is expecting. But this is fundamentally an argument between Word and Kindle Create, not a Scrivener issue.


Move “No style” to bottom because it is more seldom used.
Annoying to pass by every time I need at style.

No, it makes sense at the top because it is the default and also affects both character and paragraph styles. “None” or the default setting always belongs at the top of menus.

If you are using the Style menu with such great regularity that having entries at the top constitutes UI fatigue—you might want to try adding a few shortcuts to your styles! Easiest approach:

  1. Use the Format ▸ Style ▸ Show Styles Panel menu command.

(Incidentally, not a bad thing to keep up alongside your project window if you find the menu difficult. You can just point and click as needed.)

  1. Right-click on a commonly used style and use the “Change Keyboard Shortcut” contextual submenu to give it a number.

I only use the menu for unusual styles. With nine available hotkeys, everything common is easily used, and the floating styles panel serves as a cheatsheet if I forget. But, when I do use the menu I use it in the most efficient manner I know of:

  1. ⇧⌘Y to pop up the style selection menu.
  2. Start typing in the name of the style I want, and when it is selected, punch the return key.

But even if you use the mouse here, chances are you will be moving the pointer up or across into the menu, and directly toward the entry you desire. You aren’t (a) moving the pointer and (b) very carefully clicking on a tiny button and then (c) having to pull the pointer down through “dud” entries you don’t use. You just go straight to it, from wherever the mouse is already.

At least in my case, this is hardly true. If anything it is probably the most often used command in that menu, as nearly every single instance of applying a style to text will at some point need to be toggled back off when I’m done typing in the words that belong to that style. So no matter which style command I use to start, I will end identically with applying “No Style” to get back to normal typing (I know you can toggle by using the original style’s shortcut, but I rather prefer how one behaviour has one command to remember, regardless of whatever current contextual styling is going on.)

Of course, I don’t use the menu for something so frequently used. I use the dedicated ⌥⌘0 shortcut.

Thank you. Very helpfull.