そのためInkscape(0.47)に乗り換えたのだが,InkscapeはInkscapeで使いにくいので試行錯誤した結果をメモ.
○ オブジェクトを拡大/縮小すると線幅が変わるのを止める
Inkscapeの設定(Shift-Ctrl-P)の[変形]→[ストローク幅を拡大縮小する]のチェックを外す.
○ 矢印の色を線の色と合わせる
[エクステンション]→[パスの変形]→[マーカーの色をストロークに合わせる]を選択すればよいらしい
# しかし,私の環境ではlibxml2がうまく入らないのでうまく有効化できない…
○ 描画領域の大きいEPSが正確に出力されず切れる
エクスポート領域を描画全体に変えても,キャンパスサイズをA0に変えても切れる.
→EPSではなくPDFにする.PDFをLatexに埋め込むために,extractbbを使って描画領域を取得し,includegraphicsに入力する(本当は.xbbができれば自動取得されるはずなのだが).
以下,Latexに入れるための工夫
(Tgif時代からだが)Latexのfigure環境をはき出すスクリプトを以下の様に作成
use Getopt::Long qw(:config posix_default no_ignore_case gnu_compat); my $FILE="NULL"; my $SCALE="1"; my $LOC="h"; my $BBFILE="NULL"; GetOptions( "file=s" => \$FILE, "scale=i" => \$SCALE, "loc=s" => \$LOC, "bbfile=s" => \$BBFILE ); open(BBIN, "$BBFILE") || die "cannot open xbb file: $BBFILE, die"; $BBINA =; chomp($BBINA); $TITLE = $FILE; $TITLE =~ s/.pdf//g; $CAPTION = $TITLE; $CAPTION =~ s/\_/\\\_/g; print <<EOF; \\begin{figure}[$LOC] \\begin{center} \\includegraphics[bb=${BBINA}, scale=${SCALE}]{$FILE} \\caption{$CAPTION} \\label{fig:$TITLE} \\end{center} \\end{figure} EOF
本スクリプトを動かすためのMakefile
%.pdf: %.svg inkscape $*.svg --export-pdf=$*.pdf --export-area-drawing %.pdf.figtex: %.pdf extractbb -O $*.pdf | grep "HiRes" | cut -d ':' -f 2 > tmp.xbb perl ~/programs/figure_template_pdf.pl \ --file=$*.pdf --scale=1 --loc=h --bbfile=tmp.xbb >> main.tex rm tmp.xbb