見出し画像

創作のお伴たち…お友達?

 タグ駆動執筆。タグ・ドリヴン・ライティング。

 というわけで公式タグ、#創作のマストアイテム に触発されて書いてみる。どうやらこれはUnity が提供しているものらしく、創作というのはゲームや映像を想定しているのかしら。実はUnity を使ってちょっとしたインスタレーションみたいなものは作ったことがあります。Unity+Kinectで自分が動くと映像に変化がある、みたいなやつ。インタラクディブ・アートですかね。

 しかしここではそんなものではなく、意図からはずれようとやはり私にとっての創作である「小説」について書く。小説を書く時のマストアイテムについて。

キーボード

 小説を書くと一言で言ってもそこには着想から推敲までいくつもの段階があって、それぞれでマストアイテムも異なる。まずは最も重要な(と書くと語弊があるな。重要なのは私の場合着想だけれど作業としてのメインというような意味として)「執筆」という工程で活躍するマストアイテム、キーボードを紹介したい。なぜなら、小説を書く時のマストアイテムと言われて真っ先に思い浮かんだのがキーボードだったから。

画像1

 Happy Hacking Keyboard Professional2 type-S という機種。わたしは無刻印の英語配列を使っている。ご覧のようにキーの数が少なく、60キーしかない。無刻印というのはキーそのものに字が印字されていない、という意味。ちなみにこのモデルは既に生産が終了していて、現在はBluetoothでも使えるHYBRIDというものに切り替わっている。

 このキーボードの良いところは、

・ 打鍵感が至福
・ ホームポジションから一切動かずにあらゆるキーを打てる

といった部分。特にキー配列が工夫されていて、たった60キーであらゆる特殊キーやファンクションキーなどもすべてホームポジションから一切動かずに入力できる、という無敵の性能を誇るため、これに慣れてしまうと他のキーボードに戻れない。

 ちなみに私が愛用しているのは無刻印というストイックな仕様だけれど、刻印のあるモデルも出ているし、日本語配列のモデルもあります。とはいえタッチタイピングをマスターしてしまえばどうせキーなんか見ないのだから刻印など無くても良いのだ。このキーボードならホームポジションから移動する必要がないから真っ暗闇でも打てるぞ!

エディタ

 もちろんキーボードだけあったってなにもできない。キーボードはコンピュータにつながり、コンピュータ上でアプリケーションを動かしてそれに対して原稿を入力するのだ。

 わたしは原稿を書くとき、テキストエディタを使用している。ワープロソフトは使わない。理由はシンプルで、イライラするからだ。ワープロソフトに搭載されたほとんどすべての機能に苛立ち、なにも書けなくなる。どうしてもワープロソフトのファイルフォーマットで納品してほしいと言われたらテキストで渡すからそっちで流し込んでくれ、と言うだろう。そのぐらいワープロソフトが嫌いだ。

 テキストを書くんだからテキストエディタが最適に決まっている。純粋にテキストのことだけを考えればいいからだ。しかもテキストファイルになっていればSCMと呼ばれるバージョン管理ソフトでバージョン管理できる。バイナリだって管理できるが複雑なマージをしたりすることができない。やはり原稿をワープロソフトで書くことには一つもメリットがない。

 愛用しているエディタはMicrosoft のVisual Studio Code。わたしが使っているのはInsider Edition という先行開発版だけれど、ここには安定板を紹介しておく。

 ちなみにInsider版はこちら。

 Insider版は次期バージョンに搭載される新機能がいち早く試せる。そのかわり安定する前にリリースされているのでバグがある可能性もある。わたしはとにかく新しいものが好きなので開発版を使っている。

 Visual Studio Code の良いところは

・オープンソースである
・マルチプラットフォームである(WindowsでもMacOSでもLinuxでも使える)
・シェルが統合されている(ちょっとだけ後述)

といった部分。以前どこかに書いたけれど、執筆前の各種設定やエピソード年表、プロットなどはMarkdown、本番の原稿はLaTeXで書いている。

LaTeX

 テキストエディタで原稿を書くと言っても、公募であれば縦書き何行何文字、のような指定がある。通常そういった原稿はワープロで書くのであろうけれど、わたしは前述のようにワープロソフトが大嫌いだ。そこで、LaTeXを使う。わたしが使っているのはTeX Liveというディストリビューションで、その中に入っているLuaLaTeX というものだ。

 以前どこかに書いたけれど、テキストエディタでLuaLaTeX 用の原稿を書き、LuaLaTeX を使用してそれを成形すると、目的の形式に合わせた文書を簡単に作ることができる。LaTeXというのはもともと版組を行うソフトウェアで、わたしはこれでPowerPoint風のスライドも、縦書きの小説も、横書きの論文みたいなものも、数式の入った文書も、なんでも作る。ワープロでできることはほとんどできるし、ワープロではできないこともできる。おまけにLaTeX用のファイルはテキストデータなのでバージョン管理もできる。

 最初のとっつきにくさを除いて、これを使わない理由は一つもない。しかしとっつきにくさは間違いなくあって、とくにこういう構造化テキストのようなもの(いわゆるマークアップ言語)に慣れていない人がいきなり習得するのはハードルが高いかもしれない。

 ちなみにこんなような原稿をテキストエディタで書くと、

画像2

 このようになります。

画像3

 これはnote で公開した「サイカイカフェ」第一話の冒頭部分。note版はこちら

 LaTex の良いところは

・ オープンソースである
・ 原稿がバージョン管理できる
・ 成形されたものの仕上がりがとても美しい
・ 原稿をいじらないままでの版型変更をしやすい

