こんにちは!
みなさん連休中はEmacsに何時間くらい触れましたか?
オレはずっと触っていたぜ!(白目)
さて…そんなEmacsのプラグインの中でも特に良く出来てると思っている「org-mode」ですが、まさか編集中のバッファを直接PDFファイルに書き出せるなんて思ってもみなかったので(HTMLファイルに書き出して喜んでいた程度)、ちょっと試してみたら、これが思った以上に道が険しかったのでした!
結論:OSX 10.8では「platexとdvipdfmxで変換」が使えないので「lualatex」を使う
という訳で、いつものようにその導入と設定についてメモ。
まず、macportsからTexLive2012パッケージ関連をゲット
あとで振り返ってみたら、こんだけインストールしてました。ちょっと時間が掛かりました。
sudo port install texlive-lang-cjk sudo port install texlive-latex-recommended sudo port install texlive-fonts-recommended sudo port install texlive-luatex
ウェブ上にある諸先輩型の情報を眺めるに、「platexとdvipdfmxを併用すれば、日本語ファイルも問題なくPDF出力可能だぜ〜」という事で早速org-modeを設定して試してみたのですが、なんと画像が含まれる場合に dvipdfmx が途中で「Abort Trap 6」してしまうという不具合「死のトラップ6」が見つかっており、しかもこれがまだ修正されていない模様。あ、「死のトラップ6」は今オレが勝手に命名したった。
マジかよ…と思ったのですがここで諦めないでさらに調べてみたら「lualatex」なるコマンド一発で.texから.pdfに変換可能。という情報を見つける。でもorg-modeでの使用例が見つからない。グーグルせんせぇ…
惜しい!
でもやっぱり諦めきれないので、「platexとdvipdfmxで変換」する時の設定をあーだこーだと修正して、なんとかこの設定に辿り着きました…。でもきっといろいろ間違ってると思いますので、あとでそっと教えてくれると嬉しいです…。
(setq org-latex-classes '(("ltjsarticle"
"\\documentclass{ltjsarticle}
\\usepackage{graphicx}
\\usepackage{color}
\\usepackage{atbegshi}
\\usepackage[unicode=true,bookmarks=true]{hyperref}
\\usepackage{bookmark}
\\usepackage{url}
[NO-DEFAULT-PACKAGES]
[PACKAGES]
[EXTRA]"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
))
(setq org-latex-default-class "ltjsarticle")
(setq org-latex-pdf-process '("lualatex %b" "lualatex %b"))
※自分はorg-latex-default-classとorg-latex-pdf-processはEmacsの便利で楽なcustomize機能を使ってます
これで無事、org-modeから直接、画像入りの日本語PDFが出力できるようになりました!
こんな感じにorg-modeでテキスト書いて、PDFに書き出してみると…

#+TITLE:org-modeからPDFを書き出す
#+OPTIONS: \n:t
* こんな感じに日本語で書いても大丈夫!
org-modeからHTMLに出力できるのは知っていたのですが、まさかPDFでも書き出せるとは思ってもみませんでした。
*** ふがふが
こんな感じに画像が挿入されていても、問題なく書き出してくれます。org-modeとluaTeX最高!
#+ATTR_LaTeX: :width 5cm
file:test.png
*** ほげほげ
あとは挿入する画像のサイズの調整とか、文字フォントの埋め込みとか、諸々調整が残ってるけどとりあえずオッケィ!
こんな感じにorg-modeでテキスト書いて、PDFに書き出してみると…

うはっぁああ!やったあああぁぁぁああ!
スッキリ!!
ではまた次回。


























