org-mode画面で誰かに説明した後、テキストを共有することがある。
しかしorgファイルのまま渡すと、orgファイルを知らない人に嫌がられるかもしれない。
ここではなるべくorg-mode画面の見た目そのままテキストファイルにする方法を考える。
前提
Org mode version 9.6.6
以下の設定をしていて、
見出しのアスタリスクは1つ表示。
org-indent-modeが有効になっているものとする。
(custom-set-variables '(org-hide-leading-stars t) '(org-startup-indented t) )
エクスポート前のorg-modeでの表示は以下のようになっているとする
* サンプルorg top * レベル1 * レベル2-1 * レベル3-1 * レベル4 * レベル5-1 本文1 * レベル5-2 本文2 * レベル2-2 * レベル3-2
テキストファイルへのエクスポート方法
C-c C-e t u
org-export-dispatch
text
UTF-8
デフォルトの場合
エクスポート結果。色々ごてごて出力されてしまう。
username Table of Contents ───────────────── 1. サンプルorg top .. 1. レベル1 ..... 1. レベル2-1 ..... 2. レベル2-2 1 サンプルorg top ═════════════════ 1.1 レベル1 ─────────── 1.1.1 レベル2-1 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.1.1 レベル3-1 ◊ 1.1.1.1.1 レベル4 ◊ 1.1.1.1.1.1 レベル5-1 本文1 ◊ 1.1.1.1.1.2 レベル5-2 本文2 1.1.2 レベル2-2 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.2.1 レベル3-2
目次(Table of Contents)を削除する
ファイルのどこかに以下の記述を追加
#+OPTIONS: toc:nil
エクスポート結果。
username 1 サンプルorg top ═════════════════ 1.1 レベル1 ─────────── 1.1.1 レベル2-1 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.1.1 レベル3-1 ◊ 1.1.1.1.1 レベル4 ◊ 1.1.1.1.1.1 レベル5-1 本文1 ◊ 1.1.1.1.1.2 レベル5-2 本文2 1.1.2 レベル2-2 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.2.1 レベル3-2
作成者を削除する
ファイルのどこかに以下の記述を追加
#+OPTIONS: author:nil
エクスポート結果。
1 サンプルorg top ═════════════════ 1.1 レベル1 ─────────── 1.1.1 レベル2-1 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.1.1 レベル3-1 ◊ 1.1.1.1.1 レベル4 ◊ 1.1.1.1.1.1 レベル5-1 本文1 ◊ 1.1.1.1.1.2 レベル5-2 本文2 1.1.2 レベル2-2 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ◊ 1.1.2.1 レベル3-2
セクション番号を削除する
ファイルのどこかに以下の記述を追加
#+OPTIONS: num:nil
エクスポート結果。だいぶすっきりしてきた。
サンプルorg top ═══════════════ レベル1 ─────── レベル2-1 ╌╌╌╌╌╌╌╌╌ ◊ レベル3-1 ◊ レベル4 ◊ レベル5-1 本文1 ◊ レベル5-2 本文2 レベル2-2 ╌╌╌╌╌╌╌╌╌ ◊ レベル3-2
見出しの階層数を1にする
ファイルのどこかに以下の記述を追加
#+OPTIONS: H:1
エクスポート結果。一番上の見出しだけ見出しとして出力され、それ以降の見出しはリスト表示となる。
サンプルorg top ═══════════════ ◊ レベル1 ◊ レベル2-1 ◊ レベル3-1 ◊ レベル4 ◊ レベル5-1 本文1 ◊ レベル5-2 本文2 ◊ レベル2-2 ◊ レベル3-2
見出しの階層数を10にする
ファイルのどこかに以下の記述を追加
#+OPTIONS: H:10
エクスポート結果。今回のサンプルでは階層数が10に満たないため、全て見出しとして扱われた。
サンプルorg top ═══════════════ レベル1 ─────── レベル2-1 ╌╌╌╌╌╌╌╌╌ レベル3-1 ┄┄┄┄┄┄┄┄┄ レベル4 ┈┈┈┈┈┈┈ レベル5-1 本文1 レベル5-2 本文2 レベル2-2 ╌╌╌╌╌╌╌╌╌ レベル3-2 ┄┄┄┄┄┄┄┄┄
見出しの階層数を0にする
ファイルのどこかに以下の記述を追加
#+OPTIONS: H:0
エクスポート結果。だいぶ近づいてきた。
◊ サンプルorg top ◊ レベル1 ◊ レベル2-1 ◊ レベル3-1 ◊ レベル4 ◊ レベル5-1 本文1 ◊ レベル5-2 本文2 ◊ レベル2-2 ◊ レベル3-2
リストの頭の文字、記号を変更
M-x customize-variable
org-ascii-bullets
で、Org Ascii Bulletsのカスタマイズ画面になるので以下のUTF-8 charsetのところの記号♢を編集して半角のアスタリスクにする。
編集したらC-x C-sで保存しよう。.emacsなどのファイルに追記される。
エクスポート結果。
List: Bullet characters for low level headlines: ASCII charset Repeat: [INS] [DEL] Character: * [INS] [DEL] Character: + [INS] [DEL] Character: - [INS] Bullet characters for low level headlines: Latin-1 charset Repeat: [INS] [DEL] Character: § [INS] [DEL] Character: ¶ [INS] Bullet characters for low level headlines: UTF-8 charset Repeat: [INS] [DEL] Character: ◊ [INS]
エクスポート結果。
* サンプルorg top * レベル1 * レベル2-1 * レベル3-1 * レベル4 * レベル5-1 本文1 * レベル5-2 本文2 * レベル2-2 * レベル3-2
空白行数を変更する
M-x customize-variable
org-ascii-headline-spacing
で、Org Ascii Headline Spacingカスタマイズ画面になる
デフォルト値はそれぞれ以下になっている。
- Number of blank lines before contents: 1
- Number of blank lines after contents: 2
Number of blank lines before contentsを0にする
エクスポート結果。
* サンプルorg top * レベル1 * レベル2-1 * レベル3-1 * レベル4 * レベル5-1 本文1 * レベル5-2 本文2 * レベル2-2 * レベル3-2
Number of blank lines after contentsを0にする
エクスポート結果。
* サンプルorg top * レベル1 * レベル2-1 * レベル3-1 * レベル4 * レベル5-1 本文1 * レベル5-2 本文2 * レベル2-2 * レベル3-2
まとめ
orgファイル内にOPTIONで記載するのと、M-x customize-variableで調整することによってorg-mode表示と同様のテキストファイルエキスポートができる。
ファイル内にOPTIONで記載するもの
#+OPTIONS: toc:nil #+OPTIONS: author:nil #+OPTIONS: num:nil #+OPTIONS: H:0
customize-varibaleでカスタマイズしたもの
.emacsに出力されたもの
(custom-set-variables '(org-ascii-bullets '((ascii 42 43 45) (latin1 167 182) (utf-8 42))) '(org-ascii-headline-spacing '(0 . 0)) )
コメント