novel-writerで新聞寄稿

小説を含め、ほとんど全ての文章をVS Codeの小説執筆支援機能拡張 novel-writerで書くようになった。新聞の書評や、3月14日から始まった「どこから来たの?」も、VS Code + novel-writerで書いてGit + GitHubで管理している。

自分で作っておいてなんだが、novel-writerの縦書きプレビューはかなり出来がいい。段落ではなく行番号を表示し、ページ区切りも確認できるし、禁則処理も標準的な形で行われる。本紙の組版とほとんど同じ字切りを見ながら執筆できるので、文字が多過ぎたり少なすぎたりすることはなくなった。

最近はスクリーンショットのようにエディターの下に横中のプレビューを配置することにしている。1.7.1ではクリックした場所にカーソルを動かす機能も少し強化した。

新聞連載でPDFを出すタイミングも増えたので、PDFのフッターに「16文字25行」のように柱を追加することにした。本当はPDFにも罫線と行番号をつけるオプションが欲しいのだけど、そこまでは手が回らない。

本誌と同じ組版を確認しながら執筆することができるようになった

ストレスなく書けるようになったけど課題は多い。

縦書きプレビューの組版はかなり良くできているのだが、句読点をブロックの外に追い出す「ぶら下げ」はまだできない。Safariはぶら下げを行うcss「hanging-punctuation: allow-end」に対応しているけれど、VS CodeのWeb Viewではまだ動かない。利用できるようになったらぶら下げのオンオフスイッチも搭載する予定。最近はぶら下げをする媒体もそんなに多くないけどね。

PDF出力の方法

novel-writerを用いると、CSS組版ソフトウェアVivliostyleで縦書きのPDFを出力できます。

VivliostyleはVS Codeのターミナルで以下のコマンドを入力することでインストールできます。

npm install -g @vivliostyle/cli

エディターでテキストファイルを開いた状態でコマンドパレットからNovel: PDFプレビューを選ぶと、縦書きプレビューの書式でPDFを作成します。

VivliostyleはGoogleのWebブラウザーChromeの開発版である「Chromium」で縦書きレイアウトを作ります。初回起動のときは最新版のChromiumをダウンロードするために、少々時間がかかります。

しばらく待つとChromiumが起動し、A5用紙に縦書きレイアウトされた原稿が表示されます。

1行の文字数が少ない場合などには、段組で表示を行います

文字組みの様式は縦書きプレビューで設定する字数行数になりますが、日本語の表示機能がVS CodeのプレビューとVivliostyleでは異なるため、レイアウトは微妙に異なります。

VivliostyleのChromiumを開いたまま、原稿や行あたりの文字数やページあたりの行数を変更してPDF生成を行うと、レイアウトの変更はすぐに反映できます。

PDFを保存するときは、Novel:PDF出力を実行してください。プレビューしているものと同じPDFを保存します。

PDFの出力には少々時間がかかりますので、保存終了のダイアログが出るまでお待ちください。novel-writerで保存するPDFは右綴じになっていますので、Acrobatから見開き印刷することが可能です。

Mac OSの標準PreviewやiPad、iPhoneで見開き印刷を行うときは、印刷ダイアログのレイアウトを選び、ページ数を「2」に、レイアウト方向を右から左に設定することで、見開きの印刷が可能になります。

novel-writerのPDF出力は、著者自身の推敲や、テキストファイルで納品する原稿に添付する棒組み原稿を想定して開発しています。冊子を作る場合には、PDF出力時に保存するpublish.htmlに手を入れて、Vivliostyleで調整していくことをお勧めいたします。

小説Git 1:はじめに

このエントリーに続く一連の記事で、小説の執筆にGitを使う方法について、紹介します。

小説GitではGit対応エディタとしてMicrosoftのVisual Studio Code(VS Code)を用い、リモートレポジトリにはGitHubを使います。他のソフトウェアを使いたい方は、コマンド名などを読み替えてください。Gitのコマンドは可能な限り併記します。スクリーンショットはMac OS版を用いますが、WindowsでもLinuxでも同じように運用できるはずです。

小説をGitで管理し、差分表示に対応したエディタで編集すると、はじめてファイルを登録(コミットと呼びます)した瞬間から入稿に至るファイルの履歴を追いかけられるようになり、連載時に文字数や締め切りの関係で削除することになったエピソードにも簡単にアクセスできるようになります。

東京新聞掲載短編「裏庭の競技場」の執筆履歴
登録作業に名前をつけられるので、何を変更したのかすぐにわかります

また、日々の執筆でも、昨日、または先週からどのように原稿が変化したのかを確かめられるようにもなります。

東京新聞掲載短編:裏庭の競技場の再校と入稿の差分表示
変更のあった行と文字がハイライトされているのがわかる

数千人もの開発者が共同作業することを想定して作られたGitには、分岐したソースコードを評価しながら再統合する機能も搭載されています。今まで、プリントアウトにエンピツを入れていた編集者が分岐(ブランチと呼びます)した原稿に提案を書き込んで修正提案(プルリクエストと呼びます)を行えば、作者は一つ一つの提案を取り入れるか入れないか、すぐに決めることができます。エンピツの入った場所を探すために、マウスホイールを回して数十メートルにも及ぶWordファイルの中を彷徨う必要はなくなります。

技術文書では、すでにGitの管理機能を用いているものも少なくありませんしWebへの公開を前提としたインストラクションはたくさん書かれています。しかし、小説となると、実例を詳しく紹介した読み物はそれほど多くありません。

この記事が、執筆にGitを使おうと考えた方の背中を押せれば幸いです。

さて、どこから始めましょう……

コンテンツ一覧

  1. 小説Git 1:はじめに
  2. 小説Git 2:黒い画面でタタタターン
  3. 小説Git 3:VS Codeのインストールと最低限の設定
  4. 小説Git 4:Gitのインストール
  5. 小説Git 5: VS CodeのGit拡張機能