原稿を書く水曜日

7:00

おはようございます。本日は原稿作業を進めましょう。

8:00

メルマガ:

まずは二つ目の原稿から。

* * *

3000字の原稿を書きました。

10:00

INT:

ひとまずテーマというか仮のタイトルが決まったので、次のステップに進みます。

で、何をするか。

* * *

現状はすべてのテキストを集めたScrivenerのファイルがあります。このままここで作業するのはさすがにファイル動作含めて重いので、別の場所にしたいところ。

この点を考えても、すべてをScrivenerに集めるのではなく、すべてをテキストファイルで集めておき、対象となるテキストだけをScrivenerに移動させる、という方がスムーズだという気がします。

もっと言えば、テキストはデータベースに入れるか、そのインデックスをデータベースで管理するのがよいような気がします。

それはさておき。

Scrivenerのテキストを即座に表示する、配置の順番を入れ替えられる、複数のテキストを並べて表示できるという機能は便利なので、有効に使いたいところではあります。

* * *

ひとまず現状取れる手段を確認。

これからの作業は、PDFやEpubなどをつくっていくことを考えるとVS Codeが一番フィットしそうな気がする。しかし、ファイルの並び替えなどの操作は普通ではできない。

* * *

気がつきましたが、VS codeないし、テキストエディタの場合、それぞれのチャプターをファイルとして保存する必要がありますね。ということは、それぞれのファイルに名前を与える必要がある。それが厄介な問題を引き起こしそうです。

だからといって、一枚のテキストファイルで保存すればいいかというと、そう簡単なものではなさそうですが。

* * *

一応考えましょう。それぞれの章をテキストファイルで扱う場合、章のタイトルをそのままファイル名にするやり方と、chapter01のように章番号をファイル名にするやり方がありえます(複合もあるでしょう)。

章タイトルをそのままファイルにするやり方の場合、それをパッケージするときにどの順番で並べるのかの指示が必要となります。また、内部リンクを作っていた場合、ファイル名を書き換えたらリンク名の書き換えが必要です。

一方で章番号をファイル名にしていた場合は、パッケージ時には連番で処理ができますが、04と05に新しい章を追加したいや、05と06の順番を入れ替えたいといったときに、やや面倒な処理が出てきます。ただしこれは、ただの作業なのでプログラミングでサポートすることは可能です。

Scrivenerを使うならば、必要なファイル名はプロジェクト名だけであり、個々のセクションは自由にタイトルをつけられますし、入れ替えも自由です。この点がかなり強力ですね。

ただしScrivenerからの出力はコマンドライン一発で実行できないので、そこだけが面倒になる可能性が残っています。

一枚のテキストファイルにすべての原稿を入れる場合は、上記のようなファイル名の処理には困らなくなりますが、入れ換え作業などが面倒になる可能性は高いです。

いや、そうでもないかな。

ちょっとやってみますか。

* * *

新エディタにScrivenerからそのままコピペしました。10万字ほど。

Image from Gyazo

項目を閉じていれば全体のアウトラインになっていますし、どこかを開けばズームっぽい感じになります。

必要であればズーム機能をつけてもいいですし、ブロック単位の移動ができれば万万歳です。

おそらく「編集」の段階であればこれで十分でしょう。ただどの原稿を「入れる」のかを考えるときは、まだSrivenerの方がいいかもしれません。

というわけで、しばらくScrivenerで原稿をチェックし、残すもの残さないものを選んでいきましょう。それが終わったら、すべてを一枚のテキストファイルに入れて、その中で編集を進めていく試みをやってみます。

11:00

note:

今日の記事を書きましょう。

* * *

publish:「自分には書きたいことがあるだろうか?」という疑問|倉下忠憲

12:00

BextEditor:

将来的な編集作業を見据えて「ブロック単位の移動」について考えたいところです。

現状はカーソルがある行を上下に移動させることはできます。しかし、ブロック単位の移動はできません。

構造化リストにおいて子要素と一緒に親要素を移動させること。あるいは、見出し2以下に含まれる本文をまとめて移動させること。それがブロック単位の移動です。

そういう移動ができたら、一つのファイルに複数のセクションが並んでいても編集しやすくなります。

で、考えたいのは直接的にそういう操作を実装するのか「ブロック全体を選択する」というショートカットキーを実装するのか、です。

仮にショートカットキー一発で「このブロック全体を選択する」ができるならば、あとはカット&ペーストを使えば、ブロック移動と投下になります。インデントの深さは返られませんが、セクションの移動などは兄弟項目の移動だけなので大きな問題ではないでしょう。

それができれば、例えはブロックの複製もコピー操作だけでいけます。つまり、まったく新しい独自の動作・機能を実装するのではなく、すでにある機能と組み合わせることで望む動作を実現できるようにする、というアプローチです。

13:00

一日一英文:

Take your time. I know you need a couple of day to reflect on it.

14:00

集中的読書:

GEBを読みます。

* * *

「自動的にまとめる」を読みました。

断片からの創造:

カードを移します。

* * *

少しの違い、大きな違い - 断片からの創造

断片の相互作用 - 断片からの創造

ゆっくりの情報摂取 - 断片からの創造

15:00

英語読書:

Nexusを続けます。

* * *

1パラグラフだけ読みました。情報の素朴な見方とCounterspeechについて。

TH:

index.mdを整理します。

* * *

index.mdとカード類.mdを整理しながら、必要な機能を追加しました。

BextEditor:

追加したのは連番周りの機能です。

現状、あるフォルダにcard00.md,card01.mdと連番のファイルがあったときに、ショートカットキー一発で「次のファイル」に移動できます。

それでcardを管理していたのですが、index.mdを整理していると、card01とcard02の「あいだ」に新しいカードを追加したいと思う場面がありました。

card0101など連番を足していけばよさそうですが、そうすると「次のファイル」への移動アルゴリズムが崩れてしまいます。

(ここでひらめき。そのような分岐型のナンバリングにしておくと二種類の「次への移動」が実装できますね。深掘り移動と次の話題移動)

なので、プログラムで挿入したいポイントから後ろにある連番ファイルをすべて+1してリネームしていき、空いたところに新規ファイルを作成する、というプログラムを作りました。たぶんgit的にはあまりよろしくない処置でしょうが気にしません。

これで連番ファイルを作りつつ、あとからいくらでも追加していくことができるようになりました。

17:00

R-style:

今日の記事を書きます。

* * *

publish:ノウハウ情報と語りの場が開くもの | R-style