Org-modeのある読書生活

| Comments

Liquid error: undefined method `sort!' for "org-mode common-lisp":String

Org-mode使いのひとは、エバーノートに頑なに背を向け、 ホウンとオーグモードにメモのすべてを集約している人が多いのではないのでしょうか。 そのダンプのしやすさから、” エバーノートが第二の脳である、などとうたっているのは誇大広告である “、 と決然とした態度を示しながら過ごしているのでしょう。

私は常々、そんなorg-modeジャンキーの方々から学びたいと思っていたことがありました。 それは読書の方法についてです。 Orger(org-mode使い)ならではの方法があるのではないだろうか、どのようにしているのでしょうか。

またなぜだか分からないのものの、Orgerの人は読書偏愛者が多いだろう、 というイメージを持っています。統計的にそうかどうかなど知るよしもなく、 かつ身近にいるorg-modeユーザーがそうというわけでもないですが。

オーグライフをより質の高いものにするためにも達人の読書生活を垣間見たく

ただ今日は私の方法を少し紹介したいと思います。

概要

そもそも、電子の書物が全盛を迎えようとしているこの時代において、なぜわざわざOrg-modeで読みたいと思うのでしょうか。 例えば私は常々、オライリー本や技術書・Web上の長文などを読む際、以下のことをもっと心地よくできないかと不満を抱いています。

  • メモを思考の分断なく瞬間的に行いたい
  • テキスト読み/code実行をシームレスに行いたい
  • アウトラインを自分にとって理解しやすい形に改変したい

これらのことについては、比較的動機を容易に想像できることだと思います。 そして次に、Emacs/Org-modeに少しでも触れたことがある方は、Org-modeのへの期待に胸をはせるのではないでしょうか。 その想像・期待に私たちのOrg-modeは、その懐の深さを持って存分に答えてくれます。

上記目的に対してOrg-modeが提供する機能は、まるで電子書籍が存在する前からそのために存在していたかのように感じるほど、合致するものです。 なので私はあらゆるテキストをできる限り、HTMLでも何らか電子書籍フォーマットでもなく、Org-modeフォーマットで読みたいと考えています。

早速と快楽にあふれた読書を開始したいところだと思いますが、 Org-modeによる読書を堪能するためには、それなりにやることが存在しています。 基本戦略として、大まかに次のようなステップを踏みます。

  • PDF, ePub, HTMLなどのファイルをorg-modeフォーマットにする
  • アウトライン修正する(必要に応じ)
  • オーグモードのノート取りコマンドを駆使してメモする

最終的な目的は「Org-modeテキストをいかに読むか」 ということです。 しかしまず出くわす問題として、Org-modeとして読めるテキストが非常に限られている、 ということがあります。

最近はマークダウンやrstなどマイクロマークアップが市民権を得てきているようですが、 Org-modeは彼らに比べ今ひとつのようですね。Emacserはそれを残念に思っていることだと思います。

それでは、以下より個々のステップの詳細を説明していきたいと思います。

準備: ePubやHTMLテキストをOrg-modeファイルに変換する

まずは、世の中に多数存在している野良テキストを、どうにかOrg-modeにする方法を紹介していきます。 ここのステップ テキストさえ手に入れれば後はEmacsの世界

断っておくことがありまして、ここでの私の記述する方法は、 全くもって洗練さに欠けるものであり、課題は満載ですね。 とにかく今回は実直であるものの、方法の一旦を記述していこうと思いますのでご容赦ください。

まず変換前の対象となるテキストについてですが、最低限、構造を保持している必要があります。 完全な独自フォーマットのテキストだとパーサー自体を自前で書かなければならない事態となってしまいますね。 ただ今どきWeb上に存在しており、興味をひくテキストの多数は、 ある程度メジャーなフォーマットで記述されていると思いますので、この心配はどこかに除けておきます。

中間ゴールとして、HTMLファイルにすることを目指します。 なぜHTMLを介するのかと言うと話は単純で、 後述するPandocというツールが変換前フォーマットとしてサポートしているから という理由です。

では、以2つがそれぞれの変換ステップで使用するツールです。それぞれを少しだけご紹介しておきます。

1. PDF/ePubをHTMLに

  • 使用ツール

2. HTMLをOrgファイルに

  • 使用ツール

手抜きの端折った説明で申し訳ないですが、 これでorg-modeフォーマットのテキストが得られたとしましょう。

Org-modeテキストの読み方

ここからがようやく本編、Org-modeを利用する上での真価を語ることができるセクションです。 ここでは私のOrg-modeテキストを読む際のいくつかの方法・Tipsを、 読書という行為におけるアクションと対比しながら説明していきます。

まずですが、テキストの内容を咀嚼するために行うこととして、以下2つに大別できると思います。

  • ページをブックマークする、センテンスをハイライトする(抜き書きする)
  • ノート(メモ)を取る

もちろん、検索する・単語について辞書を引くといった、 読むという観点からのアクションも重要なものですね、 ただこの記事ではEmacsを用いていることを前提としています、 なので日常的に行っていることだとして省略させていただければと思います。

そしてOrg-modeテキストの読み方といっても特段変わったことをする訳でもありません、 Org-modeの機能をフルに活用する、つまりいかにOrg-modeらしく行うかという観点があるだけですね。 ここから、上記2つに関する私なりの方法を説明していきます。

ページをブックマークする、センテンスをハイライトする(抜き書きする)、ノート(メモ)を取る

説明します、といいながらいきなりの課題提示です。メモをどこに残すか?という問題があります。 Emacs,Org-modeを用いる場合、大きく下記3つの選択肢が考えられます。

1. 単純にその場に書き込んでいく/あるいはorg-note-insertを用い、セクションごとに残す
2. 現在読んでいるテキスト内にメモセクションを区切り、そこに残す
3. org-remember等を用い、専用テキストにすべてのテキストの読書メモを横断的に残す

私は一応2の方法でメモをとっています。 ですが本来、3の方法で横断的に残すことが理想と思われますね。(code-readingのように) 残したメモごとにタグなど付与してサーチビリティを上げていくと充実していくのかもしれません、 ただ私はそこまで丁寧にできず、そのテキストに関するメモの展望性を重視しているため、2の方法にしています。 が、ここは大いに課題意識があるところです。

- 改めまして私の基本的な方法
 - 現在テキストに、"Note"セクションをつくる
 - そのセクションにコピペ抜き書き/思考跡を、セクションリンク・日付と共に残していく

キャプチャもない説明だけではイメージわきにくいとところです、 私の実際の読書メモを含んだファイルをご覧になっていただければと思います(稚拙な内容で恥ずかしいですが..)

link github onlisp

TODO ノート・ハイライトを本文を参照しながら書く/本の別々の箇所を参照しながら読む

この辺りから、エディタでテキストを読んでいることのメリットが顕著に現れてきます。

  1. 同一ファイルを別ウィンドウにも開き、独立してスクロールさせて参照する
  2. =org-tree-indirect-buffer=により、セクションツリーを独立させて参照する

1.の方法については、Emacsでコードを日常的に読んでなにがしかのメモを残しているような方にとっては、 特別意識すらされない行いですね。私はこれを通常の本を読むときにできないことを大いに不満に思っています。

独立セクション

org-tree-indirect-buffer

実行していただければ分かると思いますが、例えば本セクションツリー(ノート・ハイライトを本文を参照しながら書く/本の別々の箇所を参照しながら読む )上で同コマンドを実行すると、 別ウィンドウに、以下のようにツリー部分だけが独立表示されたバッファーが開きます。

** ノート・ハイライトを本文を参照しながら書く/本の別々の箇所を参照しながら読む
   この辺りから、エディタでテキストを読んでいることのメリットが顕著に現れてきます。

   1. 別ウィンドウ
   2. =org-tree-indirect-buffer=

   1.の方法については、コードを日常的に読んでなにがしかのメモを残しているような方にとっては、
   特別意識すらされない行いだと思いますが、私はこれを通常の本を読むときにできないことを
   大いに不満に思っています。

   ...

そしてこのセクションツリーを独立させることで、次のメリットがあります。

  • 長いセクションツリーを前後を切り取ることで、フォーカスして読むことができる
  • またそのセクションツリーのみにフォーカスして編集することができる

­ - - -

ここまでは読書の王道たる行為を、Org-modeらしく行う方法についてつつましく書いていきました。 しかし次の2つからは、よりアグレッシブな読書スタイルを提案したいと思います。 テキストを直に読むこと、そしてそれをOrg-modeで読むことによる利点を生かした、改変読書とでも呼べるものです。 ここからこそが当記事を書くにいたった動機であり、最も推奨したい方法ではあります。

アウトラインがない場合、自分なりにアウトラインを作る・要約する

まず、要約することはよく行われることだとして、それをOrg-modeで行うことの利点は何でしょうか。 それは単純に、フォールディング能力にあります。 ベタに読んでいき、要旨を掴むにつれセクションを区切り、畳み込みながら全体の構造を見渡していく。

” 不要な部分を畳みこんでしまい、読みたい箇所に集中しやすいよう自分好みの構成にできる ”

このサイクルを繰り返すことで徐々にテキスト自体のアウトラインと共に、 自身の頭の中にも要約が構成されていくことを実感できると思います。 再構成してたら自然と要約できていた(理解を伴った)という結果を得られればしめたものです。 これは特にアウトラインが弱い、長めのWeb文章等を読む際に有効ですね。

サンプル 成長する言語 元ファイル
私のファイル

理解しやすい文章・論理構成で編集し直す

CLOSED: 2012-12-26 Wed 07:42
これも特に新しいことでなく、Org-modeであるが故の強みもさほどないことです。 テキストを追っていきながら、字句通りに改変していきます。 ポイントはとにかく躊躇せずに行うことですね。

その際、” 変更した点が分からなくなってしまう “という懸念がお持ちになることでしょう。 そして、この懸念に対し保険をかける際、Org-modeがその真価を発揮するのです。

それは org-archive-subtree-default という、セクションツリーを凍結するコマンドを用います。 元のテキストのをセクション見出し上で、「アーカイブ(C-c C-x a) 」 することで、 またアーカイブされたツリーは見出し上でshift+Tabしない限り、開くことはありません。 これでいたずらに視界に入るテキストを増やさず、元のテキストを残しておくことができます。 思う存分、誰かのテキストをあなたのテキストに改変できますね。

­ - - -

最後に、私が紹介した手法を用いる際によく使うであろうコマンドを抜粋しておきます。

ActionCommand nameKey
日付挿入300
ドキュメント間リンク作成515
単一ツリーを独立バッファにする
ツリー内にノートをとる
ツリーアーカイブ22
コードブロック実行バッファ立ち上げ

org-babel src ※要org-babel設定

DONE Org-modeテキストが読書に優れている理由

CLOSED: 2012-12-26 Wed 08:39

これについては特別な要因があるわけではなく、つまるところ次の言葉に集約できると言えるでしょう。

” 読書における思考活動を支援する最適な環境である ”

読書において必要な行為は、大きく以2下つに分けることができると思います。

  • テキストの論理を正確に読み取ること
  • 読み取った事実を自身の知識と結びつけ、再構成し、新たな思考をアウトプットすること

早く・正確にその本の論旨を掴み取る人、新たな思考を生み出すような人は、 他でもなくこの過程において優れていると言えます。 そして、Org-modeによる読書はこれら行為を迅速に行えるように構成されているものです。

  • メモを、思考の分断が起こらないよう可能な限り瞬間的に残す
  • 1冊のテキストの異なる箇所を同時参照する
  • 論理を柔軟な方法で構成しなす
  • Org-babelでプログラムを実行しつつ読む

    # ただもちろん、Org-modeというよりはプレーンテキスト+エディタで読むことが、可能にする部分も大きいですね。

ハイライト、書き込みメモ、カーソル移動による集中効果(子供の頃指でなぞって読書したでしょう)、 これらは上記行為を支援するものであり、メディアの進化によって行為のしやすさも格段に向上してきています。

紙による平面的な読書を一次元とするなら、電子書籍の登場は、 これら活動の痕跡を検索/ジャンプ可能とすることによって、 2次元の読書体験をもたらしました。 そしてOrg-modeはここに新たな次元をもう一つ加えるものです。

本という緩い形で存在しているテキスト空間を縦横無尽に探索する、これはそんな一歩先の読書体験である。 大げさに言えば私はそう実感しており、Orgerの方々からは賛同を得られると思っています。

最後に

非常に雑然と、おそらくどんな層にも参考になりそうにない私の方法を紹介してきましたが、 なぜこんなことを書いていると言うと、ひとえに世の中にもっとOrg-modeのテキストが増えてほしいと願っているからです。

この読書スタイルにこだわっていると、副作用が生じてしまいます。

  • セクションを折り畳む、
  • マルチウィンドウ参照する、
  • コメントアウトやひいては自分で再編集してしまう

こういったことができない読書に耐えられない体になっていきます。 ワープロのない編集にはもう戻れないように、複製・抜粋・追加といった 編集容易性に恵まれない媒体を操作することをたいへん苦痛に感じるようになるのです。 そしてもちろん、これは明らかに正しい傾向ですよね。 逆に言えば、そのようになっていないコンテンツは不完全であると見なされるべきなのです。

この主義、将来を予見している知の巨人たちの言葉を最後に引用してみたいと思います。

情報学者である デビッド・ボルター は、著書 ライティング スペース 内で、電子テキストの基本的な性格として以下のように結論付けています。

コンピュータは、「文章を書く上でいかなる局面でもテキストの執筆や、読解の全体に先立って決定されていることを求めたりしない」のである。 「ほんの1秒の間に消え去る電子を、シリコンと金属でできた回路に記録しようというテクノロジーには、 こうした落ち着きのなさが本来のものである。コンピュータの世界に存在するあらゆる情報、 すべてのデータは一種の制御された運動であるのだから、コンピュータ・ライティングにとっての 自然な傾向とは、変化し、成長し、消え去ることである」

なかなか過激ですね。

Q ヴァレリー 書物 すべて途中の過程

ハイパーリング、電子メディアの登場によって、さかんに、「世界中の本がまとまり一冊の本になる」 ということが言われています。でもそこをOrgerである方々ならこう言うでしょう、

「世界を一つのorg-modeテキストにする」

あらゆるテキストは、セクションに分割され/タグをつけられ/いたるところからリンクをされ、 そして折り畳まれるべきなのです。

Liquid error: undefined method `sort!' for "org-mode common-lisp":String

Comments