概要
- 本記事は 軽量マークアップ言語 について解説
- Org mode構文 の利点を他言語と比較しながら紹介
- Markdownの 標準化問題 や多様な方言への批判
- Org mode構文の 直感性と一貫性 を強調
- 見出し・リスト・テーブル等の 具体例と比較 を提示
Org mode構文が最良の軽量マークアップ言語である理由
- 本記事は 軽量マークアップ言語 全般と、その中での Org mode構文 の優位性を論じる内容
- Emacs 以外のエディタ(vim, Atom, Notepad++など)でも Org mode構文 は利用可能
- Org mode構文は 見出し・リスト・強調表示 など、一般的な文書構造を直感的に表現可能
- 例:
* 見出し** サブ見出し*太字*/斜体/_下線_+取り消し線+=等幅=[[http://Karl-Voit.at][リンク説明]]やhttp://Karl-Voit.at- リスト項目1. 番号付きリスト- [ ] 未完了タスク- [X] 完了タスク: ソースコードなどの整形済みテキスト- コードブロック例:
#+BEGIN_SRC python myresult = 42 * 23 print('Hello Europe! ' + str(myresult)) #+END_SRC
- Org modeの テーブル構文 はやや複雑だが、整形を無視しても動作する柔軟性
- 例:
| カラム1 | カラム2 | カラム3 | |---------+---------+---------| | 42 | foo | bar | | 23 | baz | abcdefg | |---------+---------+---------| | 65 | | |
- 例:
- 直感的な記法 で、初心者でもチートシート不要で使い始められる
Markdownの標準化問題と方言の混乱
- Markdownは 多くの方言 が存在し、ツールやサービスごとに仕様が異なる
- 例:Original Markdown, Markdown Extra, MultiMarkdown, GitHub Flavored Markdown, CommonMark, Djot, MySTなど
- 新しい機能(脚注、テーブル等)の追加で 非互換性 が発生
- Markdownの「標準」とされるものが複数存在し、 移植性・互換性の低下 を招く
- ファイル拡張子も
.md,.mkdn,.markdown,.txtなどバラバラ - 結果として ユーザビリティ地獄 に陥りやすい
Org mode構文の一貫性と標準化
- Org mode構文は Emacs Org-mode を基準にし、他ツールでのサブセットも 元仕様に忠実
- これにより データ移行時の情報損失が少ない
- 2025年2月時点で 正式な構文定義 はないが、実装基準が明確
- 拡張子は一貫して .org で統一
- どのツールでも 同じ記法 で解釈可能
見出し・リスト・定義リストの比較
- 見出し記法の種類
- プレフィックス型(例:
* 見出しOrg mode,# HeadingMarkdown) - プレ&ポストフィックス型(例:
== Heading ==) - アンダーライン型(例:
Heading 1\n=========AsciiDoc, reStructuredText)
- プレフィックス型(例:
- Org modeは プレフィックス型 で、階層が明確で覚えやすい
- アンダーライン型やプレ&ポストフィックス型は 可読性や一貫性に欠ける ため混乱しやすい
- リスト記法も言語ごとに複数存在し、 MarkdownやAsciiDocでは混在・混乱 しやすい
- 定義リストの例(AsciiDoc):
Term 1:: Definition 1Term 2.1;; Definition 2.1- 階層やインデントが複雑で、 視認性や記憶性が低い
テーブル・リンク記法の比較
- AsciiDoc等では 複雑なテーブル記法 や多機能を提供するが、 記憶・手入力が困難
- Org modeは 基本的なテーブル記法 を提供し、手軽に利用可能
- リンク記法も Org modeは一貫してシンプル
[[URL][説明]]やURLのみでOK
結論
- Org mode構文は 直感的・一貫性・拡張性 に優れ、他の軽量マークアップ言語よりも 多くのユースケースに最適
- Markdownなどの 方言乱立や標準化問題 に悩まされることなく、 安心して長期利用できる構文
- Emacsユーザー以外にも 幅広く推奨可能 な軽量マークアップ言語