投稿

2017の投稿を表示しています

693びぼーろく; 部分積分を使わないで積分したい時

被積分関数の形によっては一時的に複素数にすると便利だったりするかも。例えば以下のような場合。 $\displaystyle \int_0^L dx e^{-kx}\sin \frac{\pi x}{L} $ 正統的な方法としては部分積分だろうなと思うけど、一時的に複素数にすることで次のように計算できる。 $\displaystyle \int_0^L dx e^{-kx}\sin \frac{\pi x}{L}=\text{Re}\int_0^L dx e^{-kx}e^{i\frac{\pi x}{L}}=\text{Re}\frac{1}{-k+i\frac{\pi}{L}}\left[-e^{-kL}-1\right]=-\frac{k}{k^2+\frac{\pi^2}{L^2}}\left[1+e^{-kL}\right]$

356びぼーろく; 再 google drive の自動同期

rcloneを使ってgoogledriveと同期 していたが、やはり面倒なので自動的にやってほしい。 双方向同期をしてくれる grive2 とファイルの状態を監視してくれるincronでgoogle driveを同期することに成功したようなので、そのメモ。 grive2はgriveのフォークされたものらしい(詳しくは ここ を参照)。 grive2はdebianのパッケージにはないので自分でコンパイルが必要。おそらく書いてあるとおりにやればOK。 まずは必要なパッケージをインストール。 apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev \ libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev \ debhelper zlib1g-dev dpkg-dev pkg-config 適当な作業ディレクトリにgriveのファイルをコピーしてコンパイルを実行。 mkdir GRIVE2 cd GRIVE2 git clone https://github.com/vitalif/grive2 cd grive2 dpkg-buildpackage -j4 最後に鍵がないと怒られるがパッケージ自身はGRIVE2以下にできているはず。公開するパッケージでもないので、とりあえず良しとする。 あとはgdebi等でインストールする。 うまくできていればGRIVE2以下は不要なのでGRIVE2は削除してもOK。 さて、google driveと同期したいディレクトリを ~/GOOGLEDRIVEとする。 まずは以下を実行。 grive -a -p ~/GOOGLEDRIVE うまく行けばgoogleに認証してもらうためのリンクが表示されるので言われたとおりに認証し、コードを取得する。 後はgriveに取得したコードを入力する。 うまく行けば同期が始まるので同期が終わるまでのんびり待つ。 今回の最大目的は同期の自動化なので、~/GOOGLEDRIVEを監視して、変

355びぼーろく; ニンテンドースイッチ

今やっている研究に若干の光明が差し始めた(ような気がする)。 これが気のせいでないことを祈るばかり...。 せっかくボーナスも出たのでニンテンドースイッチを購入。 ついでに名作と名高いゼルダも購入。 ほぼ毎日6時間以上リンクと冒険している。あっちの世界の住人と言えるレベル。 ついでに雪に備えてスコップも購入。これで雪が降っても大丈夫。 リンクと冒険している間こたつが冷たいので、電気カーペットを購入しようかどうかを検討中。 さて、同僚が試験を作成する際、enumerate環境を使わずにやっているらしく、せっかくなので、自前でできないかどうかをやってみるとうまくいったのでそのメモ。 基本的にはenumerate環境と同じように使えることを目標としたが、当然本家とは比べ物にならない出来なので微妙なところ。 まずプリアンブルに以下を追加。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 大問・小問を自動でつけてくれるやつ始 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcounter{DaimonNumber} %%大問カウンタの作成 \setcounter{DaimonNumber}{1} %%大問カウンタの初期化 \def\Daimon{ \setcounter{SyoumonNumber}{1} %%小問カウンタの初期化 \noindent \theDaimonNumber . %%大問番号表示 \addtocounter{DaimonNumber}{1} %%大問カウンタを1増やす } \newcounter{SyoumonNumber} %%小問カウンタの作成 \setcounter{SyoumonNumber}{1} %%小問カウンタの初期化 \def\Syoumon{ ~(\theSyoumonNumber) %%小問番号表示 かっこつけて、ちょい字下げ \addtocounter{SyoumonNumber}{1} %%小問カウンタを一つ増やす } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 大問・小問を自動でつけてくれるやつ終 %% %%%%%%%%%%%%%%%%

