はじめてのorg-mode: 見た目そのままテキストエキスポート

org-mode-just-as-text.png

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))
)

コメント

タイトルとURLをコピーしました