Ubuntu Weekly Recipe

第272回GW特別企画・Ubuntuで一歩先行く執筆活動

――とあるシェアハウスのリビングで、無精髭を生やした一人の男が、ワードプロセッサの画面を開き、神経質そうに画面を睨んでは眉毛をいじり、抜き、その抜けた毛を眺めては哀愁の念を漂わせている――

というのがよくありそうな小説執筆の姿ですが、Ubuntuを使うと、もっと人間的な執筆風景にすることができます。ということで、今回はUbuntuでの創作活動として「学園Ubuntuラブコメ うぶんちゅ!」でも取り上げられた「Ubuntuでの小説執筆」について[1]取り上げて行こうと思います。

なお今回は「うぶんちゅ!」作中に登場した文芸部員達のアプローチとして、恩田兄弟のようにワードプロセッサを使うパターンと、京極かなめさんのようにテキストエディタを使うパターンと2つ紹介していこうと思います。

LibreOffice Writer編

その前にワードプロセッサのほうにどういった利点があるか挙げてみましょう。

ワードプロセッサだと原稿用紙に似たレイアウトにできたり、ルビや注釈を容易に入れることができ、たとえば次のような利点があります。

  • 原稿用紙の書式に変更できるので、自分がどれくらい書いたのかが把握しやすい。
  • 原稿用紙の設定にすることにより、賞などへの投稿で原稿用紙に限定されてる際などに印刷しての投稿もしやすい。
  • ルビや注釈を入れることができ、本文とは別に欄外にコメントを入れることができる。

今回はUbuntuをインストールした際に始めから入っているLibreOfficeのWriterを使用します。

まず200字詰めの原稿用紙の様なページ設定にしましょう[2]⁠。