354びぼーろく; 続 exim4 で gmail アカウントにメールを転送する

以前、 exim4 で gmail アカウントにメールを転送する で設定方法を書いたけど、どうやら最近いろいろと変わったようなので書き直し。 ここ とか ここ  とかを参考にしながら設定。 まず、exim4をインストールし設定する。 aptitude install exim4 dpkg-reconfigure exim4-config   * メール設定の一般的なタイプ ->スマートホストでメール送信: SMTP または fetchmail で受信する   * システムメール名 ->localhost   * 入力側 SMTP 接続をリスンする IP アドレス ->127.0.0.1   * メールを受け取るその他の宛先 ->未入力   * メールをリレーするマシン ->未入力   * 送出スマートホストのIPアドレスまたはホスト名 ->smtp.gmail.com::587   * 送出するメールでローカルメール名を隠しますか ->いいえ   * DNS クエリの数を最小限に留めますか (ダイヤルオンデマンド) ->いいえ   * ローカルメールの配送方式 ->/var/mail内のmbox形式   * 設定を小さなファイルに分割しますか ->いいえ 次に/etc/exim4/passwd.client に以下を追加。 gmail-smtp.l.google.com:ユーザ名:パスワード *.google.com:ユーザ名:パスワード smtp.gmail.com:ユーザ名:パスワード ユーザー名とパスワードはそれぞれ自分のgmailアカウントのものを使用する。 ユーザー名はユーザ名@gmail.comのユーザー名を入れる。 パスワードは二段階認証を実施している場合はアプリパスワードを ここ から発行し、そのパスワードを書く。 (あるいは安全性の低いアプリのアクセスを許可するのでも良いのかも。) あとは/etc/exim4/email-addresses に ログイン名@localhost: ユーザー名@gmail.com を追加し、/etc/aliases の最後に ログイン名:

353びぼーろく; lilypond の覚書

久しぶりに一生懸命lilypondの入力をしていると、忘れていることが多かったことに気づいたのでメモとして残しておく。 トレモロ トレモロを書くときは \repeat tremolo 4  g32 とする。これで「三十二分音符のソを4回繰り返すトレモロ」=「八分音符のソに旗が三本」が書ける。が、いちいち書くのはめんどくさいし直感的ではない。 そこで、 g8:32 と書くと代用できる。これに早く気づけばよかった。二回目以降はコロンだけで三十二分音符のトレモロを書いてくれる。なので g8:32 a8: b8: c8: d8: とすると八分音符のソラシドレをトレモロで表記してくれる。 和音の繰り返し 和音が連続する場合は 二回目は qと書くと前の和音を書いてくれる。 lilypondで和音を書くのは結構面倒なので、とっても便利。 一時的な多段(division) 以前も書いたが、リンク先が消えたようなのでこの際まとめておく。 division指定がある時、和音の形で書いていると場合によってはごちゃごちゃして読みづらいので、多段にしたいときがある。 lilypondでは下記のようにすると(一応)一時的に多段ができる。 ・・・・ \break \new ChoirStaff <<\new Staff {一段目の音楽} \new Staff {二段目の音楽} >> \break ・・・・ ただし、このままだと三段になってしまうので\scoreセクションの中の \contextセクションに 「\Staff \RemoveEmptyStaves」を入れておく。 \context{\Staff \RemoveEmptyStaves} \new Staffにした場合、拍子・調性なんかは全て書き直す必要がある。 いちいち追加するのは面倒なので global とかでまとめてしまうと良さそう。 それから、前後に\breakを入れて改行したほうが良い。 cresc,dim等の点線 cersc,dim等は次の音量記号か指定する場所(\!で表す)まで点線が伸びる。 逆に、これを指定しないと書いてくれない。結構面倒なので、点線を書かないようにしておく。 \override DynamicTextSpanner.style = #'none とするとO

352びぼーろく; 卒業生

先日来た研究会の案内を読んでいると、世話人の中に以前卒業研究を担当した学生の名前を見つけた。 D1だけど既に論文も書いて海外で発表もしているようで、かなり活躍しているいるらしい。そのような人の手助けが少しでもできたのかなと思うととてもうれしい。 久しぶりに会いに行ってみようかな。 最近、勉強している論文を一生懸命読んでいると、「間違いかな?」と思える箇所があったので、わざわざ掲載されている論文を取り寄せてもらった。 おそらく間違いが訂正されているに違いない、と読んでみると、同じことが書いてあった。 よくよく考えてみると、結局自分の思い違いだった...。恥ずかしい。

