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をちゃんと設定すればいいのかもしれないけど、どうせ日本語と英語しか書かないので使う必要はないし。