Lyx で Beamer
Lyx で、というより platex + dvipdfmx で beamer な日本語スライドを作るときのメモ。
プリアンブルで
\documentclass[dvipdfmx]{beamer} \usefonttheme[onlymath]{serif} \AtBeginDocument{% \renewcommand\mcdefault{gt}% \kanjifamily \gtdefault \selectfont }
とする。
下4行はすべてのフォントをゴシック体に置き換える設定。
\usefonttheme[onlymath]{serif} で数式だけはローマン体のままにしている。
各設定の出典は忘れてしまった。
transcribe!
Win, Mac, Linuxで動く耳コピ支援ソフト「transcribe!」
http://www.seventhstring.com/xscribe/overview.html
AURにパッケージあり。ただしPKGBUILDにdependenciesが書かれていない。
gstreamer0.10-good-pluginsが必要。入ってないと、起動時にgconfaudiosinkが無いよと言われる。
hoge.mpkg.dmgをLinuxで展開
目的
Session StringsのMac版イメージからサンプルデータだけ取り出してWindowsで使いたい。
手元にMacが無いので、作業はArch Linux上で行う。
手順1. mpkg.dmgの展開
- dmg2imgでhoge.mpkg.dmgをhoge.mpkg.imgに変換
- mount -t hfsplus -o loop hoge.mpkg.img でマウント
マウント先にはhoge.mpkgがある。mpkgはただのディレクトリ。
手順2. pax.gzの展開
目的のブツはfuga.pax.gzという見慣れない形式で圧縮されていた。
- gzip -d fuga.pax.gz でgzを展開
- cat fuga.pax | cpio -idv でpaxを展開
zcat fuga.pax.gz | cpio -idv で一発でいけそう
反省
なぜWindows版イメージのバックアップを取らなかったのか…
(NIのダウンロード販売は、購入後5日間しかダウンロードできない)
PDFの各ページを分割して組み直すスクリプト
目的
下のように、パワポのスライドが4枚印刷された資料が講義のレジュメとしてよく配られる。
-------- | 1 2 | | 3 4 | --------
これをスキャンして、スキャナ付属のソフト(Windows上)でPDFにしたのだが、Kindleでは読みにくいため下のように2つのPDFに分割したい。
----- ----- | 1 | | 3 | | 2 | | 4 | ----- -----
方法
縦に半分に分割するだけなら簡単なのだが、それでは順番がおかしくなってしまうのが厄介。
pyPdfを使ってPDFのmediaboxあたりを弄ってどうにかしようとしたが上手くいかず。
そこで一度PDFから画像を抜き出し、imagemagickで処理して、再びPDFに戻すことにする。
スクリプト
#!/bin/sh # # version 1 # Create a working directory src=$1 dest=out.pdf date=`date +%y%m%d%H%M%S` dir=/tmp/mypdf-$src-$date mkdir $dir # Split PDF to pbm images pdfimages $src $dir/image cd $dir # Force images turn portrait convert image* -rotate "-90<" rotated-%d.pbm # Split each images to 4 images for file in rotated-* do convert $file -crop 50%x50% cropped-%d.pbm # Append each 2 images convert cropped-0.pbm cropped-1.pbm -append merged-$file-0.pbm convert cropped-2.pbm cropped-3.pbm -append merged-$file-1.pbm rm -f cropped-* done # Compress and merge all images to a PDF convert merged-* -monochrome compressed-%d.png cd - > /dev/null convert $dir/compressed-* $dest # Remove temporary directory/files rm -rf $dir
結果
一応、目的のPDFは出来た。ビュアーで開いて見た限りでは画質の劣化はなし。ただし解像度は10倍近く大きい。
ファイルサイズも元のファイルの3倍くらいになってしまう。時間もかかるし、メモリも喰う。
これはPDFの画像がadobeの独自フォーマットになっているので、どうしようもないはず。Adobe Acrobatを買うか? バッチ処理とか出来るんだろうか。
PDFのメタデータを直接いじる方向ならあるいは…また気が向いたら調べるかも。
Lyx 2.0 の設定
概要
platexでコンパイルするためのソースをLyxに吐かせるための設定。
少なくとも初期設定ではうまく行かない上、少々トリッキーな設定が必要。もっとまともな方法があるのか?
なぜか今までCJKパッケージを使っていたので、platexにすると文字が綺麗になって嬉しい。
弄るところ
ツール->設定->言語設定->言語:
言語パッケージを"任意設定"にして、そのコマンド欄は空欄にする。
ツール->設定->ファイル処理->変換子:
LaTeX (plain) -> DVI の変換子を"platex"に、追加フラグを"latex=platex"に変更し、右上の「修正」をクリック。
ツール->設定->ファイル処理->ファイル形式:
既定出力形式を"PDF (dvipdfmx)"にする。
補足
これで、目玉アイコンや更新アイコンで直接PDFを出力してプレビューできるようになる。
言語パッケージを"任意設定"にしてコマンドを空欄にするのがミソで、言語パッケージを"なし"にするとなぜかLyxさんは"\usepackage[japanese]{babel}"などと挿入してくださって、変換時にエラーが出る。
Babelをちゃんと設定すればいいのかもしれないけど、どうせ日本語と英語しか書かないので使う必要はないし。