351びぼーろく; ascmac.sty →tcolorbox.sty へ乗り換え

今まで一生懸命ascmacを使っていたが、もう大分古いということでtcolorboxに乗り換えた。 随分前からluatexに移行したもののascmacをがんばって使ってきた。 luatexは縦書き対応していないらしく、このままだとちょっと難しい。 何とかしてきたけど、面倒になってきたのでこの際思い切って乗り換え。 やることはプリアンブルに以下を追加するだけ。 \usepackage{tcolorbox} あとは本文中に \begin{tcolorbox} [title=タイトル] 本文 \end{tcolorbox} でascmac代わりのきれいなスタイルが書けるようになった。 デフォルトでは背景が薄いグレーなので、オプションでcolback=whiteをつけると良いかも。ということで今使っている基本形は以下の通り。 \begin{tcolorbox} [title=タイトル,colback=white] 本文 \end{tcolorbox} 色指定の書式がtikzと似ているなと思ったら、tcolorboxはtikzで描いているらしい。 さて後輩がわざわざ来てくれたので、少し議論した。 以前から調べてみたかったことをやることになった。優秀な後輩がいると 便利  研究が捗るなぁ。

350びぼーろく; 出張

大阪出張が決まったものの、依然として進展はなし。ちょっとまずい気がしてきた。 今回は向こうが全額負担してくれるので、なにか結果を持っていかないと。 久しぶりにdot/ undot  記法が出てきてかなり面食らった。結構忘れてるなぁ。 さて、最近シェルをbash からfishに変えてみた。linux 11年目の初心者だけどそろそろbashを卒業してもいいかなと思ったのが理由。 とりあえずこれまで書いたシェルスクリプトはちゃんと先頭に #!/bin/bash と入れてあるのでシェルを変えても動くはず。 (効率とかは一切考慮しない。初心者なので。) 全部変えるのは(初心者なので怖いので) ログインシェルはbashのままで、bashからfishを呼び出すことにした。 まずはfishをインストール。 aptitude install fish その後、~/.bashrcの先頭部分を編集。( ここ を参考にした。) case $- in     *i*) ;;       *) return;; esac を case $- in     *i*) exec fish;;       *) return;; esac と書き換え。 後はfishでPATHの設定をしておく。( ここ を参考にした。) ~/.config/fish/config.fish を編集して(なければ作成) set -x PATH $PATH $HOME/bin を書いておく。 今までは--help とかman とか見てたけど、tabで使用方法が参照できるのが嬉しい。 しばらく使ってみよう。 ただbashと若干違うところがちらほらあるので、なれるまでがちょっと大変かも。

349びぼーろく; rclone

最近、googledriveを同期するためにrcloneを使い始めた。 以前 と違って、debianのリポジトリに登録されたのでとっても便利。 aptitude install rclone 設定は 前回 と同じなので割愛。syncの使い方がいまいちわかっていなかったのでメモ。 まず、ドライブ名がGOOGLEDRIVEであったとして、手元にgoogledriveというディレクトリがあるとする。 手元にgoogledrive/hogeがあったとして、GOOGLEDRIVEと同期したいときには rclone sync googledrive/hoge GOOGLEDRIVE: とする。逆に、リモートから同期したい場合には rclone sync  GOOGLEDRIVE:hoge googledrive/hoge とする。また、同期と言ってもlocalで削 除したファイルはドライブ上で削除されることはない。 マニュアルでsyncの項目を見てみると、 Make source and dest identical, modifying destination only. となっているので、そのあたりは注意が必要。 最近office onlineなるものを初めて知った。もちろんネットワークにつながるところじゃないと使えないけど、出先でちょっと編集するときにはとても便利。 Dropboxを利用していれば、Dropbox上のファイルも編集できる。ありがたい。 ただし、doc等の古いファイル形式のものは開けないので、そのあたりが融通が効かない。 でも今後はこれを使うことになりそう。

348びぼーろく; エキスパート?

