豆腐メンタルは崩れない

小説家ワナビ視点で、主に執筆環境について書きます。

FoldingText 2.0 の「Expand / Collapse By Level」について検証してみた

https://itunes.apple.com/jp/app/foldingtext/id540003654?mt=12&uo=4&at=10l8JW&ct=hatenablog

関連

実は2.0はまだ正式リリースされていないのだが、それもそろそろみたいですよ!

Expand / Collapse By Levelって結局どういう挙動になるの?

前回記事の該当部分を引用する。

  • 見出しセクションで有効
  • 従来のFold(⌘/)では、カーソル行のアイテムの子アイテム全てをFoldする
    • 例えば、見出しレベル1(#)の行で実行した場合、下の見出しレベル2〜6(########)のセクションは全てFoldされる
  • Expand / Collapse By Level(⌥⌘→/⌥⌘←)では、カーソル行のアイテムの子アイテムのうち、最も遠い子から順にFold/展開する
    • 例えば、見出しレベル2〜3のセクションを内包する見出しレベル1セクションで「Collapse By Level」を実行した場合、まずレベル3セクションが、次いでレベル2セクションがFoldされる
      • インデントされたリストブロック/パラグラフが内包される場合、リストブロック/パラグラフのインデントレベルの高い行からFoldされる

オーケーわからん!

簡単にいえば子孫アイテムから順に畳んでいくということなのだが、実際どういう挙動になるのかわかりづらすぎるので検証してみた。

以下、キャプチャー画像多数。

原文

  • f:id:catfist:20140601195351j:plain
  • カーソル位置は# 見出しレベル1の行
  • 挙動をわかりやすくするため、あえて見出しレベル2/3の位置を逆にした。

順番にCollapse By Levelを実行する

  • f:id:catfist:20140601195355j:plain
  • f:id:catfist:20140601195357j:plain
  • f:id:catfist:20140601195400j:plain
  • f:id:catfist:20140601195403j:plain
  • f:id:catfist:20140601195405j:plain
  • f:id:catfist:20140601195407j:plain
  • Expandはこの逆回し。

Paragraph(通常の行)とListを比較すると、n回インデントされたListは、n+1回インデントされたParagraphと同じLevelとしてfoldされている。つまり、ドキュメント全体の構造レベルで見ると、リストブロック全体が、Paragraphより1レベル低い扱いを受けていることになる。

なお、引用ブロックの構造レベルはParagraphと同様の扱いである。つまり、「引用ブロック内の引用ブロック」と、「1回インデントされたパラグラフ」が同レベルになる。

実用的な例:Expand By Levelで文書を読んでいく

  • このようなドキュメントがあるとする。
  • f:id:catfist:20140601203032j:plain
  • セクション「献立」「買い物」がFoldしてあるとする。
  • f:id:catfist:20140601202843j:plain
  • 「買い物」セクションを読んでいく。
  • f:id:catfist:20140601202905j:plain
  • f:id:catfist:20140601202914j:plain
  • f:id:catfist:20140601202917j:plain
  • f:id:catfist:20140601202920j:plain

どんな時に有効なのか?

CollapseよりExpandが重要そう。

ユーザーガイドにもあるが、ドキュメントの大半をFoldしておいて、必要なセクションのみを掘り下げていくような使い方が適しているのではないか。

文書構造をきちんと組んでおく必要はあるが、重要度の低い情報を自然とFoldしておける点は便利そうに思える。