といったあたり。ただ、公募のWeb受付などで、PDF形式を受け付けていないものには出すことができない。郵送を受け付けていれば印刷して送れば良いのだけれど、Web限定でPDF非対応だとそのコンテストへの参戦自体をあきらめることになる。この点がこれまで使っていて一番大きなデメリットだ。最近はPDFも受け付けてくれるところが増えたので、今後このデメリットは解消されていくとは思う。(なお、わたしはワープロの形式しか認めないコンテストには応募しない、という姿勢。そのぐらい意地でもワープロは使いたくない)

Mercurial

 いわゆるSCM(Software Configuration management)ソフトウェア。Git やSubversion が有名で、「バージョン管理」という訳語で呼ばれることが多い。プログラムの開発などをしている人は日常的に使っているもので、github というGit の仕組みを拡張したオンラインの開発コミュニティも有名。オープンソースのソフトウェア開発はほとんどがgithub 上で行われている。github 上でないものでも、何らかのSCMは必ず使われている。

 わたしはこれを小説原稿の管理に使っている。わたしが使っているのはMercurial というもので、最近ではGit と双璧を成すと言いますか、Git、Subversion とトライアングルを成すと言いますか、シェアでは一歩劣るものの、内容はバランスが良くて優秀な(とわたしが感じる)ソフトウェアなのです。

 わたしは小説やそれに類するもの、小説を書くのに使ういろいろなプログラムなどをMercurial でバージョン管理している。

 バージョン管理というのは小説原稿で簡単に例を挙げると、例えば初稿を上げた段階でコミット(登録)しておき、推敲して修正した部分をまたコミットしておくと、どのコミットでどのような変更を加えたか、というのが後で確認できるのです。差分を表示して、ここでこのような修正をした、さらに次でこのような修正をした、ということを後で確認できる。

 しかも、それぞれのコミットの状態へ戻ることができるため、第三稿で修正した部分があとで疑問に思えてきたとき、第二稿のものに戻って別の修正を加え、第三稿その二みたいなものを作り、二つの「第三稿」を比較して良い方を採用するとか、あるいは二つの修正をブレンドして「いいとこどり」みたいなバージョンを作る、といったことまでできる。

 そしてこのような自由な処理は、扱うファイルがテキストデータ(ASCII形式)でないとできない。一般的なワープロソフトのファイルフォーマットはバイナリであるため、このようなバージョン管理が一切できないのです。

2022.3.22 追記
 Mercurial はレンタルサーバ移行に伴って使わなく(使えなく)なってしまいました。そのため現在はGit を使用して原稿の管理をしています。

Python

 わたしはこれまで書いてきたようにLaTeX の形式で原稿を書くので、書いたものを他の形式にする、例えば他の小説サイトに載せたり、note に載せたりするのが面倒くさい。元の原稿にはLaTeX 用のコード(いわゆるHTMLのタグみたいなもの)が散りばめられているので、そのままテキストだけコピペするわけにもいかない。それに段落の字下げとか「?」の後の空白は自動成型されるので原稿には入っていない。例えばこの「?」の後ろの空白は文中であれば必要で、閉じカッコの手前だと不要、みたいな細かいルールがある。「え? そうじゃなかったの?」という場合、1つ目の「?」の後ろは空け、2つ目は閉じカッコの直前だから空白が不要。こういった複雑な変換処理をするにはやはりプログラムを持ち出してくる必要がある。

 そこで、LaTeX 原稿から他のサイトに張り付けるためのテキストを生成するプログラムを、Python という言語を使って書いた。

 そのプログラムを通すと、

画像4

 このLaTeX 原稿が、

画像5

 このように変形される。段落頭にスペースが追加されている。これをコピーして投稿サイトやnote に貼り付けている。

 なお、わたしはPython で作ったプログラムを使用して、

画像6

 このような奇怪な小説も書いた。これは並行世界の自分から届いたメールで、作中で主人公はこの謎を解き、この文章を本来の姿に戻して読むというようなことをする。これは以前カクヨムに公開していた「ユニゾン」というだいぶ狂った作品で、「朗読できない、コンピュータを使わなければ書くことのできない小説」というコンセプトで書いたもの。この作品に関して言えばコンピュータまで含めてあらゆる道具がマストアイテムであったと言える。何しろ手書きでは絶対に書けないのだから。

Visual Studio Code の優位性について補足

 ここまで書いてきてようやく愛用のエディタのとても良い部分について補足できる。

 ここに紹介したLaTeX、Mercurial、Python はいずれも、操作を行う時にコマンドを用いる。いわゆるターミナル、Windowsで言えばコマンドプロンプトとかPowershell からコマンド入力をして操作することになる。

 ここで、Visual Studio Code にシェルが統合されている、という部分が強力なメリットになる。Visual Studio Code はシェルが統合されているため、原稿を書いているエディタ上からLaTeX のコマンドを実行してPDFを書きだしたり、Mercurial で状態をコミットしたり、Python のプログラムを通して文章を変化させたりできる。他の窓を開かずに全部完結するという強力なメリットがあるのだ。

まとめ

 この辺が、わたしが小説を書く時のマストアイテム。実は原稿の執筆より前に、着想を得てからプロットを組み立てるまでの作業があって、その部分は紙のノートに万年筆で書いている。その万年筆やノートもマストアイテムと言えますね。

 この記事を書いたことで、わたしはかくも多くの道具に支えられて書いているのだな、と再発見する機会になりました。

画像7


いただいたサポートはお茶代にしたり、他の人のサポートに回したりします。