【まとめ】rst2pdfの設定

環境

rst2pdfはrstからpdfを作るツール。マニュアルは下記を参照。

http://lateral.netmanagers.com.ar/static/manual.pdf

使用したバージョンは0.91。

OSはubuntu 12.04

フォント

migmix-1pとmigu1mを利用する。次のサイトからダウンロードして解凍する。

http://sourceforge.jp/projects/mix-mplus-ipa/downloads/53388/migmix-1p-20111002.zip/
http://sourceforge.jp/projects/mix-mplus-ipa/downloads/53388/migmix-2m-20111002.zip/

~/.fontsを作成し、解凍した次のファイルをコピーする。

  • migmix-1p-regular.ttf
  • migmix-1p-bold.ttf
  • migu-1m-regular.ttf
  • migu-1m-bold.ttf

設定ファイル

rst2pdfの設定ファイル

次の内容を~/.rst2pdf/configに保存。

[general]
stylesheets="ja"
font_path="~/.fonts"
日本語用のスタイルファイル

次の内容を~/.rst2pdf/styles/ja.jsonに保存

{
  "embeddedFonts" :
  [["migmix-1p-regular.ttf",
    "migmix-1p-bold.ttf",
    "migu-1m-regular.ttf",
    "migu-1m-bold.ttf"]],
  "fontsAlias" : {
    "stdFont": "MigMix 1P Regular",
    "stdBold": "MigMix 1P Bold",
    "stdItalic": "MigMix 1P Bold",
    "stdBoldItalic": "MigMix 1P Bold",
    "stdMono": "Migu 1M Regular"
  },
  "styles" : [
    ["base" , {
      "wordWrap": "CJK"
    }]
  ]
}

ubuntuでnative extentionがあるgemをインストール

ubuntuに変えて、一つ不満だったのはパッケージがありすぎることである。
いや、ありすぎることは悪いことではない。
だけど、問題はどのパッケージをインストールするべきかわかりづらいということだ。

たとえば、rubyのコードでbundle installすると

Using do_mysql (0.10.6) from git://github.com/datamapper/do.git (at d7cb262) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
/usr/lib/ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

        /usr/bin/ruby1.9.1 extconf.rb 
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***

とエラーが出る場合。
この場合、mysqlclientのライブラリがないといっているようだ。
CentOSだと、なんとなくsqlite-devっぽいものをインストールすれば解決した。

最近、apt-fileというコマンドを覚えた。apt-getでインストールし、apt-file updateで最新の情報が手に入る。そこで、

$ apt-file search mysqlclient
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient.a
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient.so
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.a
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/changelog.Debian.gz
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/copyright
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/examples/udf_example.c.gz
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.16
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.16.0.0
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16.0.0
libmysqlclient16: /usr/share/doc/libmysqlclient16/changelog.Debian.gz
libmysqlclient16: /usr/share/doc/libmysqlclient16/copyright
libmysqlclient16-dev: /usr/share/doc/libmysqlclient16-dev/changelog.Debian.gz
libmysqlclient16-dev: /usr/share/doc/libmysqlclient16-dev/copyright
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
libmysqlclient18: /usr/share/doc/libmysqlclient18/changelog.Debian.gz
libmysqlclient18: /usr/share/doc/libmysqlclient18/copyright
pandora-build: /usr/share/aclocal/pandora_have_libmysqlclient.m4

となるいっぱい出てくるけど、libmysqlclient-devが怪しさ満点。そこで、apt-get installする。
問題は解決しました。

次、Postgresqlについても同様のエラー。こちらは、

>|bash|
checking for main() in -lpq... no
checking for main() in -llibpq... no
|

XPとの戦い

自宅で使っているDesktopにXPをインストールしようとした。Ubuntuが快適なので、Win7いらない子になりつつあった。だからという分けではないが、ゲームようにXPをインストールしようとした。一番やりたかったのは、ハードディスクのパーティションを利用して、Win7WinXPUbuntuを切り替えて機動できるように、すなわち、XPはネイティブ(仮想ではなく)で動作するようにさせたかった。

しかし、XPのインストールの段階で様々な困難が。まず、IDEのコントローラが標準でRAIDになっているので、Windows XPをインストールすると、途中でブルースクリーンがでて止まってしまう。

なので、設定をIDEに変えて見たところ、インストールは終わる。しかしながら、NICを初め、各種デバイスがほとんど認識されない。

nicだけでも認識させたいと重い、再びBIOSをいじって、NICが起動するときにROMを読むようにした。しかし、変化せず。

現状の結論は、XPをこのマシンに非仮想化で入れようとすると、大変だということ。

ちなみに、Win7-32でVirtualBoxVMWare Workscationを使って仮想化しながらインストールしてみる。ベンチマークをとると、Win7で7365-Hを叩き出すマシンでも、仮想化すると1667から1719くらい。極端にわるいときもあるようだ。

・・・ネイティブでXPを動かしたかったな。

rstでPDFのスライドを作る

以前失敗したことに再チャレンジ。

MigMixフォントの入手

http://mix-mplus-ipa.sourceforge.jp/migmix/
ここでは、migmix-1pを使う。

rst2pdfで日本語

http://sakito.jp/python/rst2pdf.html

要するに、

$ mkdir ~/.rst2pdf
$ cat > ~/.rst2pdf/config << EOF
[general]
stylesheets=~/.rst2pdf/ja.json
compressed=false
font_path=~/.fonts/migmix-1p-20111002
header=None
footer=None
fit_mode="shrink"
break_level=0
EOF
$ cat > ~/.rst2pdf/ja.json << EOF
{
  "embeddedFonts" :
  [["migmix-1p-regular.ttf","migmix-1p-regular.ttf","migmix-1p-regular.ttf","migmix-1p-regular.ttf"]],
  "fontsAlias" : {
    "stdFont": "MigMix 1P Regular",
    "stdBold": "MigMix 1P Regular",
    "stdItalic": "MigMix 1P Regular",
    "stdBoldItalic": "MigMix 1P Regular",
    "stdMono": "MigMix 1P Regular"
  },
  "styles" : [
    ["base" , {
      "wordWrap": "CJK"
    }],
    ["literal" , {
      "wordWrap": "None"
    }]
  ]
}
EOF

rst2pdfでスライド作成

http://lateral.netmanagers.com.ar/stories/BBS52.html

似たようなものに、s5がある。rstからhtmlに変換し、スタイルシートとあわせてブラウザでプレゼンするもの。ただ、解像度にあう画像のサイズを気をつけたりしなくてはならず、使いにくい。

rst2pdfのがよさそう。

おまけ;その他の日本語フォントの入手

http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html
Emacs

https://wiki.ubuntulinux.jp/UbuntuTips/Desktop/InstallFont
↑にあるもの全部盛りワンライナー

$ sudo apt-get install ttf-mscorefonts-installer ttf-vlgothic ttf-sawarabi-gothic ttf-sazanami-gothic ttf-sazanami-mincho ttf-konatu ttf-hanazono ttf-kochi-gothic ttf-umeplus ttf-komatuna ttf-monapo ttf-umefont otf-yozvox-yozfont ttf-mikachan ttf-aoyagi-kouzan-t ttf-kouzan-mouhitsu