photo
こんにちは!
みなさん今日もバリバリemacs使ってますか?

先日電子書籍として出版した『チュートリアル形式で始めるOpenGL[2D編]』ですが、

emacs + org-mode → html

という流れで原稿を作成しました。

いやほんとこれが異常なほど効率的で、きっと世のemacs使いはこれを使ってバリバリ電子書籍を出版してるに違いない!と思えてしまうほどに惚れ込んでしまいました。

というわけで、アウトラインプロセッサorg-mode。html出力に限った用途での使い方を紹介してみたいと思います。すっげえニッチな記事だね。まあそれはいつもの事か。


org-modeはemacsに標準添付されているのですが、ちとバージョンが古いので、公式サイトから最新版を落としてきましょう。ファイルを解凍したらlispフォルダの中身全部と、contlib/lispフォルダのhtmlize.elを、自分のローカルなlisp置き場に置いて、init.elにはこう書きます。

(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
;; 以下はお好みで
(setq org-export-allow-bind-keywords t)
(setq org-export-with-sub-superscripts nil)

はい完了!emacsを再起動すれば、もう最新版のorg-modeが使えるようになっています。

では早速、test.orgを開いて、以下のように打ち込みます。「ほげほげ」とか「ふがふが」が嫌な人は適時文章を流し込んでください。

#+TITLE: org-modeのHTML書き出しテスト

#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="test.css" />

* テスト1
  <<hoge>>
  ほげほげほげほげほげ

** 小見出し1
   ふがふがふがふがふがふがふがふがふがふがふがふがふがふがふがふがふがふが

** 小見出し2
   強調は前後に空白を入れて「*」で挟む。 *こんな感じです* 文字の装飾は他にもあるので、org-mode同梱のpdfファイルに目を通してみてください。

   空行を入れてから書き始めると、「次の段落」扱いになります。

   + 順序無しリスト1\\
     行末に「\\」で同じ段落内での改行
     - さらに順序無しリスト\\
       ふがふがほげほげふがふがほげほげふがふがほげほげふがふがほげほげ

   + 順序無しリスト2\\
     ふがほげふがほげふがほげふがほげふがほげふがほげ

* テスト2
  ぴよぴよふがふがぴよぴよふがふがぴよぴよふがふがぴよぴよふがふが

** 小見出し1
   見出し(*のついている行)でTABを押すと、見出しを折り畳んだり展開したりもできる!

*** さらに小見出し1
    TABを押していい感じにインデントして書き出します

*** さらに小見出し2
    ちなみに、見出し以外は改行を無視します

    #+CAPTION: テーブルはこんな感じ
    | ほげほげ     | ふがふが         |
    |--------------+------------------|
    | ぴよぴよぴよ | ほげぴよほげぴよ |

   リンクは http://test.org と書いたり、[[http://test.org][リンク]] と書いたりします

** 小見出し2
   コードの挿入は
   
   #+BEGIN_SRC c++

#include <iostrem>

int main() {
  std::cout << "ほげほげ" << std::endl;
  return 0;
}

   #+END_SRC

   こんな感じなのですが、なんとemacsの色分けをそのまま出力してくれる!

** 原稿内でのリンク
   こうやって書くだけ。[[hoge][リンク]] 編集で段落が移動しても問題無し。


打ち終わったら C-c C-e h h と入力。はい!できました!!たったそれだけで同じ場所に test.html が出力されます。素晴らしい!あとは、test.cssを作っていい感じに装飾すれば、もう立派な原稿の出来上がりです。自分がそうした!
17
50
画像の挿入は

file:hoge.png

とだけ書けばよく、テーブルに至っては|(縦棒)と、中の語句を書きながら、適時TABを押してゆけばいい感じに整形してくれて至れり尽くせりです。たいていTABを押したら何とかしてくれるので、もうHTMLでテーブルを作る事はないだろうと思いましたw

org-modeの素晴らしい所は、

・目次を自動で生成してくれる(まさに電子書籍向け!)
・段落丸ごとを前後に移動するのも簡単(M-up、M-down)
・プログラム部分はemacsの色分けそのままで出力してくれる
・テキストファイルなので、他のエディタでも編集できる

などなど、挙げたらきりがありません。自分はとくに、プログラム部分をemacsの色分けと同じにしてくれるのが気に入ってます。

ひとつ前のバージョンですが、有志の方々によるマニュアルの邦訳もありますので、emacs使いの人!お暇な時にでも挑戦してみてはいかがですかな?


ではまた次回!