LyXとgnuplotを連携させる
Gnuplotによるグラフ作成にLyXとgnuplotを連携させる方法が載いるけど、この方法では
plot '外部ファイル名'
というコードを実行する時に外部ファイル名をフルパスで書かなくてはならず不便。
さらに、ラベルに数式を使うことができない。
個人的にはepslatex形式で出力して欲しいところ。
で、Windows限定だけど、epslatexで連携できるようにしてみた。
- gnuplotをインストールしておく
- 「C:\Program Files\LyX16\bin」に「gnuplot2tex.bat」というファイルを作り、以下の内容を書き込む
set TMPPath=%CD%
set MyPath=%3
echo cd %3 > _tmp.plt
echo set terminal epslatex>> _tmp.plt
echo set output %2 >> _tmp.plt
type %1 >> _tmp.plt
echo set terminal window >> _tmp.plt
echo set output >> _tmp.plt
wgnuplot _tmp.plt
cd /d %MyPath:/=\%
copy %2 "%TMPPath%"
copy %~n2.eps "%TMPPath%"
del %2
del %~n2.eps
echo ok
「C:\Program Files\LyX16\Resources\C:\Program Files\LyX16\Resources」の末尾に、以下の内容を付け足す
Template gnuplot
GuiName "gnuplot: $$AbsOrRelPathParent$$Basename"
HelpText
Show Graph using Gnuplot
HelpTextEnd
InputFormat gnuplot
FileFilter "*.plt"
AutomaticProduction true
Preview Off
Format LaTeX
Requirement "graphicx"
Product "\\input{$$AbsOrRelPathMaster$$Basename.tex}"
UpdateFormat latex
UpdateResult "$$AbsPath$$Basename.tex"
ReferencedFile dvi "$$AbsPath$$Basename.eps"
ReferencedFile latex "$$AbsPath$$Basename.eps"
ReferencedFile dvi "$$AbsPath$$Basename.tex"
ReferencedFile latex "$$AbsPath$$Basename.tex"
FormatEnd
Format PDFLaTeX
Requirement "graphicx"
Product "\\input{$$AbsOrRelPathMaster$$Basename.tex}"
UpdateFormat latex
UpdateResult "$$AbsPath$$Basename.tex"
ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.eps"
ReferencedFile dvi "$$AbsPath$$Basename.eps"
ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.tex"
ReferencedFile dvi "$$AbsPath$$Basename.tex"
FormatEnd
Format Ascii
Product "[gnuplot: $$FName]"
FormatEnd
Format DocBook
Product "[gnuplot: $$FName]"
FormatEnd
Format LinuxDoc
Product "[gnuplot: $$FName]"
FormatEnd
TemplateEnd