尋找最適合寫小說的工具 ——novelWriter#
#Omnivore
我喜歡寫小說,偶爾腦子裡蹦出來那麼一個靈感,在腦子裡就把他構思了個七七八八。於是就想著,要不?寫下來吧。
於是,便開始選擇稱手的兵器。
寫小說這件事,應該需要一件稱手的兵器。
相對於筆記軟體的百家爭鳴,寫作軟體相對來說就比較稀缺。嘗試了網上推薦較多的 Scrivener、Effie,以及相對用戶較少的 Writeathon。
用起來最舒服的就是 Scrivener,但在 win 平台上的中文體驗真的很差,並且對於非作家的我,寫小說只是自己的愛好,目前為止,並無收入,所以在選擇軟體的時候盡可能的選擇免費的軟體。
經過了各種尋找,發現了 novelWriter。
novelWriter 介紹#
novelWriter是一個開源軟體,Github 上 1.6k Star。使用 Python 的 PyQt5 構建,可用於 Windows、Mac、Linux 系統。
在 GitHub 上的介紹是這樣的。
novelWriter is an open source plain text editor designed for writing novels. It supports a minimal markdown-like syntax for formatting text. It is written with Python 3 (3.8+) and Qt 5 (5.10+) for cross-platform support.
novelWriter 是一個純文本編輯器,並沒有思維導圖,卡片視圖,也無法插入圖片,但對於寫故事,他是足夠的。正如 novelWriter 的名字,它更適合寫故事,或者說,它只適合寫故事(小說和非虛構的故事)。
文檔結構#
novelWriter 的根目錄下可以創建_小說、歸檔、情節、角色、位置、時間線、物品、條目和自定義_9 種類型。其中小說目錄可創建多個。
文檔類型可以分為兩類,小說文檔和筆記文檔,小說文檔寫小說主體,筆記文檔用於構建設定。
小說文檔只可以創建在小說目錄下,筆記文檔可以創建在包括小說文檔的所有目錄下。
每個根目錄下也可以創建文件夾進行組織和管理。
且兩種文檔類型可以相互轉換。
小說文檔#
novelWriter 採用最基本的 markdown 語法。每一個小說文檔都基於標題進行構建:
- 一級標題用於小說標題頁或者中間章;
- 二級標題構建小說章節;
- 三級標題構建場景;
- 四級標題構建場景中的不同部分。
小說編輯過程中可以每部分都新建一個文檔,也可以整本小說都寫在一個文檔中,寫完再根據標題進行拆分。
筆記文檔#
筆記文檔可以創建在任何類型的目錄下,進行小說的設定,備忘,大綱的撰寫。
編輯器#
文本格式#
novelWriter 使用簡單的 Markdown 語法及簡單的 Shortcode 語法:
- 標題
- 一級標題
#
- 二級標題
##
- 三級標題
###
- 四級標題
####
- 一級標題
- 加粗
**加粗文本**
[b]加粗文本[/b]
- 斜體
-
_斜體文本_
-
[i]斜體文本[/i]
-
- 刪除線
-
~~刪除~~
[s]刪除[/s]
-
- 下劃線
[u]下劃線[/u]
上標內容[sup]上標[/sup]
下標內容[sub]下標[/sub]
對齊和縮進#
在文檔文件中,默認文本將採用左對齊或兩端對齊。可以通過使用一組 '>>' 或 '<<' 符號,來指定特定段落的對齊方式,使用 '>' 和 '<' 符號,使段落從左右兩邊進行縮進。
這段文本是左對齊的。<<
>> 這段文本是右對齊的。
>> 這段文本是居中的。<<
> 這段段落從左邊距和右邊距都進行了縮進。這在您想要引用一大段文本時非常有用。<
評論與註釋#
概要評論可在表格試圖中顯示。
- 概要評論:
%Synopsis:
- 短評論:
%Short:
文本替換#
在小說編輯過程中使用<文本>
進行佔位,在轉換到閱讀視圖以及導出和預覽時可以根據項目設置中的替換規則進行替換。
小說組織#
視圖#
項目視圖為小說所有筆記與小說文檔進行構建的視圖。
大綱視圖在側邊欄顯示小說的大綱,只包含小說文檔。根據標題級別進行識別,一個文檔多個文檔都可識別。
在項目視圖和大綱視圖中,選中文檔在文檔樹底部的信息欄可以顯示該文檔的屬性信息。
表格視圖將小說大綱以及其標籤屬性通過表格的形式展現。顯示的屬性可以自定義。選中文檔可在底部顯示該文檔的具體屬性。
標籤和參考#
每篇文檔都可以使用@tag:標籤
給文檔添加標籤。
也可以使用特定語法為文檔添加參考屬性:
- 情節:
@plot:
- 角色:
- 視角角色:
@pov:
- 焦點角色:
@focus:
- 次要角色:
@char:
- 視角角色:
- 位置:
@location:
- 時間線:
@time:
- 物品:
@object:
- 條目:
@entity:
- 自定義:
@custom:
在所有頁面(小說文檔中,每個標題都可以理解為一個文檔)中都可以使用該種語法添加屬性,且會針對屬性類型進行建議。
注意,被關聯的文檔需要使用@tag:標籤內容
進行標籤定義。
在小說編輯過程中,鼠標放在屬性鏈接上,點擊跟隨標籤,可在側邊欄打開這篇文檔,進行參考。
狀態、活動狀態、重要性#
文檔樹中每一級名稱後分別為字數、活動狀態、狀態 \ 重要性。
活動狀態有兩種,活動與非活動。分別以方塊內的✔和❌顯示:
小說文檔可以設置狀態,可在文檔樹內切換和自定義,也可在項目設置中自定義。
筆記文檔可以設置重要性,類似於小說文檔的狀態設置。
其他#
導出#
在一本小說寫完可以進行構建導出,可自定義進行文檔過濾,進行預覽,並導出多種格式。
寫作統計#
現存問題#
由於漢字等 CJK 語言文字的特性,字數統計規則與英文等字母文字不同,漢字的字數統計並不是根據空格進行分割,所以在字數統計中,“字數” 是漢字的字符數,“單詞” 對於漢字的統計並無意義,可以忽略,針對這個問題,我在 GitHub 上也已經與開發者進行了探討,對於 CJK 文字的改進也納入規劃。
總結#
寫小說的重點永遠在寫,工具只是工具,本文章只是對於 novelWriter 的一個簡單的推薦和上手介紹,或許介紹的並不全面。是否選擇它,還需要看自己用著是否舒服,別被工具綁架,專心去創造故事。