以前の計算からちょっと方針転換することになり、只今絶賛勉強中。 途中で、どうやって導出したのか謎(と以前は思っていた)だった部分が見事に再現できた。とてもうれしい。今はこの計算のエキスパートになれた気がする。 そういえば昨日届いたメールで、「あなたはこの分野のエキスパートだろうから、論文を投稿しませんか」といういつもの勧誘メールが届いていたが、その雑誌の対象は僕の専門分野とほとんどかぶってなさそうな雰囲気だった。 どういうつもりで出したんだろうか。とても不思議。 久しぶりにナイトメアビフォアクリスマスを見た。やはりとっても良い。 せっかくなので Oogie  Boogie font をインストールした。使うかどうかわからないけど。 とりあえずlibreofficeで使うことができれば良いので、 ここ からzipファイルをダウンロードして  ~/.fontsに展開した。 いちおう Free for personal use と書いているので、仲間内の非営利使用ならOKということだろうか。 また機会があったら使ってみよう。

347びぼーろく; goa-daemonの再起動

debian stretch がリリースしたので定番の寄付をすることにした。 といって寸志程度だけど。開発者の皆様ありがとうございます。 さて、gnomeではgnome online account でgoogle driveがマウントできたり、google calendar と同期できたりする。 が、起動してしばらく経つと「資格情報が無効です」と言われるようになる。 なぜだろうか。とりあえず、goa-daemon を再起動する。 dbus-daemon 経由で起動するらしいので、dbus-daemonを再起動すると一応同期してくれるようになった。 service --status-all  でサービス名を確認して、 service dbus --full-restart で再起動。でもちょっと時間がかかるのが難点。 それから特に理由はないがfcitxをインストール。とりあえずibusからの乗り換え。

346びぼーろく; lilypond復活?@stretch

今日のcron-aptからのアップデート情報によると、lilypond から   guile依存性がなくなったようだ。 一応パッケージ情報を確認してみると jessie  と stretch-backport s  となっていて、stretch-backportsではguile1.8は不要となっていた。 ということでstretchでもlilypond が使えるようになったらしい。開発者の方ありがとうございます!! さて、昨年初めてふるさと納税をしたら、カタログが送られてきた。去年は寄付(返礼なし)だったので今年は本格的にふるさと納税してみようかと思案中。

345びぼーろく; 祝 debian/stretch リリース

同僚が結婚した。おめでたい。debian/stretchも無事リリース。おめでたい。 頻繁にあったアップデートがなくなったので、不思議に思っていたらいつの間にかリリースされていた。以前にリリース日を調べていたのにすっかり忘れていた。 さて、やり直し途中の計算は途中でうまく行かなくなった。なんでだろう? これはしばらく寝かすコースに突入しそうな感じ。

344びぼーろく; 祝 stretchリリース(予定)

6/17にstretchリリース予定だそうな。 ま、もうすでに全部stretch(testing)に置き換えているのであまり問題はないけど。 毎度ながら開発者の皆様に感謝。こちらからできることは少ないので、感謝の意を込めて寄付でもしよう。 結局stretchにはlilypondは含まれなさそう。やはり、一時的にパッケージをsidかjessieから借りてくるしかないようだ。 さて、これまでやっていた計算はすべておじゃんになった。悲しい。

343びぼーろく; debiandog のインストール

前から使っているPCがおそすぎてイライラしてきたので、debiandogに乗り換えた。 debiandogはpuppylinuxのdebian版。 本当に早くなったので低スペックのPCはしばらくこれで行けそうな感じ。 ただし、本当にいろいろなサービスが動いていないので、自分でインストールして起動する必要がありそう。 さて、PCをjessie から stretchにアップグレードしたところ、lilypondがインストールされなくなった。 どうやら、guileが1.8から2.0になったおかげでguile1.8に依存するlilypondはstretchから削除されたらしい。 とりあえず、jessieのリポジトリを追加して、lilypondをインストールした後、stretchのリポジトリに戻した。 あんまり対応としては良くは無いかも。 この一月ほどずっと悩んでいた問題が、昨日解けたような気がする。とてもうれしい。 やはり線形代数は偉大だった。

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週間経ってもその後の連絡が来ない。こんなもんなのかな? 計算は相変わらず進まず。色々試し始めて半年ほど経過した。これまでの経験によると、そろそろ何か進展があっても良い頃なので気長に待とう。