Made another pass of editing of the entire documentation
This commit is contained in:
+28
-20
@@ -13,8 +13,9 @@ The novelWriter project can be exported in various formats using the build tool
|
||||
Header Formatting
|
||||
=================
|
||||
|
||||
The titles for the four levels of story structure can be formatted collectively in the export tool.
|
||||
This is done through a series of keyword–replace steps. They are all on the format ``%keyword%``.
|
||||
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 export 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
|
||||
@@ -52,6 +53,12 @@ This is done through a series of keyword–replace steps. They are all on the fo
|
||||
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 file.
|
||||
* 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.
|
||||
|
||||
|
||||
.. _a_export_scenes:
|
||||
|
||||
@@ -73,10 +80,8 @@ File Selection
|
||||
|
||||
Which files are selected for export can also be controlled from the options on the left side of the
|
||||
dialog window. The switch for :guilabel:`Include novel files` will select any file that isn't
|
||||
classified as a note. That is, files with layout "Book", "Page", "Partition", "Chapet",
|
||||
"Unnumbered", or "Scene". The switch for :guilabel:`Include note files` will select any file that is
|
||||
a note. That is, files with layout "Note". This is allows for exporting just the novel, just your
|
||||
notes, or both, as you see fit.
|
||||
classified as a note. The switch for :guilabel:`Include note files` will select any file that *is*
|
||||
a note. This is 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.
|
||||
@@ -87,10 +92,10 @@ exclude the body text itself.
|
||||
followed by the tags and references and the synopsis.
|
||||
|
||||
If you need to exclude specific files from your exports, like draft files or files you want to take
|
||||
out of your build, but don't want to delete, you can un-check the :guilabel:`Include when building
|
||||
project` option for each file in the project tree. An included file has a checkmark after the status
|
||||
icon in the :guilabel:`Flags` column. The :guilabel:`Build Novel Project` tool has a switch to
|
||||
ignore this flag if you need to collectively override these settings.
|
||||
out of your manuscript, but don't want to delete, you can un-check the :guilabel:`Include when
|
||||
building project` option for each file in the project tree. An included file has a checkmark after
|
||||
the status icon in the :guilabel:`Flags` column. The :guilabel:`Build Novel Project` tool has a
|
||||
switch to ignore this flag if you need to collectively override these settings.
|
||||
|
||||
|
||||
.. _a_export_formats:
|
||||
@@ -101,18 +106,21 @@ Export Formats
|
||||
Currently, six formats are supported for exporting.
|
||||
|
||||
OpenDocument Format
|
||||
This is 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 with exporting to HTML and the import that HTML document in your
|
||||
office word processor.
|
||||
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 with exporting to HTML and the import that HTML document into your office word
|
||||
processor. They are generally very good at importing HTML files.
|
||||
|
||||
PDF Format
|
||||
The PDF export is just a shortcut for print to file.
|
||||
The PDF export is just a shortcut for print to file. For a better PDF result, you may instead
|
||||
want to export 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 file is suitable for further processing by document conversion tools like Pandoc, for
|
||||
importing in word processors, or for printing from browser.
|
||||
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 geenrated by the
|
||||
application and doesn't depend on Qt library features.
|
||||
|
||||
novelWriter Markdown
|
||||
This is simply a concatenation of the files selected by the filters. The files in the project are
|
||||
@@ -121,8 +129,8 @@ novelWriter Markdown
|
||||
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.
|
||||
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.
|
||||
@@ -138,8 +146,8 @@ wrapped in a JSON file. The files will have a meta data entry and a body entry.
|
||||
accompanying css styles are exported.
|
||||
|
||||
The text body is saved in a two-level list. The outer list contains one entry per exported file, in
|
||||
the order they appear in the project tree. Each file is then split up into a lst as well, with one
|
||||
entry per line.
|
||||
the order they appear in the project tree. Each file is then split up into a list as well, with one
|
||||
entry per paragraph in the document.
|
||||
|
||||
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.
|
||||
|
||||
@@ -34,7 +34,12 @@ repository for robustness.
|
||||
|
||||
The plain text storage is suitable for version control software, and also well suited for file
|
||||
synchronisation tools. The core project structure is stored in a project XML file. Other meta data
|
||||
is primarily saved in JSON files.
|
||||
is primarily saved as JSON files.
|
||||
|
||||
Any operating system that can run Python 3 and has the Qt 5 libraries should be able to run
|
||||
novelWriter. It runs fine on Linux, Windows and macOS already, and users have tested it on other
|
||||
platforms too. Since novelWriter is still under development, it is easier to run it if you are
|
||||
already familiar with how to run Python applications on your platform.
|
||||
|
||||
**Useful Links**
|
||||
|
||||
|
||||
+82
-44
@@ -4,7 +4,8 @@
|
||||
User Interface
|
||||
***************
|
||||
|
||||
The user interface is kept as simple as possible to avoid distractions when writing.
|
||||
The user interface is kept as simple as possible to avoid distractions when writing. This page lists
|
||||
all the main GUI elements, and explains what they do.
|
||||
|
||||
.. _a_ui_tree:
|
||||
|
||||
@@ -16,12 +17,13 @@ project. It has four columns:
|
||||
|
||||
:guilabel:`Label`
|
||||
The first column shows the item icon and its label. The labels can be edited from the menu, or by
|
||||
pressing :kbd:`F2` or :kbd:`Ctrl`:kbd:`E`.
|
||||
pressing :kbd:`F2` or :kbd:`Ctrl`:kbd:`E`. The label is not the same as the title you set inside
|
||||
the document, but it will appear in the header above the document text itself.
|
||||
|
||||
:guilabel:`Words`
|
||||
The second column shows the word count of the file, or the sum of words in the child items if it
|
||||
is a folder. If the counts seem incorrect, they can be updated by rebuilding the project index
|
||||
from the menu, or by pressing :kbd:`F9`.
|
||||
from the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
|
||||
|
||||
:guilabel:`Inc`
|
||||
The third column indicates whether the file is included in the final project build or not. You
|
||||
@@ -31,13 +33,14 @@ project. It has four columns:
|
||||
:guilabel:`Flags`
|
||||
The fourth column shows various meta data flags for the item. The first is an icon indicating the
|
||||
importance or status of the file. These are colour coded status levels that you control and
|
||||
define. They can be changed in Project Settings. The first character after the icon indicates the
|
||||
class of the item, that is ``N`` for **Novel**, ``C`` for **Character**, etc (see
|
||||
:ref:`a_struct_tags`. The second character indicates the file layout type (see
|
||||
:ref:`a_proj_roots`).
|
||||
define yourself. They can be changed in :guilabel:`Project Settings` from the :guilabel:`Project`
|
||||
menu. The first character after the icon indicates the class of the item, that is ``N`` for
|
||||
**Novel**, ``C`` for **Character**, etc (see :ref:`a_struct_tags`. The second character indicates
|
||||
the file layout type (see :ref:`a_proj_roots`).
|
||||
|
||||
Below the project tree is a small details panel showing the full information of the currently
|
||||
selected item. This panel also includes the latest paragraph and character counts.
|
||||
Below the project tree you will find a small details panel showing the full information of the
|
||||
currently selected item. This panel also includes the latest paragraph and character counts in
|
||||
addition to the word count.
|
||||
|
||||
|
||||
.. _a_ui_edit:
|
||||
@@ -46,16 +49,16 @@ Editing and Viewing Documents
|
||||
=============================
|
||||
|
||||
To edit a document, double-click the file in the project tree, or press the :kbd:`Return` key while
|
||||
having it selected. This will open the document in the document editor. The editor uses a simplified
|
||||
having it selected. This will open the file in the document editor. The editor uses a simplified
|
||||
markdown format. The format is described in the :ref:`a_ui_md` section below. The editor has a
|
||||
maximise button (activates :guilabel:`Focus Mode`) and a close button in the top-right corner.
|
||||
|
||||
Any document in the project tree can also be viewed in parallel in a right hand side document viewer
|
||||
To view a document, press :kbd:`Ctrl`:kbd:`R`, or select :guilabel:`View Document` in the menu. The
|
||||
document viewed does not have to be the same document currently being edited. If you *are* viewing
|
||||
the same document though, pressing :kbd:`Ctrl`:kbd:`R` again will update the document with your
|
||||
document viewed does not have to be the same document currently being edited. However, If you *are*
|
||||
viewing the same document, pressing :kbd:`Ctrl`:kbd:`R` again will update the document with your
|
||||
latest changes. You can also press the little reload button in the top-right corner of the view
|
||||
panel next to the close button.
|
||||
panel next to the close button to achieve the same thing.
|
||||
|
||||
Both the document editor and viewer will show the label of the document in the header at the top of
|
||||
the edit or view panel. Optionally, the full project path to the file can be shown. This can be set
|
||||
@@ -68,15 +71,38 @@ and pressing :kbd:`Ctrl`:kbd:`Return`. In the viewer, the references become clic
|
||||
Clicking them will replace the content of the viewer with the content of the document the reference
|
||||
points to.
|
||||
|
||||
At the bottom of the viewer's panel there is a :guilabel:`References` panel (click the icon if it is
|
||||
hidden) that will show links to all documents referring back to it. The :guilabel:`Sticky` button
|
||||
will freeze the content of the panel to the current document, even if you navigate to another
|
||||
document. This is convenient if you want to quickly look through all documents in the list.
|
||||
At the bottom of the view panel there is a :guilabel:`References` panel. (If it is hidden, click the
|
||||
icon to reveal it.) This panel will show links to all documents referring back to it, if any has
|
||||
been defined. The :guilabel:`Sticky` button will freeze the content of the panel to the current
|
||||
document, even if you navigate to another document. This is convenient if you want to quickly look
|
||||
through all documents in the list in the :guilabel:`References` panel.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`References` panel relies on an up-to-date index of the project. If anything is
|
||||
missing, or seems wrong, the index can always be rebuilt from :guilabel:`Tools` >
|
||||
:guilabel:`Rebuild Index` or by pressing :kbd:`F9`.
|
||||
missing, or seems wrong, the index can always be rebuilt by selecting :guilabel:`Rebuild Index`
|
||||
from the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
|
||||
|
||||
|
||||
.. _a_ui_edit_auto:
|
||||
|
||||
Auto-Replace as You Type
|
||||
========================
|
||||
|
||||
A few auto-replace features are supported by the editor. You can control every aspect of the
|
||||
auto-replace feature from :guilabel:`Preferences`.
|
||||
|
||||
.. tip::
|
||||
If you don't like auto-replacement, all symbols inserted by this feature are also available in
|
||||
the :guilabel:`Insert` menu, and via convenient :ref:`a_ui_shortcuts_ins`.
|
||||
|
||||
The editor is able to replace two and three hyphens with short and long dashes, triple points with
|
||||
ellipsis, and replace straight single and double quotes with user-defined quote symbols. It will
|
||||
also try to determine whether to use the opening or closing symbol, but this feature isn't always
|
||||
accurate.
|
||||
|
||||
.. tip::
|
||||
If the editor changes a symbol when you did not want it to change, pressing :kbd:`Ctrl`:kbd:`Z`
|
||||
immediately after the auto-replacement will undo it without undoing the character you typed.
|
||||
|
||||
|
||||
.. _a_ui_md:
|
||||
@@ -85,11 +111,11 @@ Markdown Format
|
||||
===============
|
||||
|
||||
The document editor uses a simplified markdown format. That is, it supports basic formatting like
|
||||
emphasis (italic), strong emphasis (bold) and strikethrough text, as well as four levels of
|
||||
emphasis (italic), strong importance (bold) and strikethrough text, as well as four levels of
|
||||
headings.
|
||||
|
||||
Some non-standard markdown features have been added. For instance, novelWriter allows for comments,
|
||||
a synopsis tag, and a set of keyword/value sets used for tags and references.
|
||||
a synopsis tag, and a set of keyword and value sets used for tags and references.
|
||||
|
||||
|
||||
.. _a_ui_md_head:
|
||||
@@ -102,20 +128,24 @@ fit, but for all other file layouts used for the novel text itself, they indicat
|
||||
level of the novel. See :ref:`a_struct_heads` for more details.
|
||||
|
||||
``# Title``
|
||||
Heading level one. The space after the # is mandatory. If the file is a novel file, the header
|
||||
level indicates the start of a new partition.
|
||||
Heading level one. If the file is a novel file, the header level indicates the start of a new
|
||||
partition. This heading level can also be used for the title page novel title.
|
||||
|
||||
``## Title``
|
||||
Heading level two. The space after the # is mandatory. If the file is a novel file, the header
|
||||
level indicates the start of a new chapter.
|
||||
Heading level two. If the file is a novel file, the header level indicates the start of a new
|
||||
chapter.
|
||||
|
||||
``### Title``
|
||||
Heading level three. The space after the # is mandatory. If the file is a novel file, the header
|
||||
level indicates the start of a new scene.
|
||||
Heading level three. If the file is a novel file, the header level indicates the start of a new
|
||||
scene.
|
||||
|
||||
``#### Title``
|
||||
Heading level four. The space after the # is mandatory. If the file is a novel file, the header
|
||||
level indicates the start of a new section.
|
||||
Heading level four. If the file is a novel file, the header level indicates the start of a new
|
||||
section.
|
||||
|
||||
.. note::
|
||||
The space after the ``#`` characters is mandatory. The syntaxhighlighter will change colour and
|
||||
font size when the heading is correctly formatted.
|
||||
|
||||
|
||||
.. _a_ui_md_emph:
|
||||
@@ -123,21 +153,23 @@ level of the novel. See :ref:`a_struct_heads` for more details.
|
||||
Text Emphasis
|
||||
-------------
|
||||
|
||||
In markdown it is often recommended to differentiate between strong emphasis and emphasis by using
|
||||
``**`` for strong emphasis and ``_`` for emphasis, although markdown generally supports also ``__``
|
||||
for strong emphasis and ``*`` fdr emphasis. However, since the differentiation makes the
|
||||
highlighting and conversion significantly simpler and faster, in novelWriter this is a rule, not
|
||||
just a recommendation. The following is therefore the only supported formatting syntax:
|
||||
A minimal set of text emphasis styles are supported.
|
||||
|
||||
``_text_``
|
||||
The text is rendered as emphasised text (italicised).
|
||||
|
||||
``**text**``
|
||||
The text is rendered as strongly emphasised text (bold).
|
||||
The text is rendered as strongly important text (bold).
|
||||
|
||||
``~~text~~``
|
||||
Strikethrough text.
|
||||
|
||||
In markdown guides it is often recommended to differentiate between strong importance and emphasis
|
||||
by using ``**`` for strong and ``_`` for emphasis, although markdown generally supports also ``__``
|
||||
for strong and ``*`` fdr emphasis. However, since the differentiation makes the highlighting and
|
||||
conversion significantly simpler and faster, in novelWriter this is a rule, not just a
|
||||
recommendation. The following is therefore the only supported formatting syntax:
|
||||
|
||||
There are also some additional rules:
|
||||
|
||||
1. The emphasis and strikethrough formatting tags do not allow spaces between the words and the tag
|
||||
@@ -157,7 +189,7 @@ Comments and Synopsis
|
||||
In addition to these standard markdown features, novelWriter also allows for comments in the text
|
||||
files. The text of the comment is ignored by the word counter and not exported or, optionally,
|
||||
hidden when viewing the document. If the first word of a comment is ``Synopsis:`` (with the colon),
|
||||
the comment is treated specially, and will show up in the :ref:`a_ui_outline`.
|
||||
the comment is treated specially, and will show up in the :ref:`a_ui_outline` in a dedicated column.
|
||||
|
||||
``% text...``
|
||||
A comment. The text is not exported by default (this can be overridden), seen in the Viewer, or
|
||||
@@ -175,9 +207,9 @@ the comment is treated specially, and will show up in the :ref:`a_ui_outline`.
|
||||
Tags and References
|
||||
-------------------
|
||||
|
||||
The document editor supports a minimal set of keywords used for setting tags and references between
|
||||
files. The tags and references can be set once per section defined by a heading. Using them multiple
|
||||
times under the same heading will just override the previous setting.
|
||||
The document editor supports a minimal set of keywords used for setting tags, and making references
|
||||
between files. The tags and references can be set once per section defined by a heading. Using them
|
||||
multiple times under the same heading will just override the previous setting.
|
||||
|
||||
``@keyword: value``
|
||||
A keyword argument followed by a value, or a comma separated list of values.
|
||||
@@ -190,8 +222,9 @@ The available tag and reference keywords are listed in the :ref:`a_struct_tags`
|
||||
Additional Markdown and Non-Standard Features
|
||||
---------------------------------------------
|
||||
|
||||
The Editor and Viewer also supports markdown standard hard line breaks, and preserves non-breaking
|
||||
spaces if running with Qt 5.9 or higher.
|
||||
The editor and viewer also supports markdown standard hard line breaks, and preserves non-breaking
|
||||
spaces if running with Qt 5.9 or higher. For older versions, the non-breaking spaces are lost when
|
||||
the file is saved. This is unfortunately hard-coded in the Qt text editor.
|
||||
|
||||
* A hard line break is achieved by leaving two or more spaces at the end of the line. Alternatively,
|
||||
the user can press :kbd:`Ctrl`:kbd:`K`, :kbd:`Return` to insert this.
|
||||
@@ -213,11 +246,16 @@ Project Outline View
|
||||
|
||||
The project's Outline view is available as the second tab on the right hand side of the main window
|
||||
labelled :guilabel:`Outline`. The outline provides an overview of the novel structure, displaying a
|
||||
tree hierarchy of the elements of the novel, that is, the level 1 to 4 headings.
|
||||
tree hierarchy of the elements of the novel, that is, the level 1 to 4 headings, not the files.
|
||||
|
||||
The document file containing the heading can also be displayed as a separate column, as well as the
|
||||
line number where it occurs. Double-clicking an entry will open the corresponding file in the
|
||||
editor.
|
||||
|
||||
.. note::
|
||||
Since the internal structure of the novel does not depend on the file structure of the project
|
||||
tree, these will not necessarily look the same. See the :ref:`a_struct` page for more details.
|
||||
tree, these will not necessarily look the same, depending how you chose to organise your files.
|
||||
See the :ref:`a_struct` page for more details.
|
||||
|
||||
Various meta data and information extracted from tags can be displayed in columns in the outline.
|
||||
A default set of such columns is visible, but you can turn on or off more columns by right clicking
|
||||
@@ -258,7 +296,7 @@ altering the colour of the word.
|
||||
Keyboard Shortcuts
|
||||
==================
|
||||
|
||||
Most features are available as keyboard shortcuts. These are as following:
|
||||
Most features are available as keyboard shortcuts. These are as follows:
|
||||
|
||||
.. csv-table:: Keyboard Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
@@ -5,20 +5,20 @@ Introduction
|
||||
************
|
||||
|
||||
novelWriter is a simple, multi-document plain text editor using a modified markdown syntax to apply
|
||||
simple formatting. It is designed for writing novels, and allow for the component documents to be
|
||||
ordered freely to create the desired structure of the novel project. This is covered on the
|
||||
:ref:`a_struct` page.
|
||||
simple formatting. It is designed for writing novels, and allows for the component documents to be
|
||||
ordered freely to create the desired structure of the novel. More details about how projects are
|
||||
structured is covered on the :ref:`a_struct` page.
|
||||
|
||||
In addition, the project can contain notes on the various plot elements, characters, locations, etc,
|
||||
that make up the story. These notes are organised in a set of category-specific folders, and each
|
||||
entry can be tagged and cross referenced from within the novel files and other notes. These tags
|
||||
make it possible to inter-link documents, and generate an overview of the entire novel project and
|
||||
how the various files and plot elements are interconnected. This is covered on the :ref:`a_proj` and
|
||||
:ref:`a_notes` pages.
|
||||
that make up the story. These notes are organised in a set of category-specific top-level folders,
|
||||
and each entry can be tagged and cross-referenced from within the novel files and other notes. These
|
||||
tags make it possible to inter-link documents, and generate an overview of the entire novel project
|
||||
and how the various files and plot elements are interconnected. This is covered on the :ref:`a_proj`
|
||||
and :ref:`a_notes` pages.
|
||||
|
||||
These additional features are not standard in markdown, but are available through special meta
|
||||
keywords. Syntax highlighting is provided to make it easier to verify that the markdown tags are
|
||||
used correctly. This is covered on the :ref:`a_ui` page.
|
||||
used correctly. The syntax is covered on the :ref:`a_ui` page.
|
||||
|
||||
|
||||
.. _a_intro_design:
|
||||
@@ -31,8 +31,8 @@ at the same time provide a complete set of features needed for writing a novel.
|
||||
|
||||
.. note::
|
||||
novelWriter is not intended to be a full office type word processor. It doesn't support images,
|
||||
links, tables, and its formatting is limited to headers, and bold, italicised and strikethrough
|
||||
text.
|
||||
links, tables, and other complex structure and objects often needed for such document. Formatting
|
||||
is limited to headers, and bold, italicised and strikethrough text.
|
||||
|
||||
The main window does not have a toolbar like most other applications do. This reduces clutter, and
|
||||
since the documents are formatted with markdown tags, is more or less redundant. However, all
|
||||
@@ -40,11 +40,14 @@ formatting features supported are available through convenient keyboard shortcut
|
||||
available in the main menu. A full list of shortcuts can be found in the :ref:`a_ui_shortcuts`
|
||||
section.
|
||||
|
||||
In addition, novelWriter offers a :guilabel:`Focus Mode` where all the user interface elements other
|
||||
than the document editor itself are hidden away.
|
||||
|
||||
The colour scheme of the user interface defaults to that of the host operating system. In addition,
|
||||
a dark theme is provided, and can be enabled in :guilabel:`Preferences` from the :guilabel:`Tools`
|
||||
menu. A number of syntax highlighting themes are also available in :guilabel:`Preferences`. A set of
|
||||
icon themes in colour and greyscale is also offered. The icons are based on the Typicon_ icon set by
|
||||
Stephen Hutchings.
|
||||
icon themes in colour and greyscale are also offered. The icons are based on the Typicon_ icon set
|
||||
designed by Stephen Hutchings.
|
||||
|
||||
The main window is split in two, or optionally three, panels. The left-most contains the project
|
||||
tree and all the files in your project. The second panel is the document editor, and the optional
|
||||
@@ -53,6 +56,7 @@ third panel is a document viewer which can view any document in your project.
|
||||
A second tab is also available on the main window. This is the :guilabel:`Outline` tab where the
|
||||
entire novel structure can be displayed, with all the tags and references listed. Depending on how
|
||||
you structure your novel project files, this outline can be quite different than your project tree.
|
||||
Your project tree lists files, your Outline tree lists the structure of the novel itself.
|
||||
|
||||
.. _Typicon: https://github.com/stephenhutchings/typicons.font
|
||||
|
||||
@@ -62,20 +66,21 @@ you structure your novel project files, this outline can be quite different than
|
||||
Project Layout
|
||||
==============
|
||||
|
||||
You are free to structure your project files as you wish in subfolders and split between files. All
|
||||
that matters to novelWriter is the linear order they appear in the project tree (top to bottom). The
|
||||
chapters, scenes and sections of the novel are determined by the headings within those files.
|
||||
You are free to structure your project files as you wish in subfolders, and split the text between
|
||||
files in whatever way suits you. All that matters to novelWriter is the linear order the files
|
||||
appear at in the project tree (top to bottom). The chapters, scenes and sections of the novel are
|
||||
determined by the headings within those files.
|
||||
|
||||
The four heading levels (**H1** to **H4**) are treated as follows:
|
||||
|
||||
* **H1** is used for the book title, and for partitions.
|
||||
* **H2** is used for chapter tiles.
|
||||
* **H3** is reserved for scene titles.
|
||||
* **H3** is used for scene titles – optionally replaced by separators.
|
||||
* **H4** is for section titles within scenes, if such granularity is needed.
|
||||
|
||||
This header level structure is only considered on novel files. For the files designated as project
|
||||
notes, the usage of headers imply no structural meaning, and the user is free to do whatever they
|
||||
want. See the :ref:`a_struct` page for more details.
|
||||
This header level structure is only taken into account for novel files. For the files designated as
|
||||
project notes, the header levels imply no structural meaning, and the user is free to do whatever
|
||||
they want. See the :ref:`a_struct` page for more details.
|
||||
|
||||
|
||||
.. _a_intro_export:
|
||||
@@ -89,11 +94,16 @@ markdown (requires Qt 5.14), and to a basic Open Document.
|
||||
|
||||
In addition, printing and printing to PDF is also possible. The best supported export format is
|
||||
HTML, which can be imported or converted by a number of other tools like Pandoc, or simply imported
|
||||
into Libre Office and similar.
|
||||
into Libre Office Writer and similar word processors.
|
||||
|
||||
It is also possible to export the content of the project to a JSON file. This is useful if you want
|
||||
to write your own processing script in for instance Python as the entire novel can be read into a
|
||||
Python dictionary with a couple of lines of code. See the :ref:`a_export` page for more details.
|
||||
Python dictionary with a couple of lines of code.
|
||||
|
||||
A number of filter options can be applied to the produced document, allowing you to export a draft
|
||||
manuscript, a reference document of notes, an outline based on chapter and scene titles with a
|
||||
synopsis each, and so on. See the :ref:`a_export` page for more details on export features and
|
||||
formats.
|
||||
|
||||
|
||||
.. _a_intro_screenshots:
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
Supporting Files (Notes)
|
||||
************************
|
||||
|
||||
Supporting files, or notes, are any file stored in root folders that are not a part of the novel
|
||||
story itself. These files are intended for summaries and outlines of the various plot elements,
|
||||
characters, locations, and so on, of the novel.
|
||||
novelWriter doesn't have a database and compicated forms to fill in all details about plot elements,
|
||||
characters, and all sorts of additional information that isn't a part of the novel text itself.
|
||||
Instead, all such information is saved in notes. The relation between all these additional elements
|
||||
is extracted from these files by the project indexer based on the tags and references you set.
|
||||
|
||||
These files are not required, but making at least minimal files for each such plot element, and add
|
||||
a tag to them, makes it possible to use the :guilabel:`Outline` feature to see how each element
|
||||
@@ -21,8 +22,8 @@ Tags in Notes
|
||||
|
||||
Each new heading in a note file can have a tag associated with it. The format of a tag is
|
||||
``@tag: tagname``, where tagname is a unique identifier. Tags can then be referenced in the novel
|
||||
files, or other note files, and will show up in the outline view and in the back-reference panel
|
||||
when a document is being viewed.
|
||||
files, or cross-referenced in other note files, and will show up in the outline view and in the
|
||||
back-reference panel when a document is being viewed.
|
||||
|
||||
The syntax highlighter will alert the user that the keyword is correctly used and that the tag is
|
||||
allowed, that is, the tag is unique. Duplicate tags should be detected as long as the index is up
|
||||
@@ -34,10 +35,10 @@ there for the writer to use in whatever way they wish. Of course, the content of
|
||||
exported if you want to compile a single document of all your notes, or include them in an outline.
|
||||
|
||||
A note file can also reference other note files in the same way novel files do. When the note file
|
||||
is opened in the view pane, these become clickable links, making it easier to follow connections in
|
||||
is opened in the view panel, these become clickable links, making it easier to follow connections in
|
||||
the plot. Note files don't show up in the outline view though, so referencing between notes is only
|
||||
meaningful if you want to be able to click-navigate between them.
|
||||
|
||||
.. tip::
|
||||
If you cross-reference between notes as well, and export your project as an HTML file using the
|
||||
export tool, the cross-references also become clickable in the exported document.
|
||||
export tool, the cross-references become clickable in the exported document.
|
||||
|
||||
+66
-47
@@ -5,7 +5,7 @@ Novel Projects
|
||||
**************
|
||||
|
||||
A novelWriter project requires a dedicated folder for storing its files on the local file system.
|
||||
See the :ref:`a_tech` page for further details.
|
||||
See the :ref:`a_tech` page for further details on how files are organised.
|
||||
|
||||
A new project can be created from the :guilabel:`Project` menu by selecting :guilabel:`New Project`.
|
||||
A list of recently opened projects is maintained, and displayed in the :guilabel:`Open Project`
|
||||
@@ -23,64 +23,77 @@ Project Roots
|
||||
Projects are structured into a set of top level folders called *root folders*. They are visible in
|
||||
the project tree at the left side of the main window.
|
||||
|
||||
The core novel files go into a root folder of type "Novel". Other supporting files go into the other
|
||||
root folders. These other root folder types are intended for your notes on the various elements of
|
||||
your story. Using these is of course entirely optional.
|
||||
The core novel files go into a root folder of type :guilabel:`Novel`. Other supporting files go into
|
||||
the other root folders. These other root folder types are intended for your notes on the various
|
||||
elements of your story. Using these is of course entirely optional.
|
||||
|
||||
A new project will not have all of the root folders present, but you can add the ones you want from
|
||||
:guilabel:`Create Root Folder` in the :guilabel:`Project` menu.
|
||||
|
||||
The root folders are intended for the following use, but aside from the Novel folder, no
|
||||
The root folders are intended for the following use, but aside from the :guilabel:`Novel` folder, no
|
||||
restrictions are enforced by the application. You can use them however you want.
|
||||
|
||||
.. note::
|
||||
The root folders correspond to the categories of tags that can be used.
|
||||
See the :ref:`a_struct` page for further details.
|
||||
|
||||
Novel
|
||||
:guilabel:`Novel`
|
||||
This is the root folder of all text that goes into the final novel. This class of files have
|
||||
other rules and features than other files in the project. See the :ref:`a_struct` page for more
|
||||
details.
|
||||
|
||||
Plot
|
||||
:guilabel:`Plot`
|
||||
This is the root folder where main plots can be outlined. It is optional, but adding at least
|
||||
dummy files can be useful in order to tag plot elements for the Outline View. Tags in this folder
|
||||
dummy files can be useful in order to tag plot elements for the Outline view. Tags in this folder
|
||||
can be references using the ``@plot`` keyword.
|
||||
|
||||
Characters
|
||||
:guilabel:`Characters`
|
||||
Character files go in this root folder. These are especially important if one wants to use the
|
||||
Outline View to see which character appears where, and which part of the story is told from a
|
||||
Outline view to see which character appears where, and which part of the story is told from a
|
||||
specific character's point-of-view. Tags in this folder can be references using the ``@pov``
|
||||
keyword for point-of-view characters, or the ``@char`` keyword for other characters.
|
||||
|
||||
Locations
|
||||
:guilabel:`Locations`
|
||||
The locations folder is for various scene locations that you want to track. Tags in this folder
|
||||
can be references using the ``@location`` keyword.
|
||||
|
||||
Timeline
|
||||
:guilabel:`Timeline`
|
||||
If the story has multiple plot timelines or jumps in time within the same plot, this class of
|
||||
files can be used to track this. Tags in this folder can be references using the ``@time``
|
||||
keyword.
|
||||
|
||||
Objects
|
||||
:guilabel:`Objects`
|
||||
Important objects in the story, for instance important objects that change hands often, can be
|
||||
tracked here. Tags in this folder can be references using the ``@object`` keyword.
|
||||
|
||||
Entities
|
||||
:guilabel:`Entities`
|
||||
Does your plot have many powerful organisations or companies? Or other entities that are part of
|
||||
the plot? They can be organised here. Tags in this folder can be references using the ``@entity``
|
||||
keyword.
|
||||
|
||||
Custom
|
||||
:guilabel:`Custom`
|
||||
The custom root folder can be used for tracking anything else not covered by the above options.
|
||||
Tags in this folder can be references using the ``@custom`` keyword.
|
||||
|
||||
For more information about the tags listed, see :ref:`a_struct_tags`.
|
||||
The root folders correspond to the categories of tags that can be used to reference them. For more
|
||||
information about the tags listed, see :ref:`a_struct_tags`.
|
||||
|
||||
.. note::
|
||||
Deleted files will be moved into a special :guilabel`Trash` root folder. Files in the trash
|
||||
folder can then be deleted permanently, either individually, or by emptying the trash from the
|
||||
menu.
|
||||
.. tip::
|
||||
You can rename root folders to whatever you want. The first character in the :guilabel:`Flags`
|
||||
column will still indicate what type they are, and so will the icon if you are using one of the
|
||||
Typicons icon sets.
|
||||
|
||||
|
||||
.. _a_proj_roots_del:
|
||||
|
||||
Deleted Documents
|
||||
-----------------
|
||||
|
||||
Deleted document files will be moved into a special :guilabel:`Trash` root folder. Files in the
|
||||
trash folder can then be deleted permanently, either individually, or by emptying the trash from the
|
||||
menu.
|
||||
|
||||
Folders and root folders can only be deleted when they are empty. Recursive deletion is not
|
||||
supported.
|
||||
|
||||
A document file or a folder can be deleted from the :guilabel:`project` menu, or by pressing
|
||||
:kbd:`Ctrl`:kbd:`Del`.
|
||||
|
||||
|
||||
.. _a_proj_roots_orph:
|
||||
@@ -97,7 +110,7 @@ Files that are discovered in the project folder, but not in the project, will be
|
||||
project tree in a special :guilabel:`Orphaned Items` root folder next time the application is
|
||||
started. These orphaned files will not have most of the meta data preserved, although novelWriter
|
||||
will try to restore the file label it had in the project tree. Other information will have to be set
|
||||
again, and the files moved back to the correct location in the project.
|
||||
again, and the files moved back to the correct location in the project tree.
|
||||
|
||||
|
||||
.. _a_proj_roots_lock:
|
||||
@@ -107,18 +120,20 @@ Project Lockfile
|
||||
|
||||
To prevent orphaned files caused by file conflicts when novelWriter projects are synced with file
|
||||
synchronisation tools, a project lockfile is written to the project folder. If you try to open a
|
||||
project which has such a file, you will be presented with a warning, and some information about
|
||||
where else novelWriter thinks the project is also open.
|
||||
|
||||
You will be give the option to ignore this warning, and continue opening the project. However, if
|
||||
multiple instances are in fact editing the same project, you are likely to cause inconsistencies and
|
||||
create diverging project files, potentially resulting in loss of data and orphaned files.
|
||||
project which has such a file present, you will be presented with a warning, and some information
|
||||
about where else novelWriter thinks the project is also open. You will be give the option to ignore
|
||||
this warning, and continue opening the project.
|
||||
|
||||
.. note::
|
||||
If, for some reason, novelWriter crashes, the lock file may remain even if there are no other
|
||||
instances keeping the project open. In such a case it is safe to ignore the lock file warning
|
||||
when re-opening the project.
|
||||
|
||||
.. warning::
|
||||
If you choose to ignore the warning and continue opening the project, and multiple instances of
|
||||
the project are in fact open, you are likely to cause inconsistencies and create diverging
|
||||
project files, potentially resulting in loss of data and orphaned files.
|
||||
|
||||
|
||||
.. _a_proj_roots_dirs:
|
||||
|
||||
@@ -127,11 +142,10 @@ Using Folders in the Project Tree
|
||||
|
||||
Folders, aside from root folders, have no structural significance to the project. When novelWriter
|
||||
is processing the files in the novel, like for instance during export, these folders are ignored.
|
||||
Only the order of the text files themselves matter.
|
||||
Only the order of the document files themselves matter.
|
||||
|
||||
The folders are there purely as a way for the user to organise the files in meaningful sections and
|
||||
to be able to close them in the Project Tree when you're not working on those files, and thus reduce
|
||||
clutter.
|
||||
to be able to collapse and hide them in the project tree when you're not working on those files.
|
||||
|
||||
.. tip::
|
||||
You can use folders to sort your scene files into chapters. You will then need to add a chapter
|
||||
@@ -155,6 +169,7 @@ details.
|
||||
|
||||
You can also select whether the file is by default included when building the project. This setting
|
||||
can be overridden in the :guilabel:`Build Novel Project` tool if you wish to include them anyway.
|
||||
This is covered in the :ref:`a_export_files` section.
|
||||
|
||||
|
||||
.. _a_proj_files_counts:
|
||||
@@ -167,7 +182,8 @@ file defined by a header. The word count, and change of words in the current ses
|
||||
in the footer of any document open in the editor, and all stats are shown in the details panel below
|
||||
the project tree for any file selected.
|
||||
|
||||
The word counts are not updated in real time, but runs in the background every five seconds.
|
||||
The word counts are not updated in real time, but runs in the background every five seconds for as
|
||||
long as the document is being actively edited.
|
||||
|
||||
A total project word count is displayed in the status bar. The total count depends on the sum of the
|
||||
values in the project tree, which again depend on an up to date index. If the counts seem wrong, a
|
||||
@@ -187,16 +203,18 @@ The :guilabel:`Project Settings` can be accessed from the :guilabel:`Project` me
|
||||
Settings Tab
|
||||
------------
|
||||
|
||||
The Settings tab holds the project title and author settings.
|
||||
The :guilabel:`Settings` tab holds the project title and author settings.
|
||||
|
||||
Working Title can be set to a different title than the Book Title. The difference between them is
|
||||
simply that the Working Title is used for the GUI (main window title) and for generating the backup
|
||||
files. The intention is that the working title should remain unchanged throughput the project,
|
||||
otherwise the name of exported files and backup files may change too.
|
||||
The :guilabel:`Working Title` can be set to a different title than the :guilabel:`Book Title`. The
|
||||
difference between them is simply that the :guilabel:`Working Title` is used for the GUI (main
|
||||
window title) and for generating the backup files. The intention is that the :guilabel:`Working
|
||||
Title` should remain unchanged throughput the project, otherwise the name of exported files and
|
||||
backup files may change too.
|
||||
|
||||
The Book Title amd Book Authors settings are currently not used for anything, so setting then is
|
||||
just for the benefit of the author. Future, planned features will be using them, and they are
|
||||
exported on some export formats in the Build Novel Project tool.
|
||||
The :guilabel:`Book Title` and :guilabel:`Book Authors` settings are currently not used for
|
||||
anything, so setting then is just for the benefit of the author. Future, planned features will be
|
||||
using them, and they are exported on some export formats in the :guilabel:`Build Novel Project`
|
||||
tool.
|
||||
|
||||
|
||||
Details Tab
|
||||
@@ -207,8 +225,8 @@ project is saved, how may times it has been saved, how many folders and files it
|
||||
many words exist in the entire project.
|
||||
|
||||
|
||||
Status and Importance Tabs
|
||||
---------------------------
|
||||
Status and Importance Tabs
|
||||
--------------------------
|
||||
|
||||
Each file of type "Novel" can be given a status level, signified by a coloured icon and each file of
|
||||
the remaining types can be given an importance level. These are colour coded icons and labels that
|
||||
@@ -244,7 +262,7 @@ Backup
|
||||
======
|
||||
|
||||
An automatic backup system is built into novelWriter. In order to use it, a backup path to where the
|
||||
backup files are to be stored must to be provided in Preferences.
|
||||
backup files are to be stored must to be provided in :guilabel:`Preferences`.
|
||||
|
||||
Backups can be run automatically when a project is closed, which also implies it is run when the
|
||||
application is closed. Backups are date stamped zip files of the entire project folder, and are
|
||||
@@ -252,7 +270,8 @@ stored in a subfolder of the backup path with the same name as the project :guil
|
||||
set in :ref:`a_proj_settings`.
|
||||
|
||||
The backup feature, when configured, can also be run manually from the :guilabel:`Tools` menu.
|
||||
It is also possible to dissable automated backup for a given project in :guilabel:`Project Settings`.
|
||||
It is also possible to dissable automated backup for a given project in :guilabel:`Project
|
||||
Settings`.
|
||||
|
||||
.. note::
|
||||
For the backup to be able to run, the :guilabel:`Working Title` must be set in :guilabel:`Project
|
||||
|
||||
+17
-9
@@ -8,6 +8,10 @@ This is a brief guide to how you can get novelWriter running on your computer. T
|
||||
currently supported by the developer. Packages may also be available in other package managers, but
|
||||
those are not managed by me.
|
||||
|
||||
As novelWriter matures, more options for how to install it and get it running will be added. At the
|
||||
present time, the process is best suited for people used to work with Python projects from command
|
||||
line.
|
||||
|
||||
|
||||
.. _a_started_install:
|
||||
|
||||
@@ -60,6 +64,8 @@ The following Python packages are required to run novelWriter:
|
||||
* ``pyqt5``, needed for connecting with the Qt5 libraries.
|
||||
* ``lxml``, needed full XML support.
|
||||
|
||||
You can of course also install these packages from your operating system's package repository.
|
||||
|
||||
.. note::
|
||||
Sometimes the SVG graphics package for PyQt5 must be installed separately. It is usually called
|
||||
something like ``python3-pyqt5.qtsvg``.
|
||||
@@ -68,8 +74,9 @@ PyQt/Qt should be at least 5.2.1, but ideally 5.10 or higher for nearly all feat
|
||||
Exporting to standard Markdown, for instance, requires PyQt/Qt 5.14. Searching using regular
|
||||
expressions requires 5.3, and for full Unicode support, 5.13.
|
||||
|
||||
There are no known minimum for package ``lxml``, but the code was originally written with 4.2,
|
||||
which is therefore set as the minimum. It may work on lower versions. You have to test it.
|
||||
There are no known minimum version requirement for package ``lxml``, but the code was originally
|
||||
written with 4.2, which is therefore set as the minimum. It may work on lower versions. You have to
|
||||
test it.
|
||||
|
||||
The spell checking extension is optional, but recommended:
|
||||
|
||||
@@ -81,8 +88,8 @@ works fine.
|
||||
|
||||
.. _a_started_depend_docs:
|
||||
|
||||
Building Documentation
|
||||
----------------------
|
||||
Building the Documentation
|
||||
--------------------------
|
||||
|
||||
If you installed novelWriter from a package, the documentation should be included. If you're running
|
||||
novelWriter from the source code, a local copy of this documentation can be generated. It requires
|
||||
@@ -107,12 +114,13 @@ from the root source folder.
|
||||
|
||||
The setup script will copy the generated files into the ``nw/assets/help`` folder, and novelWriter
|
||||
will detect the presence of the files and redirect the menu help entry to open help locally instead
|
||||
of send the user to the website.
|
||||
of sending the user to the website. Pressing the :kbd:`F1` key will in any case try to open help
|
||||
locally first, then send you to the website as a fallback.
|
||||
|
||||
.. note::
|
||||
In order for the local version of help to work, the Qt Assistant must be installed on the local
|
||||
computer. If it isn't available, or novelWriter cannot find it, the help feature will fall back
|
||||
to redirecting to the website.
|
||||
to redirecting you to the documentation website.
|
||||
|
||||
|
||||
.. _a_started_running:
|
||||
@@ -136,7 +144,7 @@ encountered. To list all options, run:
|
||||
|
||||
python novelWriter.py --help
|
||||
|
||||
There are also a couple of install scripts in the assets folder which will assist in setting up
|
||||
There are also a couple of install scripts in the assets folder which will assist in setting up a
|
||||
launch icon and the novelWriter project file mimetype for Gnome desktops on Linux. Currently,
|
||||
there's one script for Debian and one for Ubuntu.
|
||||
|
||||
@@ -163,8 +171,8 @@ If successful, the executable will be in the "dist" folder.
|
||||
Additional Instructions for Windows
|
||||
-----------------------------------
|
||||
|
||||
If you don't have Python installed, you can download it from the python.org website.
|
||||
The installers for Windows are available at https://www.python.org/downloads/windows/
|
||||
If you don't have Python installed, you can download it from the python.org website. The installers
|
||||
for Windows are available at https://www.python.org/downloads/windows/
|
||||
|
||||
novelWriter should work with Python 3.6 or higher, and the executable installer is the easiest to
|
||||
install.
|
||||
|
||||
+96
-81
@@ -6,9 +6,8 @@ Novel Structure
|
||||
|
||||
This section covers the structure of a novel project.
|
||||
|
||||
.. note::
|
||||
This section concerns files under the Novel type root folder only. There are some restrictions
|
||||
and features that only applies to these type of files.
|
||||
This section concerns files under the Novel type root folder only. There are some restrictions
|
||||
and features that only applies to these type of files.
|
||||
|
||||
|
||||
.. _a_struct_heads:
|
||||
@@ -17,37 +16,39 @@ Importance of Headings
|
||||
======================
|
||||
|
||||
Subfolders under root folders have no impact on the structure of the novel itself. The structure is
|
||||
instead dictated by the heading level of the headers within the text files. Four levels of headings
|
||||
are supported, signified by the number of hashes preceding the title. See also the :ref:`a_ui_md`
|
||||
section.
|
||||
instead dictated by the heading level of the headers within the document files.
|
||||
|
||||
Four levels of headings are supported, signified by the number of hashes preceding the title. See
|
||||
also the :ref:`a_ui_md` section for more details about the markdown syntax.
|
||||
|
||||
.. note::
|
||||
The header levels are not only important when generating the exported novel file, but they are
|
||||
also used by the indexer when building the outline tree in the :guilabel:`Outline` tab. Each
|
||||
heading also starts a new region where new references to tags can be set.
|
||||
The header levels are not only important when generating the exported novel file, they are also
|
||||
used by the indexer when building the outline tree in the :guilabel:`Outline` tab. Each heading
|
||||
also starts a new region where new references to tags can be set.
|
||||
|
||||
The different header levels are interpreted as specific section types of the novel in the following
|
||||
way:
|
||||
|
||||
``# Header1``
|
||||
Header level 1 signifies that the text refers to either the novel title or the name of a top
|
||||
Header level one signifies that the text refers to either the novel title or the name of a top
|
||||
level partition when you want to split the manuscript up into books, parts, or acts.
|
||||
|
||||
``## Header2``
|
||||
Header level 2 signifies a chapter level partition. Each time you want to start a new chapter,
|
||||
you must add such a heading. If you chose to split your manuscript up into one file per scene,
|
||||
Header level two signifies a chapter level partition. Each time you want to start a new chapter,
|
||||
you must add such a heading. If you choose to split your manuscript up into one file per scene,
|
||||
you need a single chapeter file with just the heading. You can of course also add a synopsis and
|
||||
tags and references to the chapter file. If you want to open the chaper with a quote, this is
|
||||
reference keywords to the chapter file. If you want to open the chaper with a quote, this is
|
||||
also where you'd put the text for that.
|
||||
|
||||
``### Header3``
|
||||
Header level 3 signifies a scene level partition. The title itself can be replaced with a scene
|
||||
separator or just skipped entirely when you export your manuscript.
|
||||
Header level three signifies a scene level partition. The title itself can be replaced with a
|
||||
scene separator or just skipped entirely when you export your manuscript.
|
||||
|
||||
``#### Header4``
|
||||
Header level 4 signifies a sub-scene level partition (section). These can be useful if you want
|
||||
to change tag references mid-scene, like if you change the point of view character. You are free
|
||||
to use sections as you wish, and can filter the titles out of the final manuscript just like with
|
||||
Header level four signifies a sub-scene level partition, usually called just a section in the
|
||||
documentation und user interface. These can be useful if you want to change tag references
|
||||
mid-scene, like if you change the point-of-view character. You are free to use sections as you
|
||||
wish also in novel files, and can filter the titles out of the final manuscript just like with
|
||||
scene titles.
|
||||
|
||||
There are multiple options of how to process novel titles when exporting the manuscript. For
|
||||
@@ -60,53 +61,53 @@ a draft manuscript. See the :ref:`a_export` page for more details.
|
||||
Tag References
|
||||
==============
|
||||
|
||||
Each partition, indicated by a heading, can contain references to tags set in the supporting files
|
||||
of the project. The references are gathered by the indexer and used to generate the outline view on
|
||||
the :guilabel:`Outline` tab of how the different parts of the novel are connected.
|
||||
Each text section indicated by a heading of any level, can contain references to tags set in the
|
||||
supporting files of the project. The references are gathered by the indexer and used to generate the
|
||||
outline view on the :guilabel:`Outline` tab of how the different parts of the novel are connected.
|
||||
|
||||
References and tags are also clickable in the document editor and viewer, making it easy to navigate
|
||||
reference notes while writing.
|
||||
between reference notes while writing. Clicked links are always opened in the view panel.
|
||||
|
||||
References are set as keyword and a list of corresponding tags. The valid keywords are listed below.
|
||||
The format of a meta line is ``@keyword: value1, [value2] ... [valueN]``. All keywords allow
|
||||
multiple values.
|
||||
References are set as a keyword and a list of corresponding tags. The valid keywords are listed
|
||||
below. The format of a reference line is ``@keyword: value1, [value2] ... [valueN]``. All keywords
|
||||
allow multiple values.
|
||||
|
||||
``@pov``
|
||||
The point-of-view character for the current section. The target must be a note tag in the
|
||||
character type root folder.
|
||||
:guilabel:`Character` type root folder.
|
||||
|
||||
``@char``
|
||||
Other characters in the current section. The target must be a note tag in a character type root
|
||||
folder. This should not include the point-of-view character.
|
||||
Other characters in the current section. The target must be a note tag in a :guilabel:`Character`
|
||||
type root folder. This should not include the point-of-view character(s).
|
||||
|
||||
``@plot``
|
||||
The plot or subplot touched by the current section. The target must be a note tag in a plot type
|
||||
root folder.
|
||||
The plot or subplot advanced in the current section. The target must be a note tag in a
|
||||
:guilabel:`Plot` type root folder.
|
||||
|
||||
``@time``
|
||||
The timelines touched by the current section. The target must be a note tag in a timeline type
|
||||
root folder.
|
||||
The timelines touched by the current section. The target must be a note tag in a
|
||||
:guilabel:`Timeline` type root folder.
|
||||
|
||||
``@location``
|
||||
The location the current section takes place in. The target must be a note tag in a locations
|
||||
type root folder.
|
||||
The location the current section takes place in. The target must be a note tag in a
|
||||
:guilabel:`Locations` type root folder.
|
||||
|
||||
``@object``
|
||||
Objects present in the current section. The target must be a note tag in a object type root
|
||||
folder.
|
||||
Objects present in the current section. The target must be a note tag in an :guilabel:`Object`
|
||||
type root folder.
|
||||
|
||||
``@entity``
|
||||
Entities present in the current section. The target must be a note tag in an entities type root
|
||||
folder.
|
||||
Entities present in the current section. The target must be a note tag in an :guilabel:`Entities`
|
||||
type root folder.
|
||||
|
||||
``@custom``
|
||||
Custom references in the current section. The target must be a note tag in a custom type root
|
||||
folder.
|
||||
Custom references in the current section. The target must be a note tag in a :guilabel:`Custom`
|
||||
type root folder.
|
||||
|
||||
The syntax highlighter will alert the user that the tags and references are used correctly, and that
|
||||
the tags referenced exist.
|
||||
|
||||
The highlighter may be mistake if the index of defined tags is out of date. If so, press :kbd:`F9`
|
||||
The highlighter may be mistaken if the index of defined tags is out of date. If so, press :kbd:`F9`
|
||||
to regenerate it, or select :guilabel:`Rebuild Index` from the :guilabel:`Tools` menu. In general,
|
||||
the index for a file is regenerated when a file is saved, so this shouldn't normally be necessary.
|
||||
|
||||
@@ -122,18 +123,19 @@ and page breaks. The layout for each file is indicated as the last set of charac
|
||||
:guilabel:`Flags` column of the project tree.
|
||||
|
||||
Not all layout types are actually treated differently, but they also help to indicate what each file
|
||||
is for in your project. The "Book" layout is a generic novel file layout that in formatting is
|
||||
identical to "Chapter" and "Scene", but may help to indicate what files do in your project.
|
||||
is for in your project. The :guilabel:`Book` layout is a generic novel file layout that is formatted
|
||||
identically to :guilabel:`Chapter` and :guilabel:`Scene` layout files, but may help to indicate what
|
||||
files do in your project.
|
||||
|
||||
You can for instance lay out your project using Book files for each act, and then later split those
|
||||
into chapter or scene files by using the :guilabel:`Split Document` tool. Scenes can also be
|
||||
contained within chapter files, but you lose the drag and drop feature that comes with having them
|
||||
in separate files if you organise them this way.
|
||||
You can for instance lay out your project using :guilabel:`Book` files for each act, and then later
|
||||
split those into chapter or scene files by using the :guilabel:`Split Document` tool. Scenes can
|
||||
also be contained within :guilabel:`Chapter` type files, but you lose the drag and drop feature that
|
||||
comes with having them in separate files if you organise them this way.
|
||||
|
||||
Some layouts *do* have implications on how the project is exported. Files with layout "Title" and
|
||||
"Partition" have all headings and text centred, while the "Unnumbered" layout disables the automatic
|
||||
chapter numbering feature for everything contained within it. The latter is convenient for Prologue
|
||||
and Epilogue type chapters.
|
||||
Some layouts *do* have implications on how the project is exported. Files with layout
|
||||
:guilabel:`Title Page` and :guilabel:`Partition` have all headings and text centred, while the
|
||||
:guilabel:`Unnumbered` layout disables the automatic chapter numbering feature for everything
|
||||
contained within it. The latter is convenient for Prologue and Epilogue type chapters.
|
||||
|
||||
All of the above layout formats are only usable in the Novel root folder. Files that are not a part
|
||||
of the novel itself should have the Note layout. These files are not getting any special formatting,
|
||||
@@ -142,42 +144,55 @@ in the project, also in the Novel root folder.
|
||||
|
||||
Below is an overview of all available layout formats.
|
||||
|
||||
Title Page
|
||||
The title page layout. The title should be formatted as a heading level one. All text is automatically centred on exports.
|
||||
:guilabel:`Title Page`
|
||||
The title page layout. The title should be formatted as a heading level one. All text is
|
||||
automatically centred on exports.
|
||||
|
||||
Plain Page
|
||||
A plain page layout useful for instance for front matter pages. Heading levels are ignored for this layout format, and so are
|
||||
formatting options like Justify Text. The page is exported with a page break before it.
|
||||
:guilabel:`Plain Page`
|
||||
A plain page layout useful for instance for front matter pages. Heading levels are ignored for
|
||||
this layout format, and so are formatting options like :guilabel:`Justify Text`. The page is
|
||||
exported with a page break before it.
|
||||
|
||||
Book
|
||||
This is the generic novel file format that in principle can be used for all novel files. Since the internal structure of the
|
||||
novel is controlled by the heading levels, this file will produce the same result as a collection of Partition, Chapter and Scene
|
||||
type files. However, it does not provide the functionality of the Unnumbered layout format.
|
||||
:guilabel:`Book`
|
||||
This is the generic novel file format that in principle can be used for all novel files. Since
|
||||
the internal structure of the novel is controlled by the heading levels, this file will produce
|
||||
the same result as a collection of :guilabel:`Partition`, :guilabel:`Chapter` and
|
||||
:guilabel:`Scene` type files. However, it does not provide the functionality of the
|
||||
:guilabel:`Unnumbered` layout format.
|
||||
|
||||
Partition
|
||||
A partition can be used to split the novel into parts. Partition titles are indicated with a level one heading. You can also add
|
||||
text and meta data to the page. The Partition file layout will in addition force a page break before the heading, and centre all
|
||||
content on the page.
|
||||
:guilabel:`Partition`
|
||||
A partition can be used to split the novel into parts. Partition titles are indicated with a
|
||||
level one heading. You can also add text and meta data to the page. The :guilabel:`Partition`
|
||||
file layout will in addition force a page break before the heading, and centre all content on the
|
||||
page.
|
||||
|
||||
Chapter
|
||||
Signifies the start of a new chapter. If the text itself is contained in scene files, these files should only contain the title,
|
||||
comments, synopsis, and tag references for characters, plot, etc. The heading for chapters should be level two. If you need an
|
||||
opening text, like a quote or other leading text before the first scene, this is also where you'd want to add this text.
|
||||
:guilabel:`Chapter`
|
||||
Signifies the start of a new chapter. If the text itself is contained in scene files, these files
|
||||
should only contain the title, comments, synopsis, and tag references for characters, plot, etc.
|
||||
The heading for chapters should be level two. If you need an opening text, like a quote or other
|
||||
leading text before the first scene, this is also where you'd want to add this text.
|
||||
|
||||
Unnumbered
|
||||
Same as Chapter, but when exporting the files and automatic chapter numbering is enabled, this file will not receive a number.
|
||||
This makes the layout suitable for Prologue and Epilogue type chapters.
|
||||
:guilabel:`Unnumbered`
|
||||
Same as :guilabel:`Chapter`, but when exporting the files and automatic chapter numbering is
|
||||
enabled, this file will not increment the chapeter number. It also has a separate title
|
||||
formatting setting. This makes the layout suitable for Prologue and Epilogue type chapters.
|
||||
|
||||
Scene
|
||||
A scene file. This file should have a header of level three. Further sections can have headers of level four, but there are no
|
||||
file layout specifically for sections.
|
||||
:guilabel:`Scene`
|
||||
A scene file. This file should have a header of level three. Further sections can have headers
|
||||
of level four, but there are no file layout specifically for sections.
|
||||
|
||||
Note
|
||||
A generic file that is optionally ignored when the novel is exported. Use these files for descriptions of content in the
|
||||
supporting root folders. Note files can also be added to the Novel root folder if you need to insert notes there. Note file
|
||||
headers receive no formatting when building the project. They are always exported as-is.
|
||||
:guilabel:`Note`
|
||||
A generic file that is optionally ignored when the novel is exported. Use these files for
|
||||
descriptions of content in the supporting root folders. Note files can also be added to the Novel
|
||||
root folder if you need to insert notes there. Note file headers receive no special formatting
|
||||
when building the project. They are always exported as-is.
|
||||
|
||||
.. note::
|
||||
The layout granularity is entirely optional. In principle, you can write the entire novel in a single file with layout "Book".
|
||||
You can also have a single file per chapter if that suits you better. The :guilabel:`Outline` will show your structure of
|
||||
chapters and scenes regardless of how your files are organised.
|
||||
The layout granularity is entirely optional. In principle, you can write the entire novel in a
|
||||
single file with layout :guilabel:`Book`. You can also have a single file per chapter if that
|
||||
suits you better. The :guilabel:`Outline` will show your structure of chapters and scenes
|
||||
regardless of how your files are organised.
|
||||
|
||||
.. tip::
|
||||
You can always start writing with a coarse file layout with one or a few files, and then later
|
||||
use the split tool to automatically split the files into chapter and scene files.
|
||||
|
||||
@@ -12,7 +12,9 @@ How Data is Stored
|
||||
|
||||
All novelWriter files are written with utf-8 encoding. Since Python automatically converts Unix line
|
||||
endings to Windows line endings on Windows systems, novelWriter does not make any adaptations to the
|
||||
formatting on Windows systems. This is handled entirely by the Python standard library.
|
||||
formatting on Windows systems. This is handled entirely by the Python standard library. Python also
|
||||
handles this fairly well when working on the same files on both Windows and Unix-based operating
|
||||
systems.
|
||||
|
||||
|
||||
Main Project File
|
||||
@@ -32,8 +34,9 @@ this file backed up, either through the built-in backup tool, or your own backup
|
||||
extensions `.json` as JSON files are used to cache the index and various run-time settings and
|
||||
are generally large files that change often. You'd also want to exclude the ``cache`` folder.
|
||||
|
||||
The project XML file is indent-formatted, suitable for diff tools and version control, although a
|
||||
timesetamp is set in the meta section on line 2 each time the file is saved.
|
||||
The project XML file is indent-formatted, suitable for diff tools and version control since most of
|
||||
the file will stay static, although a timesetamp is set in the meta section on line 2 each time the
|
||||
file is saved.
|
||||
|
||||
|
||||
Project Documents
|
||||
@@ -47,6 +50,7 @@ and the file extension ``.nwd``.
|
||||
If you wish to find the physical location of a file in the project, you can either look it up in the
|
||||
project XML file, select :guilabel:`Show File Details` from the :guilabel:`Document` menu when
|
||||
having the document open, or look in one of the ``ToC`` files in the root of the project folder.
|
||||
The ``ToC`` files have a list of all document files in the project and where they are saved.
|
||||
|
||||
The reason for this cryptic file naming is to avoid issues with file naming conventions and
|
||||
restrictions on different operating systems, and also to have a file name that does not depend on
|
||||
@@ -56,13 +60,13 @@ file label, is only saved in the project XML file.
|
||||
Each document file contains a plain text version of the text from the editor. The file can in
|
||||
principle be edited in any text editor, and is suitable for diffing and version control if so
|
||||
desired. Just make sure the file remains in utf-8 encoding, otherwise unicode chatracters may become
|
||||
mangled when opened in novelWriter again.
|
||||
mangled when the file is opened in novelWriter again.
|
||||
|
||||
The first line of the file contains some meta data starting with the characters ``%%~``. This line
|
||||
is mainly there to restore some information if it is lost from the project file, and the information
|
||||
may be helpful if you do open the file in an external editor as it contains the file label as the
|
||||
last entry. The line can be deleted without any consequences to the rest of the content of the file,
|
||||
and will be added back next time the file is saved in novelWriter.
|
||||
and will be added back the next time the file is saved in novelWriter.
|
||||
|
||||
|
||||
The File Saving Process
|
||||
@@ -71,5 +75,8 @@ The File Saving Process
|
||||
When saving the project file, or any of the documents, the data is first saved to a temporary file.
|
||||
If successful, the old data file is removed, and the temporary file becomes the new file. This
|
||||
ensures that the previously saved data is only replaced when the new data has been successfully
|
||||
saved. For the project XML file, a ``.bak`` file is kept which will always contain the previous
|
||||
version of the file, although when auto-save is enabled, they may have the same content.
|
||||
saved.
|
||||
|
||||
For the project XML file, a ``.bak`` file is kept which will always contain the previous version of
|
||||
the file, although when auto-save is enabled, they may have the same content. If the opening of a
|
||||
project file fails, novelWriter will automatically try to open the ``.bak`` file instead.
|
||||
|
||||
Reference in New Issue
Block a user