hyperrefは読み込ませる順番に気をつけましょう

2011/11/04未分類import
今まで私の作成していたtexファイルを使ってコンパイルしたdvi・pdfファイルではjpeg,pngなどの通常の画像ファイル読み込みが行われず,正常なファイルを出力できなかった.
このときdvipdfmxを走らせると次の一文を含むエラーを吐き出す.
Unparsed material at end of special ignored.
これはdviをpdfに変換すると画像出力されないと同じ症状だが,同じ対策をしても改善しなかった.
別の理由によるものらしいが,解決策が見つからなかったので1年以上放置していた
(EPSは正常に出力されるので,jpgやpngをepsに変換して使っていた).

そして,今日やっと気がついた!
hyperrefが悪さをしていたようだ.hyperrefとgraphixパッケージの読み込み順序を
「graphix→hyperref」から「hyperref→graphix」に変えただけで何事もなかったかのようにjpgやpngを使えるようになった.めでたしめでたし.
hyperrefはお行儀の悪いプログラムのようですので*1,皆さんお気をつけください.

また,Windows環境でdvioutを使っている人がjpgやpngを使いたい場合はsusieのプラグインをdvioutのインストール先に放り込まないと実現できません.

*1 : ただし,個人でpdf文書を作るときはすばらしい機能を付加してくれるので大変有用です.

ちょっと前にddで消した行を呼び出す

2011/10/05未分類import
ddやyy等で切り取り,コピーした行はvimに番号を振られて保存されています.
1つ前にddで削除した行を呼び出したい場合,
"2p
とコマンドモードで入力するとできます.
この数字は新しくddやyyなどを使うごとに流れていきます.

また,頻繁に使うものに関してはアルファベットを振って記憶させることが可能で,対象文字列を選択した後,
"ay
などと打てばaという名前でその文字列が記憶されます.
ちょっとした際に便利なコマンドです.

指定した間隔で行頭へ文字列を挿入する

2011/10/05未分類import
23行目から35行目までの範囲で,24行目から5行ずつ\tcc\tという文字列を行頭に挿入.
:23,35g/^/ if (line('.')- 23)%6|s/^/\tcc\t/
あるいは明示的に0以外と書きたければ
:23,35g/^/ if (line('.')- 23)%6>0|s/^/\tcc\t/
これを削除にしたければ,パイプ以下をdとする.
:23,35g/^/ if (line('.')- 23)%6|d
要は,計算式「(line('.')- 23)%6」が0でない場合に処理を行うという操作です.
ただし,このdを使ったコマンドは失敗することがあるようなので,
行頭などにフラグの文字列を一度入れて,改めてその行を削除するのがより確実だと思います.
:23,35g/^/ if (line('.')- 23)%6|s/^/delete/
:23,35g/delete/d

BonTsDemuxをLinux(Debian squeeze)で使う

2011/08/21未分類import
BonTsDemuxをLinux(Debian squeeze)で使うことができます.
というか多くの人は苦もなくインストールして使っているでしょう.
ですが私は例によってつまづいたのでメモしておきます.

Wineをインストールする

WineはLinuxにWindowsのような挙動をさせてWindowsのプログラムをLinux上で実行できるようにするプログラムです.
これをインストールします.squeeze標準のパッケージで問題ありませんでした.

BonTsDemuxを入手して適当な場所に置く

こちらのリンクからBonTsDemuxを入手して,Linux機の適当な場所に保存します.

Microsoft Visual C++ 2008 再頒布可能パッケージ (x86) を入手しインストールする

BonTsDemuxの実行にはVisual C++のランタイムが必要なのでインストールします.
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF

ダウンロードしたファイルvcredist_x86.exeをcabextractというコマンドを使って展開します.
解凍後にinstall.exeあるいはsetup.exeというプログラムが出現するはずですので,
それを実行する(ダブルクリックでできるはず)とインストールできます.

BonTsDemuxを実行する

後はBonTsDemuxを実行するだけです.私の環境ではドラッグアンドドロップは有効になりませんでしたが
それ以外は問題なく動作しているようです.
作成したファイル(5.1ch音声のTSを2ch音声のMPEG2-PSに変換したもの)も
Windowsで変換したものと同様に音ずれやノイズ,再生の可否に問題はありませんでした.

Gvimで印刷する

2011/07/15未分類import

範囲を指定せずに印刷する

:hardcopy
とたたくか,メニューから印刷を行う.

範囲を指定して印刷する

56行目から,101行目までを印刷する場合次のようにコマンド入力する.
これを覚えていれば,非常に便利だ(個人的には).
:56,101hardcopy
Windows版で動作確認をしたが,普通に他の環境でも利用できるだろう(プリンタの設定がされていればだが).

ヘッダの編集

例えば次のような設定をしておくと,印刷時刻,ファイル名,ページ,作成者名がわかって検索性が高いだろう.
:set printheader=%{strftime('%Y/%m/%d\ %H:%M')}\ %t\ page:%N\ \ \ \ Hirosugu\ Hirayama