Skip to content

Latest commit

 

History

History
157 lines (112 loc) · 6.7 KB

write_export.rst

File metadata and controls

157 lines (112 loc) · 6.7 KB

Exporting Projects

The novelWriter project can be exported in various formats using the build tool available from Build Novel Project in the Tools menu, or by pressing F5.

Header Formatting

The titles for the five types of titles (the chapter headings come in a numbered and unnumbered version) of story structure can be formatted collectively in the build tool. This is done through a series of keyword–replace steps. They are all on the format %keyword%.

%title%

This keyword will always be replaced with the title text you put after the # characters in your document.

%ch%

This will be replaced by a chapter number. The number is incremented by one each time the build tool sees a new heading of level two in a document with layout Chapter. If the document has layout Unnumbered, the counter is not incremented. The latter is useful for for instance Prologue and Epilogue chapters. Adding an asterisk (*) in front of the title text of a level two heading will also disable the chapter counter for that heading.

%chw%

Behaves like %ch%, but the number is represented as a number word.

%chi%

Begaves like %ch%, but the number is represented as a lower case Roman number.

%chI%

Behaves like %ch%, but the number is represented as an upper case Roman number.

%sc%

This is the number counter equivalent for scenes. These are incremented each time a heading of level three is encountered, but reset to 1 each time a chapter is encountered. They can thus be used for counting scenes within a chapter.

%sca%

Behaves like %sc%, but the number is not reset to 1 for each chapter. Instead it runs from 1 from the beginning of the novel to produce an absolute scene count.

\\

This inserts a line break within the title.

Note

Header formatting only applies to novel documents. Headings in notes will be left as-is on export. However, heading levels 1 through 4 are converted to the correct heading level in the respective output formats.

Example

  • The format %title% just reproduces the title you set in the document.
  • The format Chapter %ch%: %title% produces something like "Chapter 1: My Chapter Title".
  • The format Scene %ch%.%sc% produces something like "Scene 1.2" for scene 2 in chapter 1.

Scene Separators

If you don't want any titles for your scenes (or for your sections if you have them), you can leave the formatting boxes empty. If so, an empty paragraph will be inserted between the scenes or sections instead.

Alternatively, if you want a separator between them, like the common * * *, you can enter the desired separator text in the formatting box. In fact, if the format is a piece of static text, it will always be treated as a separator.

File Selection

Which documents and notes are selected for export can be controlled from the options on the left side of the dialog window. The switch for Include novel files will select any document that isn't classified as a note. The switch for Include note files will select any document that is a note. This allows for exporting just the novel, just your notes, or both, as you see fit.

In addition, you can select to export the synopsis comments, regular comments, keywords, and even exclude the body text itself.

Tip

If you for instance want to export a document with an outline of the novel, you can enable keywords and synopsis export and disable body text, thus getting a document with each heading followed by the tags and references and the synopsis.

If you need to exclude specific documents from your exports, like draft documents or documents you want to take out of your manuscript, but don't want to delete, you can un-check the Include when building project option for each document in the project tree. An included document has a checkmark after the status icon in the Flags column. The Build Novel Project tool has a switch to ignore this flag if you need to collectively override these settings.

Export Formats

Currently, six formats are supported for exporting.

OpenDocument Format

This produces an open document .odt file. The document produced has very little formatting, and may require further editing afterwards. For a better formatted office document, you may get a better result by exporting to HTML and then importing that HTML document into your office word processor. They are generally good at importing HTML documents.

PDF Format

The PDF export is just a shortcut for print-to-file. For a better PDF result, you may instead want to export to HTML and use a word processor to convert the HTML document to PDF.

novelWriter HTML

The HTML export format writes a single .htm file with minimal style formatting. The exported HTML document is suitable for further processing by document conversion tools like Pandoc, for importing in word processors, or for printing from browser. It is generally the best formatted export option and supports all features of novelWriter since it is entirely generated by the application and doesn't depend on Qt library features.

novelWriter Markdown

This is simply a concatenation of the project documents selected by the filters. The documents are stacked together in the order they appear in the project tree, with comments, tags, etc. included if they are selected. This is a useful format for exporting the project for later import back into novelWriter.

Standard Markdown

If you have Qt 5.14 or higher, the option to export to plain markdown is available. This feature uses Qt's own markdown export feature.

Plain Text

The plain text export format writes a simple .txt file without any formatting at all.

Additional Export Options

In addition to the above document formats, the novelWriter HTML and Markdown formats can also be wrapped in a JSON file. These files will have a meta data entry and a body entry. For HTML, also the accompanying css styles are exported.

The text body is saved in a two-level list. The outer list contains one entry per exported document, in the order they appear in the project tree. Each document is then split up into a list as well, with one entry per paragraph it contains.

These files are mainly intended for scripted post-processing for those who want that option. A JSON file can be imported directly into a Python dict object or a PHP array, to mentions a few options.