Photo by Paul Esch-Laurent on Unsplash
自分で思いついて、でもわかってなくて、自分をいろいろと説得しながら、少しずつ形になってきたかも。
オブジェクト指向
基本は「センテンスをオブジェクトとして扱おう」というアイデアです。 センテンスを一つの単位として操作する。 アウトライナーで培ってきたスキルを平文のエディタに応用する。 そんな目的があります。
マークダウンは箇条書きで書く。 そのため行単位で操作しやすい。
通常のエディタは文字単位です。 これは「文字をオブジェクトとして扱っている」と捉えることができる。 一文字消したり文字を置換したりの作業がしやすい。
似たようなことを行単位でしたらどうだろうか。 あるいは段落単位でしてみてもいいんじゃないか。 Obsidianにはそのための機能が備わっている。
単位を作る
ただ、用語を整備しないと混乱の元になる。 ここがまだまだですね。 行単位で上下を入れ替えるとき、その単位を「センテンス」と呼んでいるので「文」ではありません。 句読点で終わる必要はない。 単語で区切れていてもObisidanが「行」と見なすなら「センテンス」ということにします。
「見出し+内容」もまた、Obisidianでは単位として扱えます。 右サイドパネルで「アウトライン」を開き、順番の入れ替えができる。 以前に「箱」と呼んでいた構造です。 「ボックス」にしておこうかな。 ノートコンポーザーの「見出しで抽出」で切り出すこともできます。
困っているのは「空行で挟まれた範囲」ですね。 プレビューでは段落として表示されるユニット。 ときどき「ブロック」という呼称を使ってますが、イメージしやすいわけではないし、「パラグラフ」かなとも思うけど、Obsidianはところどころで行単位が「パラグラフ」なので混乱してしまう。 range()関数のparagraphだとまた違う範囲だし。
反対にいうと、この単位に注目して操作する発想に定説がまだないのだろうと思う。 テキスト学が、それもデジタルなテキストについての学問が発展していけば、徐々に整理されそうに思うけど。 「空行に挟まれた範囲」に名前がほしい。
オブジェクト操作
以上のように、何をオブジェクトにするかには階層的な序列があります。 文字→センテンス→ブロック→ボックス→アーティクル→ファイル→バインダーあたりかな。 下位のオブジェクトが集まって上位のオブジェクトを作り上げる。 そんなレイヤー(層構造)がテキストには存在している。
「どのレイヤーでも、オブジェクトとして扱えば、操作は二つしかないんじゃないか」が最近考えていることです。 シンタグマとパラディグマ。 並べることと選ぶこと。
シンタグマは「AならばB」です。 記号化すれば「A→B」と書き表せる。 読書しながら要点メモを書くとき「センス→リズムを見つけること」と書いたりしますね。 話の流れを表現するとき「→」を使う。 これがシンタグマです。
パラディグマは「AかBか」です。 記号化なら「A/B」となる。 思考を構成している二項対立です。 Aを考えるとき「非A」も同時に考えている。 ネコの可愛さを考えるとき、イヌの可愛さも考えていて、その比較をしている。 それがパラディグマです。
カードに見立てると
カードを並べながら思考の整理をするときは、シンタグマは上下関係になります。 話の展開を上から下に並べることで表現している。
パラディグマは左右関係として介在してくる。 対立概念とかは横に並べます。 右の場合はどうか、左はそれとはどう違うか。 それぞれの下に別のカードを継ぎ足すことでシンタグマを作っていく。
上下と左右。 平面上に並べるカードがオブジェクト操作のアレゴリーになると思う。
なので、テーブル形式で書けそうですけどね。 何度も挑戦してみたけど、適切な方法は見つかってません。 セルの移動ができればカードっぽく扱えるのになあ。
テキストの構造を表すのに「A/B → C」みたいに要約もできそう。 これは弁証法的構造ですね。 対立概念が止揚されてCが生み出される。 「A/B → C/D」もあるかもしれません。 新しい二項対立を発見する場合とか。
まとめ
今回は「オブジェクト → シンタグマ/パラディグマ → 構造記述」でした。
ああ、そうか。 これはmermaidで迷宮を描くことの延長なのか。