Updated the remaining sections of the docs
This commit is contained in:
@@ -10,11 +10,11 @@ This section contains details of how novelWriter stores and handles the project
|
||||
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. Python also
|
||||
handles this fairly well when working on the same files on both Windows and Unix-based operating
|
||||
systems.
|
||||
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.
|
||||
Python also handles this fairly well when working on the same files on both Windows and Unix-based
|
||||
operating systems.
|
||||
|
||||
|
||||
Main Project File
|
||||
@@ -44,29 +44,31 @@ Project Documents
|
||||
|
||||
The project documents are saved in a folder in the main project folder named ``content``. Each
|
||||
document has a file handle taken from the first 13 characters of a SHA256 hash of the system time
|
||||
when the file was first created. The documents are saved with a filename assembled from this hash
|
||||
and the file extension ``.nwd``.
|
||||
when the document was first created. The documents are saved with a filename assembled from this
|
||||
hash 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 the ``ToC.txt`` file in the root of the project folder.
|
||||
If you wish to find the physical location of a document 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 the ``ToC.txt`` file in the root of the project folder.
|
||||
The ``ToC.txt`` file has 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
|
||||
what the user names the files, or changes it to. The file meta data in the tree view, except the
|
||||
file label, is only saved in the project XML file.
|
||||
what the user names the document within the project, or changes it to. The file meta data in the
|
||||
project tree is mainly saved in the project XML file, although some basic meta data is added to the
|
||||
header of each document 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 the file is opened in novelWriter again.
|
||||
desired. Just make sure the file remains in utf-8 encoding, otherwise unicode chatracters may
|
||||
become 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 the next time the file is saved in novelWriter.
|
||||
The first lines of the file may contain some meta data starting with the characters ``%%~``. These
|
||||
lines are 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
|
||||
document label and the document class and layout. The lines can be deleted without any consequences
|
||||
to the rest of the content of the file, and will be added back the next time the document is saved
|
||||
in novelWriter.
|
||||
|
||||
|
||||
The File Saving Process
|
||||
@@ -75,8 +77,9 @@ 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.
|
||||
saved to the storage medium.
|
||||
|
||||
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.
|
||||
For the project XML file, a ``.bak`` file is in addition 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.
|
||||
|
||||
@@ -23,12 +23,13 @@ a series of keyword–replace steps. They are all on the format ``%keyword%``.
|
||||
|
||||
``%ch%``
|
||||
This is 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 file with layout :guilabel:`Chapter`. If the file has layout
|
||||
:guilabel:`Unnumbered`, the counter is *not* incremented. The latter is useful for for instance
|
||||
Prologue and Epilogue chapters.
|
||||
sees a new heading of level two in a document with layout :guilabel:`Chapter`. If the document
|
||||
has layout :guilabel:`Unnumbered`, the counter is *not* incremented. The latter is useful for
|
||||
for instance Prologue and Epilogue chapters.
|
||||
|
||||
``%chw%``
|
||||
This is like ``%ch%``, but the number is expressed as a word like for instance "One", "Two", etc.
|
||||
This is like ``%ch%``, but the number is expressed as a word like for instance "One", "Two",
|
||||
etc.
|
||||
|
||||
``%chi%``
|
||||
This is also like ``%ch%``, but the number is represented as a lower case Roman number.
|
||||
@@ -49,7 +50,7 @@ a series of keyword–replace steps. They are all on the format ``%keyword%``.
|
||||
This inserts a line break within the title.
|
||||
|
||||
.. note::
|
||||
Header formatting only applies to novel files. Headings in note files will will be left as-is on
|
||||
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.
|
||||
|
||||
@@ -65,8 +66,8 @@ a series of keyword–replace steps. They are all on the format ``%keyword%``.
|
||||
Scene Separators
|
||||
================
|
||||
|
||||
If you don't want any titles for your scenes (and for your sections if you have them), you can leave
|
||||
the boxes empty, and an empty paragraph will be inserted between the scenes or sections instead.
|
||||
If you don't want any titles for your scenes (or for your sections if you have them), you can leave
|
||||
the 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 also enter
|
||||
that in the box. In fact, if the format is a piece of static text, it will always be treated as a
|
||||
@@ -78,10 +79,11 @@ separator.
|
||||
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. 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.
|
||||
Which document files are selected for export can be controlled from the options on the left side of
|
||||
the dialog window. The switch for :guilabel:`Include novel files` will select any document that
|
||||
isn't classified as a note. The switch for :guilabel:`Include note files` will select any document
|
||||
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.
|
||||
@@ -91,11 +93,12 @@ exclude the body text itself.
|
||||
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 files from your exports, like draft files or files you want to take
|
||||
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.
|
||||
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
|
||||
:guilabel:`Include when building project` option for each document in the project tree. An included
|
||||
document 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:
|
||||
@@ -107,26 +110,26 @@ 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 with exporting to HTML and then import that HTML document into your office word
|
||||
processor. They are generally very good at importing HTML files.
|
||||
and may require further editing afterwards. For a better formatted office document, you may get
|
||||
a better result with exporting to HTML and then import that HTML document into your office word
|
||||
processor. They are generally very 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 HTML, and use a word processor to convert the HTML document to PDF.
|
||||
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 file is suitable for further processing by document conversion tools like Pandoc, for
|
||||
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 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
|
||||
stacked together in the order they appear in the tree view, with comments, tags, etc. included if
|
||||
they are selected. This is a useful format for exporting the project for later import back into
|
||||
novelWriter.
|
||||
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
|
||||
@@ -142,7 +145,7 @@ Additional Export Options
|
||||
=========================
|
||||
|
||||
In addition to the above document formats, the novelWriter HTML and Markdown formats can also be
|
||||
wrapped in a JSON file. The files will have a meta data entry and a body entry. For HTML, also the
|
||||
wrapped in a JSON file. These files will have a meta data entry and a body entry. For HTML, also
|
||||
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
|
||||
|
||||
+21
-18
@@ -4,15 +4,16 @@
|
||||
Supporting Files (Notes)
|
||||
************************
|
||||
|
||||
novelWriter doesn't have a database and complicated 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.
|
||||
novelWriter doesn't have a database and complicated 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 documents 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 adding
|
||||
a tag to them, makes it possible to use the :guilabel:`Outline` feature to see how each element
|
||||
intersects with each section of the novel itself, and adds clickable cross-references between
|
||||
documents in the editor and viewer.
|
||||
These documents are not required, but making at least minimal files for each such plot element, and
|
||||
adding a tag to them, makes it possible to use the :guilabel:`Outline` feature to see how each
|
||||
element intersects with each section of the novel itself, and adds clickable cross-references
|
||||
between documents in the editor and viewer.
|
||||
|
||||
|
||||
.. _a_notes_tags:
|
||||
@@ -20,9 +21,9 @@ documents in the editor and viewer.
|
||||
Tags in Notes
|
||||
=============
|
||||
|
||||
Each new heading in a note file can have a tag associated with it. The format of a tag is
|
||||
Each new heading in a note 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 cross-referenced in other note files, and will show up in the outline view and in the
|
||||
documents, or cross-referenced in other notes, 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
|
||||
@@ -30,15 +31,17 @@ allowed, that is, the tag is unique. Duplicate tags should be detected as long a
|
||||
to date. An invalid tag should have a green wiggly line under it, and will not receive the syntax
|
||||
colour that valid tags do.
|
||||
|
||||
The tag is the only part of these files that the application uses. The rest of the file content is
|
||||
there for the writer to use in whatever way they wish. Of course, the content of the files can be
|
||||
exported if you want to compile a single document of all your notes, or include them in an outline.
|
||||
The tag is the only part of these notes that the application uses. The rest of the document content
|
||||
is there for the writer to use in whatever way they wish. Of course, the content of the documents
|
||||
can be 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 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
|
||||
A note can also reference other notes in the same way novel documents do. When the note is opened
|
||||
in the view panel, the references become clickable links, making it easier to follow connections in
|
||||
the plot. Notes 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 become clickable in the exported document.
|
||||
If you cross-reference between notes and export your project as an HTML document using the
|
||||
:guilabel:`Build Novel Project` tool, the cross-references become clickable in the exported
|
||||
HTML document as well.
|
||||
|
||||
@@ -8,9 +8,11 @@ A novelWriter project requires a dedicated folder for storing its files on the l
|
||||
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` dialog. A project can be removed from this list by selecting it and
|
||||
pressing the :kbd:`Del` key.
|
||||
:guilabel:`New Project`. This will open the :guilabel:`New Project Wizard` that will assist you in
|
||||
creating a barebone project suited to your needs.
|
||||
|
||||
A list of recently opened projects is maintained, and displayed in the :guilabel:`Open Project`
|
||||
dialog. A project can be removed from this list by selecting it and pressing the :kbd:`Del` key.
|
||||
|
||||
The project specific settings are available in :guilabel:`Project Settings` in the
|
||||
:guilabel:`Project` menu. See further details below in the :ref:`a_proj_settings` section.
|
||||
@@ -28,7 +30,7 @@ The core novel files go into a root folder of type :guilabel:`Novel`. Other supp
|
||||
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
|
||||
A new project may 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 :guilabel:`Novel` folder,
|
||||
@@ -65,8 +67,8 @@ no restrictions are enforced by the application. You can use them however you wa
|
||||
|
||||
: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.
|
||||
the plot? They can be organised here. Tags in this folder can be references using the
|
||||
``@entity`` keyword.
|
||||
|
||||
:guilabel:`Custom`
|
||||
The custom root folder can be used for tracking anything else not covered by the above options.
|
||||
@@ -91,7 +93,7 @@ trash folder can then be deleted permanently, either individually, or by emptyin
|
||||
the menu. Files in this folder are removed from the project index and cannot be referenced.
|
||||
|
||||
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
|
||||
supported. A document file or a folder can be deleted from the :guilabel:`Project` menu, or by
|
||||
pressing :kbd:`Ctrl`:kbd:`Del`.
|
||||
|
||||
|
||||
@@ -123,10 +125,11 @@ into the project if possible.
|
||||
|
||||
The discovered files are scanned for meta information that gives clues as to where the file may
|
||||
previously have been located in the project. The project loading routines will try to put them back
|
||||
as close as possible to this location if it still exists. Generally, it will be appended to the end
|
||||
of the folder where it previously was located. If that folder doesn't exist, it will try to add it
|
||||
to the correct root folder. If it cannot figure out which root folder is correct, the file will be
|
||||
added to the :guilabel:`Novel` root folder.
|
||||
as close as possible to this location, if it still exists. Generally, it will be appended to the
|
||||
end of the folder where it previously was located. If that folder doesn't exist, it will try to add
|
||||
it to the correct root folder. If it cannot figure out which root folder is correct, the file will
|
||||
be added to the :guilabel:`Novel` root folder. Only if the :guilabel:`Novel` folder is missing, it
|
||||
will give up.
|
||||
|
||||
If the title of the file can be recovered, the word "Recovered:" will be added as a prefix. If the
|
||||
title cannot be determined, the file will be named "Recovered File N" where N is a sequential
|
||||
@@ -138,11 +141,11 @@ number.
|
||||
Project Lockfile
|
||||
----------------
|
||||
|
||||
To prevent orphaned files caused by file conflicts when novelWriter projects are synced with file
|
||||
To prevent lost 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 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.
|
||||
this warning, and continue opening the project at your own risk.
|
||||
|
||||
.. note::
|
||||
If, for some reason, novelWriter crashes, the lock file may remain even if there are no other
|
||||
@@ -152,7 +155,8 @@ this warning, and continue 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.
|
||||
project files, potentially resulting in loss of data and orphaned files. You are not likely to
|
||||
lose any actual text unless both instances have the same document open in the editor,
|
||||
|
||||
|
||||
.. _a_proj_roots_dirs:
|
||||
@@ -178,18 +182,20 @@ Project Files
|
||||
=============
|
||||
|
||||
New document files can be created from the :guilabel:`Document` menu, or by pressing
|
||||
:kbd:`Ctrl`:kbd:`N` while in the Project Tree. This will create a new, empty file, and open the
|
||||
:kbd:`Ctrl`:kbd:`N` while in the project tree. This will create a new, empty file, and open the
|
||||
:guilabel:`:Item Settings` dialog where the filename and various other settings can be changed.
|
||||
This dialog can also be opened again later from either the :guilabel:`Project` menu, selecting
|
||||
:guilabel:`Edit Item`, or by pressing :kbd:`Ctrl`:kbd:`E` or :kbd:`F2` with the item selected.
|
||||
:guilabel:`Edit Project Item`, or by pressing :kbd:`Ctrl`:kbd:`E` or :kbd:`F2` with the item
|
||||
selected.
|
||||
|
||||
The layout of the file is also defined here. For Novel files, the full list of layout options are
|
||||
available. For non-Novel files, only "Note" is available. See :ref:`a_struct_layout` for more
|
||||
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.
|
||||
You can also select whether the document 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. You can also toggle the included
|
||||
state of a document from the right-click context menu.
|
||||
|
||||
|
||||
.. _a_proj_files_counts:
|
||||
@@ -197,10 +203,10 @@ This is covered in the :ref:`a_export_files` section.
|
||||
Word Counts
|
||||
-----------
|
||||
|
||||
A character, word and paragraph count is maintained for each file, as well as for each section of a
|
||||
file defined by a header. The word count, and change of words in the current session, is displayed
|
||||
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.
|
||||
A character, word and paragraph count is maintained for each document, as well as for each section
|
||||
of a document following a header. The word count, and change of words in the current session, is
|
||||
displayed 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 run in the background every five seconds for as
|
||||
long as the document is being actively edited.
|
||||
@@ -228,11 +234,11 @@ The :guilabel:`Settings` tab holds the project title and author settings.
|
||||
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
|
||||
Title` should remain unchanged throughout the project, otherwise the name of exported files and
|
||||
backup files may change too.
|
||||
|
||||
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
|
||||
anything, so setting then is just for the benefit of the author. Future, planned features may be
|
||||
using them, and they are exported on some export formats in the :guilabel:`Build Novel Project`
|
||||
tool.
|
||||
|
||||
@@ -254,7 +260,7 @@ that can be applied to each file.
|
||||
|
||||
These are purely there for the user's convenience, and you are not required to use them for any
|
||||
other feature to work. No other part of novelWriter accesses this information. The intention is to
|
||||
use these to indicate at what stage of completeion each novel file is, or how important the content
|
||||
use these to indicate at what stage of completion each novel file is, or how important the content
|
||||
of a note file is to the plot. You don't have to use them this way, that's just what they were
|
||||
intended for, but you can make them whatever you want.
|
||||
|
||||
@@ -270,6 +276,9 @@ A set of automatically replaced keywords can be added in this tab. The keywords
|
||||
will be replaced by the text in the right column when documents are opened in the viewer. They will
|
||||
also be applied to exports.
|
||||
|
||||
The auto-replace feature will replace text in angle brackets that are also in this list. The syntax
|
||||
highlighter will add an alternate colour to text marching the syntax.
|
||||
|
||||
.. note::
|
||||
A keyword cannot contain any spaces. The angle brackets are added by default, and when used in
|
||||
the text are a part of the keyword to be replaced. This is to ensure that parts of the text
|
||||
@@ -298,17 +307,18 @@ Settings`.
|
||||
:guilabel:`Project Settings`. This value is used to generate the folder name for the zip files.
|
||||
Without it, the backup will not run at all, but produce a warning message.
|
||||
|
||||
|
||||
.. _a_proj_stats:
|
||||
|
||||
Writing Statistics
|
||||
==================
|
||||
|
||||
When you work on your project, a log file records when you opened it, when you closed it, and how
|
||||
many words you added to your novel and note files during the session. You can view this file in the
|
||||
``meta`` folder in the directory where you saved your project. The file is named
|
||||
When you work on your project, a log file records when you opened it, when you closed it, and the
|
||||
latest total word counts of your novel and note files after the session. You can view this file in
|
||||
the ``meta`` folder in the directory where you saved your project. The file is named
|
||||
``sessionStats.log``.
|
||||
|
||||
A small tool to view the content of this file is available in the :guilabel:`Tools` menu under
|
||||
A tool to view the content of this file is available in the :guilabel:`Tools` menu under
|
||||
:guilabel:`Writing Statistics`. You can also launch it by pressing :kbd:`F6`.
|
||||
|
||||
The tool will show a list of all your sessions, and a set of filters to apply to it. You can also
|
||||
|
||||
@@ -6,8 +6,8 @@ Novel Structure
|
||||
|
||||
This section covers the structure of a novel project.
|
||||
|
||||
This section concerns files under the Novel type root folder only. There are some restrictions
|
||||
and features that only apply to these types of files.
|
||||
It concerns documents under the Novel type root folder only. There are some restrictions and
|
||||
features that only apply to these types of documents.
|
||||
|
||||
|
||||
.. _a_struct_heads:
|
||||
@@ -16,7 +16,7 @@ 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 document files.
|
||||
instead dictated by the heading level of the headers within the documents.
|
||||
|
||||
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.
|
||||
@@ -31,29 +31,31 @@ way:
|
||||
|
||||
``# Header1``
|
||||
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.
|
||||
level partition useful when you want to split the manuscript up into books, parts, or acts.
|
||||
|
||||
``## Header2``
|
||||
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 chapter file with just the heading. You can of course also add a synopsis and
|
||||
reference keywords to the chapter file. If you want to open the chapter with a quote, this is
|
||||
also where you'd put the text for that.
|
||||
you must add such a heading. If you choose to split your manuscript up into one document per
|
||||
scene, you need a single chapter document with just the heading. You can of course also add a
|
||||
synopsis and reference keywords to the chapter document. If you want to open the chapter with a
|
||||
quote or other introductory text that isn't part of a scene, this is also where you'd put that
|
||||
text.
|
||||
|
||||
``### Header3``
|
||||
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.
|
||||
Header level three signifies a scene level partition. You must provide a title text, but the
|
||||
title text can be replaced with a scene separator or just skipped entirely when you export your
|
||||
manuscript.
|
||||
|
||||
``#### Header4``
|
||||
Header level four signifies a sub-scene level partition, usually called just a section in the
|
||||
documentation and 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.
|
||||
wish, 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
|
||||
instance, chapter numbers can be applied automatically, and so can scene numbers if you want them in
|
||||
a draft manuscript. See the :ref:`a_export` page for more details.
|
||||
.. tip::
|
||||
There are multiple options of how to process novel titles when exporting the manuscript. For
|
||||
instance, chapter numbers can be applied automatically, and so can scene numbers if you want
|
||||
them in a draft manuscript. See the :ref:`a_export` page for more details.
|
||||
|
||||
|
||||
.. _a_struct_heads_unnum:
|
||||
@@ -61,11 +63,11 @@ a draft manuscript. See the :ref:`a_export` page for more details.
|
||||
Unnumbered Chapter Headings
|
||||
---------------------------
|
||||
|
||||
If you use file layout types for your files, the automatic numbering feature for your chapters is
|
||||
controlled by whether you use the :guilabel:`Chapter` or :guilabel:`Unnumbered` layout type for your
|
||||
file. However, if you have a different file layout where this isn't practical, you can also switch
|
||||
off chapter numbering for a chapter by making the first character of the chapter title an ``*``.
|
||||
Like so:
|
||||
If you use layout types for your documents, the automatic numbering feature for your chapters is
|
||||
controlled by whether you use the :guilabel:`Chapter` or :guilabel:`Unnumbered` layout type for
|
||||
your document. However, if you have a different document layout where this isn't practical, you can
|
||||
also switch off chapter numbering for a chapter by making the first character of the chapter title
|
||||
an ``*``. Like so:
|
||||
|
||||
``## *Unnumbered Chapter Title``
|
||||
|
||||
@@ -74,7 +76,8 @@ removed before inserted at the location of the ``%title%`` label. See the :ref:`
|
||||
more details.
|
||||
|
||||
.. note::
|
||||
If you need the first character of the title to be an actual asterisk, you must escape it: ``\*``.
|
||||
If you need the first character of the title to be an actual asterisk, you must escape it like
|
||||
so: ``\*``.
|
||||
|
||||
|
||||
.. _a_struct_tags:
|
||||
@@ -82,12 +85,13 @@ more details.
|
||||
Tag References
|
||||
==============
|
||||
|
||||
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.
|
||||
Each text partition indicated by a heading of any level, can contain references to tags set in the
|
||||
supporting documents 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
|
||||
between reference notes while writing. Clicked links are always opened in the view panel.
|
||||
References and tags are also clickable in the document editor and viewer, making it easy to
|
||||
navigate between reference notes while writing. Clicked links are always opened in the view panel.
|
||||
|
||||
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
|
||||
@@ -98,8 +102,8 @@ allow multiple values.
|
||||
:guilabel:`Character` type root folder.
|
||||
|
||||
``@char``
|
||||
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).
|
||||
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 advanced in the current section. The target must be a note tag in a
|
||||
@@ -118,50 +122,50 @@ allow multiple values.
|
||||
type root folder.
|
||||
|
||||
``@entity``
|
||||
Entities present in the current section. The target must be a note tag in an :guilabel:`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 :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 syntax highlighter will alert the user that the tags and references are used correctly, and
|
||||
that the tags referenced exist.
|
||||
|
||||
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.
|
||||
the index for a document is regenerated when it is saved, so this shouldn't normally be necessary.
|
||||
|
||||
|
||||
.. _a_struct_layout:
|
||||
|
||||
Novel File Layout
|
||||
=================
|
||||
Novel Document Layout
|
||||
=====================
|
||||
|
||||
All files in a novelWriter project can have a layout format set. These layouts are important when
|
||||
the project is exported as they indicate how to treat the content in terms of formatting, headings,
|
||||
and page breaks. The layout for each file is indicated as the last set of characters in the
|
||||
:guilabel:`Flags` column of the project tree.
|
||||
All documents in a novelWriter project can have a layout format set. These layouts are important
|
||||
when the project is exported as they indicate how to treat the content in terms of formatting,
|
||||
headings, and page breaks. The layout for each document is indicated as the last set of characters
|
||||
in the :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 :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.
|
||||
Not all layout types are actually treated differently, they also help to indicate what each
|
||||
document is for in your project. The :guilabel:`Book` layout is a generic novel document layout
|
||||
that is formatted identically to :guilabel:`Chapter` and :guilabel:`Scene` layout documents, but
|
||||
may help to indicate what each document does in your project.
|
||||
|
||||
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.
|
||||
You can for instance lay out your project using :guilabel:`Book` documents for each act, and then
|
||||
later split those into chapter or scene documents by using the :guilabel:`Split Document` tool.
|
||||
Scenes can also be contained within :guilabel:`Chapter` type documents, but you lose the drag and
|
||||
drop feature that comes with having them in separate documents if you organise them this way.
|
||||
|
||||
Some layouts *do* have implications on how the project is exported. Files with layout
|
||||
Some layouts *do* have implications on how the project is exported. Documents 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,
|
||||
and it is possible to collectively filter them out during export. Note files can be used anywhere
|
||||
in the project, also in the Novel root folder.
|
||||
The above layout formats are only usable in the Novel root folder. Documents that are not a part of
|
||||
the novel itself should have the Note layout. These documents are not getting any special
|
||||
formatting, and it is possible to collectively filter them out during export. Notes can be used
|
||||
anywhere in the project, also in the Novel root folder.
|
||||
|
||||
Below is an overview of all available layout formats.
|
||||
|
||||
@@ -175,45 +179,49 @@ Below is an overview of all available layout formats.
|
||||
exported with a page break before it.
|
||||
|
||||
: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.
|
||||
This is the generic novel format that in principle can be used for all novel documents. Since
|
||||
the internal structure of the novel is controlled by the heading levels, this layout will
|
||||
produce the same result as a collection of :guilabel:`Partition`, :guilabel:`Chapter` and
|
||||
:guilabel:`Scene` layout documents. However, it does not provide the functionality of the
|
||||
:guilabel:`Unnumbered` layout format by default, but this can still be achieved by prefixing the
|
||||
chapter title with a ``*``.
|
||||
|
||||
: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
|
||||
layout will in addition force a page break before the heading, and centre all content on the
|
||||
page.
|
||||
|
||||
: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.
|
||||
Signifies the start of a new chapter. If the text itself is contained in scene documents, these
|
||||
documents 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:`Unnumbered`
|
||||
Same as :guilabel:`Chapter`, but when exporting the files and automatic chapter numbering is
|
||||
enabled, this file will not increment the chapter number. It also has a separate title
|
||||
formatting setting. This makes the layout suitable for Prologue and Epilogue type chapters.
|
||||
Same as :guilabel:`Chapter`, but when exporting the documents and automatic chapter numbering is
|
||||
enabled, documents with this layout will not increment the chapter number. It also has a
|
||||
separate title formatting setting. This makes the layout suitable for Prologue and Epilogue type
|
||||
chapters.
|
||||
|
||||
: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.
|
||||
Used for scenes. This document should have a header of level three. Further sections can have
|
||||
headers of level four, but there are no layout specifically for sections.
|
||||
|
||||
: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.
|
||||
A generic document that is optionally ignored when the novel is exported. Use this layout for
|
||||
descriptions of content in the supporting root folders. Notes can also be added to the
|
||||
:guilabel:`Novel` root folder if you need to insert notes there. Note 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 :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.
|
||||
single document with layout :guilabel:`Book`. You can also have a single document per chapter if
|
||||
that suits you better. The :guilabel:`Outline` will show your structure of chapters and scenes
|
||||
regardless of how your documents 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.
|
||||
You can always start writing with a coarse layout with one or a few documents, and then later
|
||||
use the split tool to automatically split the documents into separate chapter and scene
|
||||
documents.
|
||||
|
||||
Reference in New Issue
Block a user