muse-mode でプレゼン pdf を作る (1)

第 21 回関西 Debian 勉強会で uwabami さんが発表した muse-mode でプレゼン資料を作るネタ (id:sasakyh:20090127) を真似してみる試み。

muse-mode 自体は随分前に導入済みなので、設定を見直して、思惑通りに動いてくれるようにする。したい。

思惑

  • 原稿は muse-mode でダラダラ書く
  • publish:slides で発表用勉強会資料の tex ファイルを作成
  • publish:lecture-notes で配布用勉強会資料の tex ファイルを作成

これらのファイルを勉強会資料のリポジトリにつっこんで、「後は include しておいてー」って出来れば嬉しいんだけど、チェックやら色々作りこんでいる都合でそれは無理っぽい。

tex ファイルはマージすることを考えると、単体ではコンパイルできないパーツにしておいて、手元で preview する時だけヘッダがつくようにすればいい?

試行錯誤

uwabami さんの設定と原稿ファイルをもとに、とりあえずまっとうな出力ができることを目標に、いろいろ試してみた。

;;;;;;;;;;;;
;; muse-mode
(require 'muse)
(require 'muse-colors)
(require 'muse-mode)
(require 'muse-html)
(require 'muse-latex)
(require 'muse-latex2png)
(require 'muse-texinfo)
(require 'muse-docbook)
(require 'muse-wiki)
(require 'muse-project)

(setq
      muse-xhtml-charset-default "euc-jp"
      muse-html-encoding-default 'euc-jp
      muse-html-meta-content-encoding 'euc-jp
      muse-latexcjk-encoding-default (cdr (assoc 'euc-jp-unix muse-latexcjk-encoding-map))
      muse-latex-pdf-browser "evince %s &"
      muse-latex-pdf-program "latexmk"
      muse-latex-pdf-cruft '(".aux" ".toc" ".out" ".log" ".aux.bak" ".snm" ".nav" ".dvi" ".fdb_latexmk") 
      muse-footer-date-format "%Y-%m-%d"
      muse-file-extension nil
      muse-mode-auto-p t
;      muse-latex-slides-header "~/.emacs.d/template/beamer-header.tex"

      muse-latex2png-scale-factor 1.25
      muse-latex2png-img-dest "./img"
      muse-latex2png-use-xhtml t
      )

(muse-derive-style "slides-pdf"
                   :strings
                   :header "~/.emacs.d/template/beamer-header.tex")

(add-hook 'find-file-hooks 'muse-mode-maybe)
(rplacd (assoc "\\.howm$" auto-mode-alist) 'muse-mode)

(define-key ctl-x-map "M" 'muse-project-find-file)

beamer-header.tex は、勉強会リポジトリから発表資料のヘッダを適当に流用したもの。これまでのところ、一番苦労したのは muse-latex-pdf-program で、最初はここに dvipdfmx と設定して迷走してしまった。

結局、muse が出力するのは *.tex で、dvipdfmx は dvi → pdf の変換をするので、tex → dvi のところが処理されていなかったのが原因だったようだ。muse デフォルトだとここは pdflatex になるので、日本語を使わないならこれで tex から pdf まで一気に変換してくれるらしい。

uwabami さんの設定では latexmk-pdf とされていたので、sid で aptitude install latexmk してみたけど、pdf にまつわる設定は特に見当たらなかった。多分自作のスクリプトか何かだろうなー、と思いながら本家の latexmk ページを見ると、どうも最新版では dvipdfmx に渡すオプションもあるようだ。debian のパッケージは暫く放置されているようだったので、apt-get source して無理矢理最新に追従させてみた。

これで、muse からは latexmk を呼ぶだけで、後は latexmk の設定で適当に pdf まで変換してくれるように出来た。日本語も問題なし。impressive での表示も可能。

課題

  • beamer の書式がよくわかってない
  • 勉強会リポジトリとの整合性はもうちょっと調整しないとダメ
  • lecture-note には着手できず

感想

TeX 面倒。記事書いて渡すだけなら一定の書式覚えるだけの話だけどねぇ。

Gmail + imap + mew

手はじめに、前々から宿題にしてた mew の味見をしてみた。

Gmail の WebUI はこういう手間を後回しにしておけるにはよく出来てるんだけど、やっぱりメールは普段クライアントで処理して、一応 Web でも見れる、というの形にしておきたい。ので。

こちらのサイトを参考に、

閲覧だけは問題なくできるように設定できたようだ。操作方法がまだわかってないから、マニュアル読んでこないと。

関西 Debian 勉強会 #14

今回は、大浦さんのパッケージ開発ネタ (pbuilder)、久保さんのサーバ管理ネタ (証明書)、id:junkawa さんのデスクトップと思わせて kernel 寄りネタ (hotplug) と、バラエティに富んだ内容で面白かった。

中でも hotplug ネタがねっとりと濃密でいい感じ。あの資料はスクリーンじゃなくて手元で読みたかったかな。資料の準備時間が足りなくて途中まで、ということだったけど、ほとんどの人は十分にお腹いっぱいだったんじゃないかしら。

こういう話を聞くと若返った気がするな。私も放置してたあれこれを頑張ろっと。

KDR Camp#00

Debian 読書会後の飲み会で話のでた、合宿企画をやってきた。合宿とはいっても、今回は参加者の都合がうまくつかなかったため、宿泊なしで 09:00〜20:00 までひたすら Debian 絡みの作業をする、というもの。

これまでやったこともないし、こんな企画をするのも初めてなので、ひとまず走ってみて運営の流れとか、今思ってるやり方が合うかどうか見てみよう、みたいなノリで、かなーり「えいや」なところがあったので、今回はプレ合宿、な位置づけでの開催となった。

集合が 30 分前後遅れたり、ネットワーク設営に 2 時間以上手間取ってしかも結局接続できなかったり、となかなかスムーズにはいかなかったけど、ひとまず次回に向けた指針は得られたと思う。

会場とプロジェクタを用意してくれた id:Say-no さんとネットワーク環境の人柱を買ってでてくれた namu さん、ありがとうございました。今回都合がつかなかった皆さんも、次回は是非ご一緒しましょう。

次回の検討

  • 会場に現地集合でなく、駅とかで集合した後会場へ移動
    • 私みたいなのが遅刻してこないように
  • ネットワーク/電源が使える前提の場所を選ぶ (設営での苦労を避ける)
  • 作業内容と予定成果を事前にとりまとめておく
    • 作業のための準備を会場でなく事前にできるように、作業内容を具体化する
  • 成果発表のための時間と場を予定に組み込む
  • 食事後の開始時間は決めておいた方がいいかも
  • Lingr をどうするか。集中を阻害されていた感がある。リモートの人とライブ感を共有できる利点があるので痛し痒し

作業結果

私は所用のため 17:00 で中座したので、時間がなくて成果発表はしなかったんだけど、とりあえずこの日を見込んで溜めてあった作業はひとまず完了させた。

  • yaskkserv の debian bts を全部閉じて 0.3.8-4 に更新
  • yaskkserv の DDTP を翻訳

二つ合わせて 3 時間くらいの作業と見込んでたので、作業効率としては今一つだったかも知れない。次はもうちょっと集中しよう。

gcc-4.3 のバージョン表記ルール変更

yaskkserv に build できない深刻なバグがあるって通知が来たから見てみれば、gcc-4.3のバージョン表記が変わってるのが原因だった。

一体どういう意図で変えたんだか知らないけど、これ両方にマッチする正規表現ってどうしたもんかな。あるいはバージョンチェックのロジック自体に手を入れてしまう?

とりあえず gcc のメンテナを呪っておこう。

2008-04-13追記:

やまねさんに頂いた助言を元に、'gcc -v' を使ってバージョンを出力させるように変更してみた。

python-cmemcache パッケージを引き受けた

作者さんが快諾してくれたので、手直しして mentors に upload した。スポンサーもして頂けるそうなので、あとはアーカイブへの put を待つばかり。

ちょうど upload しようとした時に mentors がトラブって、結局今日までかかってしまった。