LyXとgnuplotを連携させる方法をやった。先月の18日頃に一生懸命やってわからなかったけど、昨日再びやってうまくいった。gnuplotのソースコードから図を自動で出力してくれるのでかなり便利そうだ。
参考:
http://ec16090p.qlookblog.net/2010/05/23.html、http://shogo82148.hatenablog.com/ entry/20100523/1274594280
その他の参考:
http://www.int.otaru-uc.ac.jp/lyx-howto/writing/gnuplot、http://lyx.475766.n2.
nabble.com/PATCH-Proposal-for-a-new-external-template-gnuplot-td492190.html
1. gnuplot をインストール
2. cat コマンドを使えるようにするため、Cygwin の bin をパスを追記。
(a)[スタート]▷[コンピュータ] で右クリック▷[プロパティ]▷[システムの詳細設定]▷[詳細設定] タブ▷[環境変数]▷[Senoo
のユーザー環境変数]▷[PATH] を選択し [編集]
変数名:
PATH
変数値:
C:\cygwin\bin;
3. 次の内容を書いた gnuplot2tex.bat を C:\Users\Senoo\AppData\Local\LYX20\bin に配置。
(a)参考元の状態だとうまくいかなかったので、3、7、8 行目と色を付けるために 4 行目を修正した。
set TMPPath=%CD%
set MyPath=%3
echo !cd “%3” >_tmp.plt
14
echo set terminal epslatex color >>_tmp.plt
echo set output “%2” >>_tmp.plt
cat %1 >>_tmp.plt
echo. >>_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%”
echo ok
4. C:\Users\Senoo\AppData\Local\LYX20\Resources\external_templates に次の内容を追記
# For Gnuplot [130214]
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]”
15
FormatEnd
Format LinuxDoc
Product “[gnuplot: $$FName]”
FormatEnd
TemplateEnd
5. LYX の設定を変更
(a)[Tools]▷[Preferences]▷[Paths]▷[PATH prefix] に gnuplot のパスを追記。
PATH prefix: C:\Program Files\gnuplot\bin\;
(b)[Tools]▷[Preferences]▷[File Handling]▷[File Formats]
Format:
gnuplot
Short Name: gnuplot
Extension: plt
Editor:
Custom notepad
Viewer:
Custom notepad
(c)[Tools]▷[Preferences]▷[File Handling]▷[Converters] に以下の内容を加え、[Add]
From format: gnuplot
To format: LATEX (plain)
Converter: gnuplot2tex $$i $$o $$r
6. [Tools]▷[Reconfigure] により設定を適用
7. 使い方
(a)[Insert]▷[File]▷[External Material…]▷[Template] から [gnuplot] を選択▷[Browse] から gnuplot のソースコード
を選択
(b)挿入された box は [右クリック]▷[Eddit Externally…] から編集可能
8. 注意[130216]
上記の方法でgnuplotのソースコードを外部から挿入した.lyxファイルを再び編集すると、そのソースコードを一旦変更しないと表示がされないようだ。
不具合を発見。
注意上記の方法でgnuplotのソースコードを外部から挿入した.lyxファイルを再び編集すると、そのソースコードを一旦変更しないと表示がされないようだ。
うーん。おしいな。一度作業を終えてもう編集しない場合に有効そうだ。あるいはこの方法で一度図を作って、Tempフォルダから図をコピーして保存しておくとかかね。
関連