Scrivener 3 to AO3 – expanded export format (with download link) P2
I hope you find this guide and the provided export format to download useful! To enable me to make more such resources, and make them available for everyone, please consider supporting me via KoFi! I love sharing my stuff freely and don't want to paywall anything, but I also have to eat – every contribution helps and is greatly appreciated!
Hello friends! This is a continuation of this post here, for people who use more complex formatting than just italics, and still want to export their fics into AO3 directly from Scrivener without losing that formatting.
Now, it should be said first that there are levels to this, and depending on what kind of formatting you are using, you'll need to go through more or fewer steps.
You only want italics and a horizontal rule between scenes (requires manual line-spacing by using empty lines in your draft)
You want all the above, as well as automatic line-spacing (without having to keep empty lines in your draft)
You want the above, as well as existing paragraph styles such as centered or right-aligned text and blockquotes
You want the above, as well as not predefined paragraph and character styles such as bold or underlined text and strikethrough
The first two can be achieved by following my previous post about this (or by downloading and importing my format – import instructions in the other post). The other two expand the same principle that is used to achieve 2, but are more "sensitive" to inconsistencies. This post here is going to provide the additional steps to achieve the paragraph and character style HTML formatting on compile. It will also include further explanations of certain steps where people often tripped up.
Let's go then. Follow this previous post up to the heading Assign Section Layouts, or download and import the provided .scrformat file that is linked there.
If you import the provided .scrformat file, and you have not deleted/renamed Scrivener's built in text styles, two paragraph styles (Centered Text and Block Quote) should already work for you! I recommend reading the explanation of how to set it up anyway though, in case you want to add a different paragraph style to the format at some point.
Existing (Paragraph) Styles
Alright, so in the last post, we went into the Styles tab of the Format Settings, added a new paragraph style (Regular Text), and defined the Paragraph prefix/suffix. Now, Regular Text wasn't based on any of the existing Project Paragraph Styles, which is also why it didn't matter what you called it. This matters now!
While you're still in the Styles tab, click again on the + in the top right corner to add a new paragraph style. However, unlike with Regular Text, this time you choose one of the existing Project Paragraph Styles and override it. (Don't worry about losing anything, you're in a plain text format anyway.)
This will create a Style with the same name as the Project Paragraph Style you chose. This is important, if they're not named the same it won't work. If you rename one, you have to rename the other as well.
Anyway, there are four fields again: Prefix/suffix and Paragraph prefix/suffix. Put the HTML code required for your desired style into the Prefix/suffix fields – e.g. the HTML code for block quotes is < blockquote > and < /blockquote >. For Paragraph prefix/suffix, put the same code as you did for Regular Text!
Why isn't the blockquote code the Paragraph prefix/suffix? Well, paragraph styles may span multiple paragraphs, right? You might have a whole letter in block quotes, which contains several line-breaks. We want the style to include all of it, and we want our line-breaks within the style to still function properly. Therefore, we still want every individual paragraph to be surrounded by the p and /p code, whereas the blockquote and /blockquote code should go at the very beginning and at the very end of the whole section in this style.
Prefix/suffix go where the style begins and ends. Paragraph prefix/suffix goes at the beginning and end of every paragraph within this style.
Based on this principle you can now add any paragraph (or character) styles you want that are already defined in Scrivener.
Important: In order for this to work, you need to actually apply these styles within your editor as well. So if you're wanting centered text, do not just hit the center-align button in your format bar! If you do it like that, the style of that paragraph will still be No Style, and it won't add the HTML code you just defined. Instead, select the style Centered Text from the project text styles to center your text.
This goes for all styles! If you want it to actually be applied on compile, it must also be applied in the editor. Makes sense I'd say.
New (Paragraph or Character) Styles
"But V, what if I want a style that isn't already defined in Scrivener?"
Yes, let's say you want right-aligned or bold text – but there's no preset Paragraph/Character style for that. The solution is simple enough: We'll define it then!
At the bottom of the drop-down menu for the text styles in the format bar, choose Show Styles Panel. This opens, you guessed it, the Styles Panel with all available styles in this project. To define a new style, format your paragraph as you want it in the editor (e.g. hit the right-align or bold button) and then click the little + at the bottom left in the Styles Panel. This will open a little window where you can define a new style.
Now, note here that you can choose which attributes are saved, which brings us to a quick explanation of Character vs Paragraph vs Paragraph+Character Styles.
Let's take three examples: Bold text, right-aligned text, and centered italic text (e.g. for a letter).
Bold text is a character style; all relevant attributes (i.e. the boldness of the font) work on a character level. You can make a single letter or word bold without affecting the rest of the paragraph – which is also how bold text is commonly used.
Right-aligned text is a paragraph style; all relevant attributes (i.e. the text alignment) work on a paragraph level. You cannot right-align a single word within a paragraph – it's the whole paragraph or nothing. The font itself is unaffected.
Centered italic text is a paragraph style with specific character attributes; the relevant attributes are on both paragraph and character level.
This distinction is mostly relevant when you're trying to define Character styles, or paragraph styles with specific character attributes. If you save all information on a paragraph style where there's no particular character attributes applied anyway, it'll turn into a normal paragraph style. For Character styles, however, this is important! Let's say you want to define Bold text – if you save all formatting, it'll always apply bold text to the whole paragraph rather than the specific word(s) you want.
Anyway, as you might've figured, you can now define all the styles your heart desires. Bold, strikethrough, underlined, specifically formatted block quotes – if you can achieve it with your editor, you can save it as a style.
"But V, that's just in my editor, I thought this was about the export format?"
Well, technically you already know how to apply the HTML code to these styles – the same way as for the preset styles. Go back to editing your export format, into the Styles tab of the Format Settings. Just like we selected Block Quote to override earlier, we can now also select any of the new styles we created in the project, e.g. Bold Text.
Again, you put the required HTML code for the respective style into the Prefix/suffix fields. Note that Character styles do not allow you to put anything into the Paragraph prefix/suffix fields! This is because the beginning and end of character styles are usually within one paragraph.
Assign Section Layouts
And here we are again, back with the previous post. In order for any of this to actually be applied, you need to assign your section layout to the section types you are exporting.
Since this step apparently caused some confusion for many people, I'll try to explain why we need to do this.
In your draft, you have different files and/or folders. Based on their structure, Scrivener assigns certain Section Types to those files; e.g. folders are Chapter Headings, files within folders are Scenes. When you compile your draft, each Section Type is assigned a specific layout within the compile format you're using. For example, if you compile a Paperback PDF (preset), the folders will create chapter headings based on the folder name, and the files will create the scenes containing the text in the file itself. [Details about this can be found in the Compile Tutorial, here.]
With Scrivener's preset export formats, these section layouts are already assigned. Since we made this format new, our section layouts are not already assigned – we gotta assign them ourselves.
When exporting for AO3, we generally don't need any headers. All that matters is that your Scenes have the Section Layout "Text Section" assigned to them. This is necessary to actually apply all this HTML formatting we defined.
And that's it!
Here's a link to download my updated format that you can import as explained in the first post. It includes the most common paragraph and character styles already added to the export format – note that you will still need to create the text styles for some of them if they are not Scrivener presets!
❗️IMPORTANT: After importing the format, you still have to assign the section layouts!!!
–––
A continuously updated Masterlist with all my Scrivener 3 tutorials can be found here.
Part 1 | Tutorial Masterlist | KoFi













