GWは気づいたらorgmodeで遊んでた...
org-modeを久しぶりに更新したらいくつか動かなくなったのでメモ。
exportまわりが変わりましたね。ファイル名が、ox-*.elという名前空間になったようです。
(例: org-latex.el -> ox-latex.el)
C-c C-eしたときに出てくるバッファもめっちゃ変わりました。DocBookとかOpenDocument出力とか無くなってるんだけど需要ないのかな...?
他にも変わっているかもしれませんが、とりあえず気づいた部分だけ。
org-latex-pdf-process
org-modeからLaTeX経由でPDFにするプロセスを指定する
7.xまでは、org-latex-to-pdf-process
でしたが、8になってからは、org-latex-pdf-process
という変数になったようです。
例えば、LaTeXからPDFにするときpdflatexを呼び出すとき、init.elに
(setq org-latex-pdf-process
'("pdflatex %f" "pdflatex %f" "pdflatex %f"))
と記述すればよいみたいです。(ちなみにpdflatexだと日本語を含んだ文書のタイプセットはできない)
org-latex-classes
org-modeでいろんな文書のタイプ(LaTeXでクラスファイルjsarticleやjsbookを指定したり、その他styファイルをインクルードする)を指定するとき
7.xまでは、org-export-latex-classes
でしたが、8になってからは、org-latex-classes
という変数になったようです。
例えば、jsarticleとjsbookを変数に登録する場合、init.elに
(setq org-latex-classes '(("jsarticle"
"\\documentclass{jsarticle}
\\usepackage[dvipdfmx]{graphicx}
\\usepackage{url}
\\usepackage{atbegshi}
\\AtBeginShipoutFirst{\\special{pdf:tounicode EUC-UCS2}}
\\usepackage[dvipdfmx,setpagesize=false]{hyperref}
[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}"))
("jsbook"
"\\documentclass{jsbook}
\\usepackage[dvipdfmx]{graphicx}
\\usepackage{url}
\\usepackage{atbegshi}
\\AtBeginShipoutFirst{\\special{pdf:tounicode EUC-UCS2}}
\\usepackage[dvipdfmx,setpagesize=false]{hyperref}
[NO-DEFAULT-PACKAGES]
[PACKAGES]
[EXTRA]"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
))
みたいな感じに書くようです。
(ここら辺の内部について詳しくは調べてないのでソースコードなりヘルプを出して見るべし)
デフォルトクラス
多分7.xでもあると思うので余談になりますが、#+LATEX_CLASS
を書かないと標準では、article
クラスが選ばれます。
こいつは日本語用のクラスではないので、今まで毎回クラスを指定していました。
調べていたついでに、org-latex-default-class
という変数を発見しました。
どうやらクラスを指定しないと、この変数の値が自動的に使われるようです。
上記の例で、jsarticle
をデフォルトにするには、
(setq org-latex-default-class "jsarticle")
とすれば良いらしいです。
知らなかった...