Why doesn't Scrivener use proper Microsoft Word styles?

Am I the only person who feels that compiled documents from Scrivener are poorly formatted and difficult to work with?

I’ve tried exporting to Microsoft Word, PDF, Markdown, and HTML. In every case normal formatting conventions are ignored. The Microsoft Word document does not use heading styles or any styles but Normal that has formatting applied to it. In Markdown, paragraphs run together because the extra carriage return between paragraphs is not included.

When I look at the HTML page, it is a combination of multiple versions of HTML. Classes are defined but never used and used but never defined.

All in all this strikes me as extreme laziness on the part of the developers. I can’t believe you are not flooded with complaints.

While it is possible to go through any format of compiled document and fix the problems, I shouldn’t have to. When will this problem be fixed?

Are you using the Export command, or the Compile command?

Did you define Styles in the Scrivener project, either in the Editor or via the Compile command?

While writing, did you include the extra carriage return between paragraphs that Markdown expects?

The short answer to your question is that Scrivener has no way of knowing that you want any of those things unless you tell it.

1 Like

Are you sure about that? E.g. this

exports to Markdown just fine, as expected:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Without more information, I’m not going to speculate on what the OP might have done (or not done) to get the results they did.

@irenesmith13: In Markdown, paragraphs run together because the extra carriage return between paragraphs is not included.

Make sure to go into the General Options tab on the right side of the compile overview screen, and tick the Convert rich text to MultiMarkdown setting, unless you have composed the document using Markdown. I also highly recommend installing Pandoc and restarting Scrivener, as that will give you access to Pandoc’s DOCX conversion. It’s worth testing both that and ODT to see which will work best for your content, as they both have their pros and cons.

When I look at the HTML page, it is a combination of multiple versions of HTML. Classes are defined but never used and used but never defined.

I would never recommend using any word processor style program’s HTML output. It’s always going to be a mess given the broad differences between WYSIWYG style formatting and semantic markup. Plus you have to consider the target audience for it, where the expectation is copying the formatting as closely as possible without having to learn HTML/CSS.

If you need quality HTML though, use Markdown—either as a writing tool or using the conversion feature above.

The Microsoft Word document does not use heading styles or any styles but Normal that has formatting applied to it.

This one is a bit more peculiar, and it doesn’t have a really good solution. The short answer is that you can set up the compiler to produce a fully and properly styled document, and in many cases all of the components for doing so are essentially set up for you, they just aren’t enabled by default. The reason they are not is largely down to fundamental design decisions aimed toward flexibility being hamstrung by that flexibility into making it difficult to predict the proper outline order of heading styles.

Here’s a short post on how to set up styled output. I don’t think it goes into it there, but you can also easily add a body paragraph style where needed, using the same basic idea.

And again, Markdown is also a good solution for styled word processing output, particularly if you don’t care so much about formatting in Scrivener itself and are looking to apply a stylesheet in a word processor. I’d say which to use comes down more to what you prefer, in most cases. For myself I would always use Markdown because I enjoy using that to write with and never got along with rich text style controls. It’s just simpler, to me, to leave formatting for the document export phase and not worry one bit about it while writing.

1 Like

If you are talking about pre-fab or custom defined paragraph or character styles you have used in your Scriv project not resulting in defined styles in Word, then the thing to know is that carrying Style info (in addition to the styling of the text) into a resulting Word doc is a setting in the compile format you are using. If some compile format you want does not have that setting set, you can switch it on.

Also note, if you use defined Styles in Scriv with the same names as defined Styles in Word (and have styles preserved on compile), such ranges of text will take on the look of the style as defined in Word. This is an incredibly useful feature I rely on all the time.

I am sorry for the frustration you are having getting what you want to happen. There are answers to all these things and the good folks around here will help you find them. Hang in there!

-gr

That is certainly not the case. There is extreme flexibility in how the compiler works, and the “philosophy” is to give the user latitude. As an example directly addressing one of your perceived issues, during the V3 beta for macOS there was a lot of discussion about whether implementing heading and other style mappings should be automatic in DOCX output (I initially advocated it should by default), but the valid decision after much deliberation was that this introduced more limitations and potential problems for existing users (as AmberV alludes to above). There was nothing lazy about it. If Scrivener limited the routes of output flexibility, then you certainly would get a bunch of us complaining! The compiler has been designed so it can map styles and headings to DOCX (see AmberV’s post or also this thread); it can switch paragraph spacing for Markdown (§24.13 of the manual) , and you can get beautiful HTLM output (hint, use markdown)… Perhaps some more opinionated documentation how-tos about what the “best” route for each of these outputs would be helpful?

2 Likes

(As an aside, the screenshots have been restored in the thread linked to above.)

This sounds a lot like you are still using Scrivener 1 or 2.

The thing about Microsoft Word Styles — like those in Scrivener — can be defined by the user and set anything up. I have my own set of Scrivener styles that are copied from one project to the next.

The other problem is that Microsoft Styles are not “proper”. They may not have been user defined but someone somewhere in Redmond did define them to suit MS’s view of how documents should be marked up.

1 Like