LibreOffice Writerを立ち上げたら、メニューバーから「書式(O⁠⁠」をクリックし「ページ(P⁠⁠」をクリックします(もちろん「Alt」キーを1回押して「ページ」を検索し「書式(O⁠⁠」―「ページ(P⁠⁠」を選択しても構いません⁠⁠。⁠ページスタイル:標準」のウィンドウで「ページ」のタブを選択し、⁠文字の方向」の項目を「右から左へ(縦書き⁠⁠」に変えましょう。続いて「行数と文字数」のタブをクリックし「行数と文字数を指定する」を選択し、⁠ページ単位の行数」は10、⁠行単位の文字数」は20に設定し、その下の「罫線を表示する」⁠罫線を印刷する」にチェックを付けます。罫線の色はお好みで指定してください。

これだけで書く準備は整いました。後は入力していくだけで原稿用紙のマス目が埋まっていきます。

なお、賞などの応募要項では「1ページ40文字×30行」などの形式で投稿を求める事が多く、その際にページの設定で文字数や行数を増やせないことがあります。そのような場合は、⁠一文字の最大サイズ」「ルビ文字の最大サイズ⁠⁠、必要があれば「ページ」のタブから「余白」の調整しましょう。文字サイズを10pt前後にし、文字サイズとルビ文字のサイズが2:1の割合で設定するとすんなりいくかと思います。

図1 行数と文字数の設定
図1 行数と文字数の設定

さて、ルビの振り方ですが、まずふりがなを振りたい箇所を選択します。続いてメニューから「書式(O⁠⁠」をクリックし「ルビ」をクリックします。そして表示されたダイアログボックスで「ルビ文字」の欄にふりがなを入力します。

図2 ルビの設定
図2 ルビの設定

配置は「1 2 1」がお勧めですが、文字数などにより調整すると良いかもしれません。

推敲や修正も記録する ――バージョン管理の勧め――

さて、物語を一通り書き終えたら、文章をより良い物にするためにも推敲をします。

推敲する過程では、

「よし、前後の文章も直して主人公の心境を深くまで描写できたぞ! でもここの文章、前の文章のほうが良かった気がするなあ……あっ、修正前の文書を別ファイルで保存していない! 前の文章どうだったっけ……!」

と思うときがよくあると思います。

そんな時に重宝するのがバージョン管理です。変更点と変更内容の履歴を取ることによって、勇気を持って文章を書き換えることができるようになると思いますし、わざわざ差分を記録するためにファイルをコピーする必要もありませんので、容量削減にもなります。Writerでは容易にバージョン管理を開始することが可能です。

メニューバーの「ファイル(F⁠⁠」をクリックし「バージョンの管理...」をクリックします(こちらも「Alt」キーを1回押して「バージョン」で検索して開くことができます⁠⁠。すると「バージョン」というウィンドウが出ますので、一度何も修正を加えていない状態を保存します。

図3 バージョン管理の画面
図3 バージョン管理の画面

「新しいバージョンの保存」をクリックします。すると変更内容の要約を書き込むダイアログボックスが出てきますので、そこに「初版」などと入力し、⁠OK」をクリックして保存しましょう。

推敲を新たに行ったら、改めて「バージョンの管理...」を開き「新しいバージョンの保存」をクリックします。今度は変更内容に具体的な修正点を記述します。

図4 要約を書き込んで記録していく
図4 要約を書き込んで記録していく

さて「前の変更に戻したい」と思ったときはどう操作するのかといいますと、これも「バージョンの管理」画面から行います。

「バージョンの管理」画面の「比較(E⁠⁠」ボタンをクリックすると「変更の承認または却下」画面が表示されます。すべて前の状態に戻したいということであれば「すべて適用(C⁠⁠」のボタンを押して前の状態に戻すことができます。

図5 差分表示をしている図
図5 差分表示をしている図

なお、本文の変更内容の表示を取り消すには「編集(E⁠⁠」―「変更(G⁠⁠」―「表示(S⁠⁠」とクリックして、チェックを外すと、表示が消えます。

以上がLibreOffice Writerでの執筆でした。

テキストエディタ編

テキストエディタというのは、簡単に言ってしまうとメモ帳アプリですが、最低限文字を打つだけのものから、アウトライン機能が付いて文章構成を容易に編集できたり、英単語のスペルチェック機能が付いているものもあります。

では、テキストエディタはどのような利点があるのかというと、たとえば以下のような点が挙げられると思います。

  • アプリケーションの立ち上がりが比較的早い。
  • シンプルなテキストファイルなので、Webページなどに投稿する際に手直しする手間が比較的少ない。
  • 他の形式に加工しやすい。

先ほど書いたように、テキストエディタには多くの種類がありますが、こちらは読者の好きなエディタを使用できます。最初から入っているテキストエディタ(Gedit)でもいいですし、LeafpadというWindowsのメモ帳くらいにシンプルなテキストエディタを使っても構いませんし、集中して物を書きたいという方はPyRoomなどもいいかと思います。もう少しマニアックなところへ行きますと、EmacsやGVimを使うのもありかもしれません。

図6 ごく普通にテキストエディタで編集している図
図6 ごく普通にテキストエディタで編集している図

テキストエディタでもバージョン管理

テキストエディタで書いたデータもバージョン管理したいですよね? もちろんバージョン管理できます。ただし、テキストエディタの場合にバージョン管理を行うには、そのためのソフトウェア「バージョン管理システム」というものをインストールしなければいけません。とても難しそうですが、Ubuntuではソフトウェアセンターから簡単にインストールできます。

今回はBazaarというバージョン管理システムを使って行こうと思います。

Ubuntuソフトウェアセンターで「Bazaar」と検索し、検索結果の「Bazaar バージョン管理システム」「Bazaar エクスプローラー」をインストールします。

図7 Bazaarで検索すると道路標識のアイコンが4つほど出てくるが、とりあえず「Bazaar」本体と「Bazaarエクスプローラー」をインストールしておこう
図7 Bazaarで検索すると道路標識のアイコンが4つほど出てくるが、とりあえず「Bazaar」本体と「Bazaarエクスプローラー」をインストールしておこう

インストールが終わったら「Bazaarエクスプローラー」を起動し、これからBazaarを使うための準備をします。

「Bazaarを設定する」「環境設定」の順にクリックすると、名前などを入力する欄が出てきますので、そこに自分の名前かハンドルネームを書き込んでおきましょう。

図8 Bazaarの最初の設定。実はこれで多人数で作業するときに、自分が編集したことをはっきりさせることができる
図8 Bazaarの最初の設定。実はこれで多人数で作業するときに、自分が編集したことをはっきりさせることができる

ここから読者の書いたテキストファイルの管理をするように設定します。

「新しいプロジェクトを作成する」「初期化」とクリックしていきますと「初期化」というウィンドウが出てきます。ここでまず「ブラウス」ボタンをクリックして、テキストファイルのあるディレクトリへ移動して「開く」をクリックします。⁠初期化」の画面が現れたら、⁠場所:」の欄に自分が先ほど指定したディレクトリのアドレスが書かれていることを確認します。⁠作業スペースモデル」「Plain Branch」を選択して、そのまま「OK」をクリックしましょう。状態の欄にエラーが表示されていなければ成功です。

図9 初期化したときの図。⁠状態」の欄に赤いテキストが表示されなければひとまず問題ない
図9 初期化したときの図。「状態」の欄に赤いテキストが表示されなければひとまず問題ない

これで管理する準備は整いましたので、実際にテキストファイルを管理対象として登録します。

先ほど初期化が完了していれば「Bazaarエクスプローラー」の画面が変わっていると思います。画面上部の「追加」というボタンをクリックします。すると「追加」の画面が表示され「バージョン管理外のファイル」の欄にテキストファイルが表示されていると思います。管理する対象のテキストファイルにチェックが付いていることを確認して「OK」をクリックしましょう。するとテキストファイルが管理対象となります。

続いてLibreOffice Writer編でも説明したように、初版の記録を取るために「コミット」のボタンをクリックし、初版のデータを保存します。

図10 最初のコミットはついつい忘れがちなので、初期化したらコミットする癖をつけると幸せかもしれない
図10 最初のコミットはついつい忘れがちなので、初期化したらコミットする癖をつけると幸せかもしれない

これでテキストファイルのバージョン管理ができるようになりました。後はテキストの変更を行ったらBazaarエクスプローラーを開いて「現存の場所を開く」「開く」とクリックして、バージョン管理しているテキストファイルがあるディレクトリを開いてコミットという流れになります。

もし前の状態に戻したくなったら「履歴」をクリックし、ログを右クリックして「このバージョンに戻す(e⁠⁠」をクリックすると、その状態まで戻すことができます。

図11 Bazaarエクスプローラーで差分表示をしている図。diffツールだけでも重宝する
図11 Bazaarエクスプローラーで差分表示をしている図。diffツールだけでも重宝する

以上がテキストエディタでの執筆でした。

「あーキーボードからマウスに持ち変えるの面倒だわー。本当に面倒だわー」という人編

テキストエディタを用いる場合、よりストイックな方法もあります。

「マウスに持ち替えるは面倒だし、ターミナルを使っても抵抗ない」

という方、もしくは、

「Bazaarエクスプローラーは便利そうだけど、あまりパッケージはごちゃごちゃいれたくないんだよな」

という方は、より少ないパッケージ、そしてキーボードとターミナルから原稿の執筆やバージョン管理を行うこともできます。とは言っても、最低限bazaarの基本パッケージはインストールしないとバージョン管理ができません。

Bazaarのインストールですが、端末を開いて以下のコマンドを入力します。

$ sudo apt-get install bzr bzrtools

これでBazaarのインストールは完了しました。

さて、nanoやVimやEmacsで一気に書き上げたらバージョン管理の準備です。

テキストエディタ編でも説明しましたが、環境設定として自分の名前を以下のコマンドでBazaarに登録します。

$ bzr whoami “[お名前]”

これでBazaarにあなたの名前が登録されます。

続いて初期化ですが、テキストファイルを保存しているディレクトリにcdコマンドなりで移動します。移動したら、以下のコマンドを実行。

$ bzr init

成功すると、

standalone treeを作成しました。(フォーマット:2a)

というメッセージが表示されます。

続いて管理対象のファイルの追加ですが、まず以下のコマンドで自分のテキストファイルがBazaarに認識されているか確認してください。

$ bzr status

自分の書いたテキストファイルがリストに表示されたら大丈夫です。

続いて、以下のコマンドを入力してファイルを管理対象として登録します。

$ bzr add [登録したいテキストファイル(省略可)]
adding “[登録したいテキストファイル]”

と表示されたら成功です。

そしてコミットです。コミットは以下のように行います。

$ bzr commit -m “[編集内容の要約]”

以降、ファイルを編集したら「commit」を、新たにファイルを追加したら「add」して「commit」として記録をしていきましょう。

もし前の状態に戻したいというときは、次の手順で確認をして戻します。まず、履歴を見るために以下のコマンドを入力します。

$bzr log

戻したい時点のコミットメッセージと「revno」を確認したら、次のコマンドで変更内容を確認します。

$bzr cdiff -r[履歴で確認したrevno]

行頭に「+」がついているのが新たに追加・変更した文で、⁠-」が削除・変更前の文章です。変更内容の確認ができたら、次のコマンドで元に戻します。

$bzr revert -r[履歴で確認したrevno]

以上で元に戻すことができます。やったー!

もっとコマンドを使いこなせば、創作スピードはアップする!

ここまでの手順を使うことで、キーボードから手を離さずにバージョン管理をしながら原稿を書くことができました。推敲もマウスを持ち替えてアプリを切り替える必要もありません。さらにいくつかコマンドを使って、創作スピードをアップしましょう。

「わざわざnanoやVimでテキストファイルを開いて中を確認するのは面倒臭い」

というときは、以下のコマンドを実行してみましょう。

$less [閲覧したいテキストファイル]

端末画面いっぱいにテキストファイルの内容が表示されます。カーソルキーや「j」⁠k」キーで上下スクロール。⁠q」キーで終了して元の画面に戻ります。

「あれ、自分ってどこまで書いたっけか?」

というときは以下のコマンドを実行。

$tail [確認したいテキストファイル]

このコマンドはファイルの最後の10行を表示するというコマンドです。よくある使い方としては「-f」オプションをつけてリアルタイムで文章が追加されるテキストファイル(主にログなど)を監視するという用途ですが、さくっとファイルの最後を見たい時に使うのも手かもしれません。

逆に「この話の出だしって、どんなだったっけ」というときは以下のコマンドで。

$head [確認したいテキストファイル]

さらに

「このワードって、どこで使ってたっけ」

という時は、みんな大好きgrep[3]コマンドです。

$grep [探したいワード] ./*.txt

これで現在のディレクトリ内のテキストファイルすべてを検索して表示してくれます。行番号も表示したい場合は「-n」オプションを加えましょう。また、1つのファイルの中で検索をかけたい場合は「./*.txt」の部分を、検索させたいファイル名に変更しましょう。

ついでに

「あー、このワード置き換えたほうがいいなあ」

という時は以下のコマンドが便利です。

$sed -e 's/[置換対象ワード]/[置換後のワード]/g' [対象テキストファイル]
図12 無駄に4画面で右上から時計回りにtailで前回の終わりの確認を行い、lessで前回を閲覧し、grepでキーワードの検索、Vimで推敲している。さながらハッカーのような気分になれる
図12 無駄に4画面で右上から時計回りにtailで前回の終わりの確認を行い、lessで前回を閲覧し、grepでキーワードの検索、Vimで推敲している。さながらハッカーのような気分になれる

と、小説は決して豪華なワードプロセッサがなくてもできますし、普段サーバ管理で使っているコマンドがこういう使い方もできるというお話でした。

最後に ――小説の公開・小説を書く理由――

せっかく書いた小説ですから、抵抗がなければ公開してみるのはいかがでしょうか。

ブログサイトで公開するのも無難ですが、小説投稿SNSなどに投稿してみると、おもしろい出会いがあるかもしれません。筆者もdNoVeLsというSNSで投稿していたりしますので、見つけた際は「Recipe見ました!」と友だち申請したら、すぐに釣れると思います。

また、

「小説なんて何を書けばいいのかわからない」

という方は、日々の「あーなったらいいのになあ」という想像とか妄想を試しに書くといいのではないでしょうか。読者の好きな物語の登場人物のIFストーリーを考えて二次創作をするのも、また違ったおもしろさがあります。

筆者も書き始めた理由は日々の蟠りや悩みの根源は何かを探求するために書き始めた口だったりしますし、筆者の好きな小説家の冲方 丁先生が「冲方式ストーリー創作塾」という本の中で、

「今、もっとも小説業界に必要なのは、千人の中堅作家と、一万人の新人作家と、百万人の同人作家です。」

とおっしゃっていますし、エリック・S・レイモンドの「ハッカーになろう」注4「ハッカースタイルの要点」では、

「母語できちんと文が書けるようになること(わたしが知っている最高の連中を含め、ハッカーの驚くほど多くは物書きとしても有能です⁠⁠。」

とも書かれております。

というわけで、みなさんも気軽に夢や想いを綴ってみてはいかがでしょうか?

おすすめ記事

記事・ニュース一覧