投稿

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

debian stretchにアップグレードしてから、 tikzでgnuplotを利用したプロットできなくなった。 ( Version 0.95.0 (TeX Live 2016/Debian) ) どうやら、セキュリティ上の問題で外部エンジンを呼び出して実行することができなくなったらしい( ここ によると)。 それが原因なのか、いままで表示されていたプロットが表示されなくなった。 そんなときはマニュアルを見れば良いということで、web上に転がっているマニュアルを見てみると、なんと古いバージョンのものしか見つからなかった。 結局英語版のwikipediaを辿って新しいマニュアルを 見つけた 。 そんなこんなで、そのマニュアルによると(P.329あたり) texを実行すると、tikzの中のidに従って、id_name .gnuplotが生成される id_name.gnuplotをgnuplotで実行するとid_name .tableが生成される 再度 texを実行する ことでプロットできるようになるらしい。とりあえずこれまでのソースをいじる必要はなさそうなので一安心。 大量にgnuplotファイルが生成される場合には、一つ一つ処理するのは面倒なので for file in ./*.gnuplot; do gnuplot $file;done とかで、対応するのが良いかも。 ただし、これは図を変更・追加した時だけ実行すれば良いので、以前に比べるとコンパイルが速くなるかもしれない。 さて、以前からsambaを立ち上げていたが、windows機からの接続が微妙なので、思い切ってsambaをやめて、sftpに変えることにした。 windows側で SFTP Net Drive をインストールして後は情報を追加するだけ。 枯れた技術なのか、問題なく繋がった。最初からこうしておけば良かった。 とういことで、今はdebian機を本体としてwindowsへリモートログインをし、リモートログインをしたwiondows機からsftpでdebian機のファイルをいじるということになった。

341びぼーろく; dein.vimへの乗り換え

neobundleを使っていたけど、obsoleteだということでdein.vimに乗り換えた。 やり方は ここ にあるとおり。 mkdir -p ~/.vim/dein/repos/github.com/Shougo/dein.vim git clone https://github.com/Shougo/dein.vim  \  ~/.vim/dein/repos/github.com/Shougo/dein.vim あとは設定を~/.vimrcに追記。 "---------------------------  " Start dein.vim Settings.  "---------------------------  " if &compatible   set nocompatible endif set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim call dein#begin(expand('~/.vim/dein')) call dein#add('Shougo/dein.vim') call dein#add('Shougo/vimproc.vim', {'build': 'make'}) call dein#add('Shougo/neocomplete.vim') call dein#add('Shougo/neomru.vim') call dein#add('Shougo/neosnippet') call dein#add('thinca/vim-quickrun') call dein#add('Shougo/vimshell.vim') call dein#add('itchyny/lightline.vim') " (add plugins) call dein#end()       "------------------------...

340びぼーろく; plastexその2

plastex2.1がリリースされたのでそちらを使うようになりました。mathjaxにも対応しているので下記の操作は必要なくなっています。debianの公式パッケージからインストールするだけです。 ( mathjaxに変換してくれるパッケージを提供してくれていたところが無くなってしまったので、svgに変換に 変更  ⇒と思ったらいつの間にか復活していたので引き続きmathjaxを使うようになりました ) 前回 に引き続いて数式をmathjaxに変換してくれるplastexのdebian用パッケージ(debファイル)を作る。 まずは、 ここ に書いてあるとおり、関連するファイル(plastex-master.zip、plastex-changes.zip,plastex-renderers.zip)をダウンロードする。 全て展開して、以下の様にファイルの置き換えとコピーをする。 mv plastex-changes/setup.py plastex-master/ mv plastex-changes/Definitions.py plastex-master/plasTeX/Base/LaTeX/ mv plastex-renderers/MathJax plastex-master/plasTeX/Renderers/ mv plastex-renderers/MathJaxS5 plastex-master/plasTeX/Renderers/ 次にバージョン番号を変更する。 というのも、このままだとバージョン番号がdebianのリポジトリにあるものと同じなので、apt-get updateの度に保留されるか、上書きされる。 もちろんpin等でパッケージを留めても良いのかもしれないけど、mathjaxを使えるように変更すると、plastexのバージョンが1に上がるようなので、バージョンを1.0.0に変えることにした。 変更方法はplastex-master/setup.py を編集して、version="0.9.2" を version="1.0.0" とするだけ。 (本当はバージョン番号の付け方もルールがあるんだろうけど、手元の環境でしか使わないので、適当に決めた。) 次いでp...

339びぼーろく; plastex その1

plastex2.1がリリースされたのでそちらを使うようになりました。mathjaxにも対応しているので下記の操作は必要なくなっています。debianの公式パッケージからインストールするだけです。     今まで一生懸命latex2htmlを使ってたけど、実は plasTeX なるものがあるらしい。 ここ 情報によるとMathJaxにも変換もできるらしいので、思い切って使ってみることにした。 生成されたファイルを見てみると、latex2htmlに比べて幾分おしゃれな雰囲気がする。 まずはインストール。幸いなことにdebianのリポジトリに入っているので、いつもどおりインストールする。(もちろん管理者権限で) apt-get install python-plastex 使い方はlatex2htmlとほぼ同じ。適当なtexファイルを用意して(hoge.tex)、コンパイルするだけ。 plastex hoge.tex hogeディレクトリが作成されて、以下にindex.htmlを含む諸々のファイルが作成される。 この状態で、例えば google-chrome ./hoge/index.html とかやると、作成したページを見ることができる。 ちょっとつまづいたのが、texファイルの中でhtml.styを読み込むとエラーを吐いて終了する問題。リンクを貼るときにはhyperref.styを読み込んで、\href{テキスト}{リンク先}を使う。 これに気づかず、しばらく悩んだ。 肝心の数式はlatex2htmlと同様、画像ファイルに変換される。 結構綺麗だと思うが、せっかくなのでmathjaxに変換したい。一応 ここ にやり方は書いてあったものの、pythonを使うためdebianのパッケージ管理下にないので、アンインストールが面倒。 (アンインストールするときには、/usr/local/以下の plastex関連のファイルを手で削除する必要がある。結構面倒。) 幸いなことにdebファイルに変換できるようなので、こちらを利用する。 ちょっと長くなるので 次回 へ。 さて久しぶりにベートーヴェンの弦楽四重奏14番を聴いた。ミーハーなのかもしれないが、後期の作品で最も好きなのはこの14番。 第九のような...

338びぼーろく; debian freeze予定

debian9 (stretch)が1/7に soft freezeされたらしい 。2/5にfull freeze予定とのこと。 大体、freezeされるとアップグレードしているのでそろそろ準備しておこう。 いまいちfull freezeとsoft freezeの違いがきちんと分かっていないんだけど...。 何れにせよ開発者の方々に感謝。 さて、大学時代の後輩と思いがけず11年振りに再会した。 しかも偶然。大学時代を思い出してとても懐かしくなった。 色々と思い出に浸っていると、大学時代の指導教官の退官記念講演+パーティーの案内が来た。お世話になった人なので行くことにした。 出席の返信を出したけど、2週間経ってもその後の連絡が来ない。こんなもんなのかな? 計算は相変わらず進まず。色々試し始めて半年ほど経過した。これまでの経験によると、そろそろ何か進展があっても良い頃なので気長に待とう。

337びぼーろく; 万年筆

高めの万年筆を購入したので、嬉しくなって知り合いに買ったこと話すと、それぐらいの値段か〜との感想。 その後、話の流れで女性のアクセサリーの話になって その値段を聞いて驚いていると、 女性はお金がかかるんだよと言われた。自分がいかに安上がりな人生を送っていたかを思い知らされた。 さてしばらく放ったらかしにしていた計算を改めて見返すと、実は単純に実行できることが分かった。 やはり数学の力は偉大だ。 複素関数論なんて何の役に立つんだろうと思っていたが、その威力を目の当たりにすると改めてその偉大さに圧倒される。 もちろん役に立つから偉大というのは安直な感想なんだろうが...。 それにしても二つを並べてみると、とても一致すると信じられない。手品でも見ているような気分。 こうやって結果が出てきたのはサンタさんからのプレゼントなのかもしれない。

336びぼーろく; 続 latex2htmlでmathjaxを使う

以前の エントリ で、latex2htmlを実行してmathjaxを使えるようにスクリプトを書いた。 その時sedのエスケープシーケンスが面倒で大変だったけど、awkを使うとちょっと楽になるらしい。 ということで、ちょっと書きなおしてみた。 awkでの置換は awk '{gsub("置換前","置換後",$0); print $0}' でできる。ダブルクォートはエスケープする必要があるがそれ以外は不要みたいなので、 前に比べると楽なような気がする。 置換は一回しかしないので、gsubじゃなくてsubでも良いかも。 #! /bin/bash export FILE=$1  ## 入力ファイルするtexファイル  export DIR=$(echo $1 |sed s/\\.tex//) ## latex2htmlで作られるディレクトリ  latex2html -noreuse $FILE ## latex2htmlを実行する cd $DIR ## htmlがあるディレクトリに移動 for i in *.html;do mv $i $i.OLD cat $i.OLD| awk '{gsub("</HEAD>","<script type=\"text/javascript\" \n src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"> \n </script>\n</HEAD>",$0); print $0}' | awk '{gsub("<HEAD>","<HEAD>\n <meta charset=\"UTF-8\">",$0); print $0}' > $i rm $i.OLD ## ファイルの</HEAD>の上側をmathja...