org-mode画面で誰かに説明した後、テキストを共有することがある。
しかしorgファイルのまま渡すと、orgファイルを知らない人に嫌がられるかもしれない。
ここではなるべくorg-mode画面の見た目そのままテキストファイルにする方法を考える。
前提
Org mode version 9.6.6
<p>
以下の設定をしていて、<br /> 見出しのアスタリスクは1つ表示。<br /> org-indent-modeが有効になっているものとする。
</p>
<p>
<em></em>
</p>
<pre class="example" id="nil">
(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
デフォルトの場合
エクスポート結果。色々ごてごて出力されてしまう。
<p>
<em></em>
</p>
<pre class="example" id="nil">
username
Table of Contents ─────────────────
- サンプル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)を削除する
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+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
作成者を削除する
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+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
セクション番号を削除する
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+OPTIONS: num:nil
エクスポート結果。だいぶすっきりしてきた。
サンプルorg top ═══════════════ レベル1 ─────── レベル2-1 ╌╌╌╌╌╌╌╌╌ ◊ レベル3-1 ◊ レベル4 ◊ レベル5-1 本文1 ◊ レベル5-2 本文2 レベル2-2 ╌╌╌╌╌╌╌╌╌ ◊ レベル3-2
見出しの階層数を1にする
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+OPTIONS: H:1
エクスポート結果。一番上の見出しだけ見出しとして出力され、それ以降の見出しはリスト表示となる。
サンプルorg top ═══════════════ ◊ レベル1 ◊ レベル2-1 ◊ レベル3-1 ◊ レベル4 ◊ レベル5-1 本文1 ◊ レベル5-2 本文2 ◊ レベル2-2 ◊ レベル3-2
見出しの階層数を10にする
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+OPTIONS: H:10
エクスポート結果。今回のサンプルでは階層数が10に満たないため、全て見出しとして扱われた。
サンプルorg top ═══════════════ レベル1 ─────── レベル2-1 ╌╌╌╌╌╌╌╌╌ レベル3-1 ┄┄┄┄┄┄┄┄┄ レベル4 ┈┈┈┈┈┈┈ レベル5-1 本文1 レベル5-2 本文2 レベル2-2 ╌╌╌╌╌╌╌╌╌ レベル3-2 ┄┄┄┄┄┄┄┄┄
見出しの階層数を0にする
ファイルのどこかに以下の記述を追加
<p>
<em></em>
</p>
<pre class="example" id="nil">
#+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などのファイルに追記される。
<p>
エクスポート結果。
</p>
<p>
<em></em>
</p>
<pre class="example" id="nil">
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カスタマイズ画面になる
デフォルト値はそれぞれ以下になっている。
<ul class="org-ul">
<li>
Number of blank lines before contents: 1
</li>
<li>
Number of blank lines after contents: 2
</li>
</ul>
Number of blank lines before contentsを0にする
<div class="outline-text-3" id="text-org8bfb030">
<p>
エクスポート結果。
</p>
<p>
<em></em>
</p>
<pre class="example" id="nil">
- サンプルorg top
- レベル1
-
レベル2-1
- レベル3-1
- レベル4
-
レベル5-1 本文1
-
レベル5-2 本文2
-
- レベル4
- レベル3-1
-
レベル2-2
- レベル3-2
-
- レベル1
Number of blank lines after contentsを0にする
エクスポート結果。
<p>
<em></em>
</p>
<pre class="example" id="nil">
- サンプルorg top
- レベル1
- レベル2-1
- レベル3-1
- レベル4
- レベル5-1 本文1
- レベル5-2 本文2
- レベル4
- レベル3-1
- レベル2-2
- レベル3-2
- レベル2-1
- レベル1