目次づくりをやり直さない!テキストエディタのアウトライン、原稿位置に合わせてアウトラインを追跡する

アウトラインは見出しの一覧を作るだけでなく、現在位置を別の同名見出しと取り違えないために使います。テキストエディタ アウトラインでは、見出し文字列のほかに、階層、行番号、章固有の到着語を使って移動先を判定します。「まとめ」のような同名見出しが複数ある長編では特に重要です。

同名見出しを階層と行で区別した

合成原稿にはH1の「第一章」と「第二章」を置き、両方の下にH2「同名」を置きました。CLI検査は、第一章を1行目、最初の同名見出しを2行目、第二章を4行目、次の同名見出しを5行目として返しました。第二章の末尾に置いたCH-204は1件です。

名前だけでジャンプ先を判定すると、最初の「同名」へ毎回戻る失敗が起こります。回復では見出しを無理に改名せず、親H1と行位置を並べて正しい章を選びます。章固有の到着語を末尾で検索すれば、別の同名節で止まっていないかを確かめられます。

製品資料には、サイドバーの目次がMarkdown見出しを一覧化し、現在位置に対応する項目を追跡表示するとあります。今回のCLIは見出し一覧と検索到着を実測しましたが、サイドバーの選択行は未実測です。合格は、章階層、行、到着語の三つが同じ節を指す状態です。

同名見出しへ識別語を添えて到着先を確かめる

同じ「結果」というH2が二つある原稿では、見出し名だけで現在位置を判定できません。各節の直後に固有の到着確認語を置き、アウトラインで選んだ後に本文検索で一件だけ見つかるかを調べます。階層検査が見出し構造を返すことと、画面の選択行がカーソルへ追従することも別の証拠です。

見出しを一意に変えられる原稿なら、読者向けの具体名へ修正する方が安全です。編集上同名を残す必要がある場合は、章番号や周辺語を作業メモへ加えます。今回未実測のサイドバー追従は、Mac画面で実際に選択して確認するまで合格欄を空けます。

North RouteとSouth Routeで同名を再現した

追加標本は12行で、見出しを6件置きました。North RouteとSouth Routeの配下に、それぞれPreparationとResultがあります。見出し名だけを検索すると二つのResultを区別できません。Runeのテキスト検査は6見出しを順序、階層、オフセット付きで返したため、章親子関係を保った地図を作れました。

三つのカーソル位置を保存して対応を計算した

冒頭側、北側の結果本文、南側の結果本文という三地点へtab set-cursorでカーソルを置き、tab listで保存位置を再取得しました。各位置以下で最も近い先行見出しを同じ原稿のオフセット表から求めると、三地点は別の見出しへ対応します。コマンド失敗は0件でした。

選択行の追従画面は未実測とする

製品資料には、本文の現在位置に合わせてアウトラインの該当行を選択する機能が説明されています。しかしCLIはサイドバーのライブ選択行を返しません。今回確認したのは、カーソル位置の保存と見出し地図からの対応計算までです。画面で自動追従を見た、スクロール時間を測った、とは主張しません。

執筆中は名前より座標で戻る

同名見出しへ戻るときは、ファイル名、親見出し、オフセットの三点をメモします。到着後に本文先頭の識別語も確認すれば、章の取り違えを発見できます。見出しを改名した場合は地図を再検査し、古いオフセットを永久IDのように扱いません。

この手順の合格は、6件の見出し順が取得でき、三つの保存カーソルが期待した直前見出しへ一意に対応し、未観測のUI挙動を測定値から除外できることです。アウトラインは構造を追う助けですが、見出しのない文章に意味構造を自動生成するものとしては扱いません。

長編でこの方法を使うなら、カーソル位置だけでなく直前見出しのハッシュ用文字列を短く保存します。編集で前半に文章を足すと後半のオフセットはずれるため、再開時には最新版の見出し一覧から対応を計算し直します。親見出しと近傍本文が一致すれば、同じ「結果」が十件ある原稿でも誤編集を避けられます。

アウトラインをクリックして移動する場合も、到着後に章名、階層、近傍語を見ます。別章へ飛んだならその場所で修正せず、元の座標メモへ戻ります。今回の三プローブは自動追従の速度評価ではなく、この到着確認を機械的に再現するための対照です。

見出し地図は校正の途中で更新されます。古い地図と新しい地図を同じファイル名で上書きせず、原稿SHAと組にして残せば、査読者が参照した章位置を後から説明できます。

原稿の現在位置を共有するときも「二つ目のResult」だけでは足りません。South Route > Result、検査時の行とオフセット、近傍語を一組で渡します。受取側は同じ原稿SHAの見出し一覧を開き、先行見出しを再計算します。対応しなければ原稿版が違うので、編集を始める前に差分を解消します。画面追従を後で検証する場合は、この期待座標と実際の選択行を比較すれば、印象ではなく一致・不一致として記録できます。