342びぼーろく; lualatex-tikzでgnuplot

debian stretchにアップグレードしてから、 tikzでgnuplotを利用したプロットできなくなった。
( Version 0.95.0 (TeX Live 2016/Debian) )

どうやら、セキュリティ上の問題で外部エンジンを呼び出して実行することができなくなったらしい(ここによると)。
それが原因なのか、いままで表示されていたプロットが表示されなくなった。

そんなときはマニュアルを見れば良いということで、web上に転がっているマニュアルを見てみると、なんと古いバージョンのものしか見つからなかった。
結局英語版のwikipediaを辿って新しいマニュアルを見つけた

そんなこんなで、そのマニュアルによると(P.329あたり)
  1. texを実行すると、tikzの中のidに従って、id_name.gnuplotが生成される
  2. id_name.gnuplotをgnuplotで実行するとid_name.tableが生成される
  3. 再度 texを実行する
ことでプロットできるようになるらしい。とりあえずこれまでのソースをいじる必要はなさそうなので一安心。

大量にgnuplotファイルが生成される場合には、一つ一つ処理するのは面倒なので

for file in ./*.gnuplot; do gnuplot $file;done

とかで、対応するのが良いかも。
ただし、これは図を変更・追加した時だけ実行すれば良いので、以前に比べるとコンパイルが速くなるかもしれない。


さて、以前からsambaを立ち上げていたが、windows機からの接続が微妙なので、思い切ってsambaをやめて、sftpに変えることにした。
windows側でSFTP Net Drive をインストールして後は情報を追加するだけ。
枯れた技術なのか、問題なく繋がった。最初からこうしておけば良かった。

とういことで、今はdebian機を本体としてwindowsへリモートログインをし、リモートログインをしたwiondows機からsftpでdebian機のファイルをいじるということになった。

0 件のコメント:

コメントを投稿

746びぼーろく; 最初から

3時間近く話し込んでしまった。さて、こんなことができないかと持ちかけられたけどいまいち自信がない。というか自分が今やっていることもそんなに分かっているわけではないのに、そんな状況でガチガチの現象論の人の役に立つんだろうか? さて別に進めている内容で、使っているpythonコードを...