くれなゐの雑記

例を上げて 自分で手を動かして学習できる入門記事を多めに書いています

epslatexなgnuplotで保存するたびにpdfを更新してそれを見ながら編集する(gnuplot, omake)

デモ

ちょっとタイムラグと画質がきになりますがこんな感じです
今回はtexのフォントを使いたかったのでplatexを1回挟んでます



makeplt_tex demo

.plt(gnuplotのファイル) -> .eps+.tex -> .pdfファイル

以下のスクリプトを使います makeplt_texと名付けています
このコマンドはあくまでもpdfファイルを生成するものであって自動更新は別です
filename.pdfが生成されます
個人的趣味でA4サイズで出力して,全体のサイズを確認しながら作業してます.

 makeplt_tex filename.plt
#!/bin/sh
set -e
PLTNAME=$(basename $1)
DIR=$(dirname $1)
gnuplot<<EOF
cd "$DIR"
set terminal epslatex color 
set output "${PLTNAME%plt}tex"
load "$PLTNAME"
EOF

OUTDIR=source_${PLTNAME%.plt}

mkdir -p $OUTDIR

cat << EOS > $OUTDIR/main.tex
\documentclass[a4j,10pt]{jsarticle}
 
\usepackage[dvipdfmx]{graphicx}
 
\begin{document}
\begin{figure}[htb]
	\centering
	\input{${PLTNAME%plt}tex}
	\caption{caption}
	\label{fig:${PLTNAME%.plt}}
\end{figure}
 
\end{document}
EOS

cat << EOS > $OUTDIR/Makefile
main.pdf:
	platex main.tex
	dvipdfmx main.dvi
EOS

mv ${PLTNAME%plt}eps ${PLTNAME%plt}tex $OUTDIR
cd $OUTDIR

make

mv main.pdf ../${PLTNAME%plt}pdf

.pdfファイルの自動更新

ファイル監視ツールみたいなの作ったのですがいいやつがありました
omake(1. ガイド — OMakeマニュアル 日本語訳)を使います
まず,omakeをapt-getなりmakeするなりしてinstallしたら該当ディレクトリに移動して,

omake --install

でOMakefileを生成します.
OMakefileを以下のように編集します

filename.pdf:
    makeplt_tex filename.plt

.DEFAULT: filename.pdf

あとは

omake -P

とするとファイルの監視が起動して,.pltファイルを編集するたびに.pdfが更新されるので,okularなりSumatraPDFなりskimなりで開いて更新していく様子を観察すればOKです

pltを各際の注意

動画で一度しくじってますが,バックスラッシュは二回必要です