t44or2’s blog

PC関係の忘備録、ときどき趣味とか

Mac miniをセットアップする その3 ~emacs,yatex,skim編~

前回↓の続き。 t44or2.hatenablog.com

やること

gnuplotとの兼ね合いでtexは入ったので、次はyatexを導入する。ついでに、skimでのプレビューが同期するようにする。

package-installを導入する

emacsで使うものはこれで入れるのが一番楽そうだったので、導入していく。 前提として、僕のemacsはver25なので、それ以外(以前?)のemacsでも同じ設定で動くかどうかはわかりません。

emacsのinit.elに以下を書き込んでおく。

;;package の取得先
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages (quote (yatex auto-complete auto-complete-c-headers))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

これでmelpaにあるパッケージも入れられるようになる。はず。

yatexを入れる

emacs上からM-x package-list-packageで、yatexを探してインストールする。

成功したら、init.elにこれ↓を書き加える。こちら→ MacBookAir 環境構築メモのものをコピペさせていただきました。

;; ---------------------------------------------------------
;; YaTeX の設定
;; ---------------------------------------------------------
     
;; Add library path
(add-to-list 'load-path "~/.emacs.d/site-lisp/yatex1.78.4")
;; YaTeX mode
(setq auto-mode-alist
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "platex")
(setq dviprint-command-format "dvipdfmx %s")
;; use Preview.app
(setq dvi2-command "open -a Preview")
(defvar YaTeX-dvi2-command-ext-alist    
  '(("xdvi" . ".dvi")                   
      ("ghostview\\|gv" . ".ps")
      ("acroread\\|pdf\\|Preview\\|open" . ".pdf")))

これでとりあえず、yatexが動くようになる。

skimと連携させる

公式ページ→Skim | Homeからskimをダウンロードして、インストールする。普通にApplicationsディレクトリに放り込めば良い。

初回は「これって怪しいファイルやから開きたくないで!」と怒られるので、一回GUI上から普通に起動しておく。ついでに、skimの環境設定->同期するのところでファイルの変更をチェックをオンにして、同期サポートの初期値をemacsに変えておく。

済んだら、init.elにこれ↓を書き加える。

;; ---------------------------------------------------------
;; YaTeX の設定
;; ---------------------------------------------------------
     
;; Add library path
(add-to-list 'load-path "~/.emacs.d/site-lisp/yatex1.78.4")
;; YaTeX mode
(setq auto-mode-alist
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "platex")
(setq dviprint-command-format "dvipdfmx %s")
;; use Preview.app
(setq dvi2-command "open -a Preview")
(defvar YaTeX-dvi2-command-ext-alist    
  '(("xdvi" . ".dvi")                   
      ("ghostview\\|gv" . ".ps")
      ("acroread\\|pdf\\|Preview\\|open" . ".pdf")))

こちらLaTeX環境の構築 on Mac OS X, Oct. 2013からいただきました。

これで完成。

ついでに

趣旨とは関係ないけれど、emacsのauto-completeも入れたので書いておく。 package-installから探してインストールして、init.elに↓を書き加える。

;;
;; Auto Complete
;;
(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-modes 'text-mode)         ;; text-modeでも自動的に有効にする
(add-to-list 'ac-modes 'fundamental-mode)  ;; fundamental-mode
(add-to-list 'ac-modes 'org-mode)
(add-to-list 'ac-modes 'yatex-mode)
(ac-set-trigger-key "TAB")
(setq ac-use-menu-map t)       ;; 補完メニュー表示時にC-n/C-pで補完候補選択
(setq ac-use-fuzzy t)          ;; 曖昧マッチ

コピペ元はこちら auto-completeを使ってEmacsの補完を便利にする - 計算物理屋の研究備忘録

init.el

現在のemacs設定ファイルについてはここ↓に上げてあります。参考までに。 github.com

Mac miniをセットアップする その2 ~ gnuplot,tex編 ~

前回↓の続き。

t44or2.hatenablog.com

とりあえずインストールしたいのは、

優先度順に。

やりたいこと

今回はgnuplotをinstallする。 aquatermとx11どちらも使えるようにしたい。

aquatermを入れる

ここ↓から落としてきてinstall.

AquaTerm (Mac OS X graphics terminal) download | SourceForge.net

x11を入れる

XQuartzをここ↓から落としてきてinstall.

XQuartz

gnuplotを入れる

brewに任せます。とりあえずinfoしてオプションを確認。

==> Options
--with-aquaterm
    Build with AquaTerm support
--with-cairo
    Build the Cairo based terminals
--with-pdflib-lite
    Build with pdflib-lite support
--with-qt5
    Build with qt5 support
--with-test
    Verify the build with make check
--with-tex
    Build with LaTeX support
--with-wxmac
    Build wxmac support. Need with-cairo to build wxt terminal
--with-x11
    Build with x11 support
--without-lua
    Build without the lua/TikZ terminal
--HEAD
    Install HEAD version

大量にある。必要なものを選べば良い。

ここで、先にtexを入れる必要があることに気づいたので、gnuplotを一旦保留してtexを入れることにした。

texを入れる

brewでこう↓

brew cask install mactex

そこそこ時間がかかります。

mactexが入ったら、アップデートを行う。

sudo tlmgr update --self --all

初めてやるとcommand not foundと言われた。 これ↓をするとpathが通ってうまくいく(参考: [TeX] El Capitanでtlmgrコマンドが使えないときの対処 - Qiita)

sudo /usr/local/texlive/2015/bin/x86_64-darwin/tlmgr path add

改めてtexのアップデート。

gnuplotを入れる

brew install gnuplot --with-qauaterm --with-cairo -with-pldlib-lite --with-qt5 --with-tex --with-wxmac --with-x11

全部盛り。

defaultの設定を'x11'にセットする

この辺はただの趣味。 ホームディレクトリに.gnuplotを作って、起動時に読み込む設定ファイルにする。↓を書き込む。

set terminal x11

ひとまずこれで最小限の作業はこなせるようになった。

僕はくじらに乗りたくて

今?流行り?のDockerという奴を使ってみたかったので、試してみた。

参考書はこちら↓

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)

準備

参考書に従って準備をしていく。まずはVirtualBoxをインストール。

Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle

僕の場合はmacminiのものを選択。

次に、boot2dockerをインストール。

Boot2docker by boot2docker

こちらもmacOSX版を。

起動してみる

boot2docker init
boot2docker start

linux仮想マシンが起動する。

はずだったが、エラーが出てうまくいかない。

いろいろ入れ直す

エラーをよく読むと、「boot2dockerは既に非推奨」とのこと。せっかく参考書買ったのに...

その代わりに、docker-machineを使え、とのことなので、入れる。エラーで勧められたのはDockerToolboxだったのだけれど、調べてみた限り、Toolboxに付属しているdocker-machineだけで良いようだったので、これをbrewで入れた。

今度はdocker-machineで仮想マシンを作ってみる。

docker-machine create --driver virtualbox dec

devのところはお好みで。

ところがやっぱりうまくいかない。 しぶしぶエラー文を眺めると、どうもvirtualboxが原因らしいことがわかった。

ちゃんと最新版入れたはずだったのだけどな......と思いつつ、VirtualBoxを再インストール。

これでようやくうまくいった。

嵌ったのはこの辺りまでで、あとは参考書なりネットの記事なりに従えばとりあえず使えそうです。

基本の使い方

docker-machine --driver virtualbox hogehoge
  • hogehogeを起動する
docker-machine start hogehoge
  • hogehogeに入る
docker-machine ssh hogehoge
  • 既にあるdocker imageを確認する
docker images
  • docker image 'purupuru'の最新版をダウンロードする
 docker pull purupuru:latest
  • docker image 'purupuru:latest'を'ichigo'という名前で実行する
docker run -d --name ichigo purupuru:latest
  • 'ichigo'を止める
docker stop ichigo
  • 'ichigo'を削除する
docker rm ichigo

とりあえずここまで。

Mac miniをセットアップする

Mac miniの再セットアップをしていく。

OSクリーンインストール

⌘+Rを押しながらmacminiを起動して、リカバリモードに入る。リカバリモードに入るのに何度か失敗した。キーボードが純正じゃなかったからかもしれない。

一旦HDDからデータを削除する。この辺は好みだろうけど、今回はゼロから構築し直したかったので。

削除が終わったら、いよいよSierraちゃんをインストール。しばらく待つ。

Homebrewの準備

f:id:t44or2:20161025152853p:plain

とりあえずOSは入った。

ここからは 環境構築のための環境構築 をしていく。 今回の基本方針として、インストールなどは基本的に全てbrewに任せることにする。

以下はbrewを使うための準備

まずはXcodeをインストールする。 公式storeから。 コマンドラインツールだけのインストールが、terminalからxcode-select --installでできたので、多分それで十分です。

次に、javaが必要らしいので入れる。terminalでjava -version。あとは指示に従う。

インストールが完了したら、いよいよhomebrewをインストールしていく。公式ページからコピペしていく。 brew.sh

terminalで/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ここまできたら、あとは好きなソフトをインストールする作業になる。

Homebrewを使う

欲しいソフトhogehogeがあったらbrew search hogehogeで探す。brewに存在すれば、brew info hogehogeでオプションとかバージョンを確認してみる。入れるものを決めたら、brew install hogehogehoge -purupuruする。僕はとりあえずemacsを入れた。 t44or2.hatenablog.com

ここからが大変なので、一旦ここまで。

emacs奮闘記

半年に一回くらい、PC周りの環境を一新したくなることがあって、それが不意に襲ってきたので、とりあえずemacs周りの環境を整備し直すことにした。

いつもwebに公開されている適当な設定ファイル群を拾ってきて、適当に反映しようとして失敗し、放置するという繰り返しだったので、今回は「確実にここまではできる」ところを目指すことにした。超超初心者向けです。

emacsをインストールする

インストールから始めるのは潔いと思う;本当は、関係ファイルがめちゃくちゃで、整理しなおすのも嫌になっただけ。 ちなみに環境は、mac book air (OS X 10.11.6 EL Capitan)。brewでやります。terminal (本当はiterm) を起動して、とりあえずinfo。

brew info emacs

すると、「とりあえずこれで入れとけば間違い無いぞ」とbrewの兄貴が教えてくれたので、素直に従うことにした。

brew cask install emacs

しばらく待つとemacsが入る。

init.elを編集する

ホームディレクトリ直下の.emacs.d/以下にあるinit.elを編集していく。ディレクトリとファイルがなければ作る。

適当なエディタを開いて、設定をコピペしていく。参考にしたのは↓

d.hatena.ne.jp

欲しい機能のコードをinit.elにペタペタ貼る。

emacsの背景が白いのは嫌だったので、emacs標準のテーマフレームワークを読み込む。参考にしたのはこれ↓

aoe-tk.hatenablog.com

これでこんな感じのemacsに↓ f:id:t44or2:20161024210912p:plain

たぶん、ここまで言われるがままにインストールしたemacsだけでできると思います。

新海誠とは誰ですか?

 『君の名は。』を見た。

大嫌いな『秒速5センチメートル

 僕の中での新海誠は、というと、『秒速5cm』の人である。そして、大嫌いなアニメ監督である。初めて『秒〜』を見たのは、大学1年生の頃だったと思う。キモオタ見習いだった僕は、大学の友人の家でこれを見た。童話の ように美しい第1章から、雲行きの怪しい第2章(覚えているのは花苗ちゃんが可愛かった、ということだけだ)、そしてゴミクソのような最終章。正直に言って「山崎まさよしに謝れ」と思ったし今もそう思っている。それ以来今まで、新海誠に積極的には手を出していなかった。

大ヒットした『君の名は。

 『君の名は。』のヒットはもちろん僕の耳にも入り込んできた。社会現象とまでは言うまいが、僕らの界隈では今年最強のコンテンツだったはずの『シン・ゴジラ』を歯牙にもかけずに、どころか在りし頃のジブリアニメと比較されるまでになるほど、『君の名は。』は衝撃的な大ヒットを飛ばしていた。僕がわざわざ劇場まで足を運んで、この映画を見てやろうと思ったのは、正直に言ってここまでの話題作になったから、というところが大きい。言ってしまえば、2016年のランドマークにするつもりだった。観覧車のようなものだ。中身は覚えていなくとも、体験した、という記憶だけは残る。

ヒットの理由と新海誠

 『君の名は。』の評判を聞いているうちに、予感していたことがある。それは、ここまでの大ヒットになった理由だ。何のことはない。僕が大嫌いな新海誠の、大嫌いな部分をそぎ落として、綺麗な部分だけ残してしまうこと。それだけで(僕の知っている)新海誠の根暗ムービーは、簡単にエンターテインメントに転化する。実際に映画を見て、予想通りの結果だった。TS過去改変の不可思議ボーイ・ミーツガール。料理の仕方さえ間違えなければ、とりあえずの美味しさは約束されている。別れた二人は最後に運命的な出会いをして、ハッピーエンド。思わず唸ったものだ。そうそう、こういうのでいいんだよ、こういうので。最後男女が幸せなキスをして終了ではなかったあたりに、新海誠の最後の矜持みたいなものを感じた気がしたが、それだけだった。『君の名は。』という2016年最強のデートムービーは、意外なほど爽やかに僕の喉を通り過ぎていった。

君の名は。』は名作なのか?

 名作である。「面白いのか」と言われれば「面白い」と答えるし、「見た方がいいのか」と聞かれれば「迷うくらいなら観に行けばいい」というだろう。一方で、僕は自分からは、『君の名は。』を勧めることはないと思う。それは、僕にとっての『君の名は。』が、普通に面白い映画の一本ではあっても、僕の人格形成信念宗教にまで影響するような、傷跡を残す映画ではなかったからだ。とにかくこの映画には、狂気や執念とも言うべき作品の「えぐみ」というものが皆無だった。それはおそらく、今回の大ヒットにつながった大きな理由のうちの一つだと思う。『君の名は。』という映画には当たり障りがない。だから、綺麗な部分だけに没頭できる。『君の名は。』のシンプルなボーイミーツガールは、誰にとっても受け入れやすいように仕上がっている。分かりやすく、面白い。

 だけどいったい、そんなものを勧めて、誰が喜ぶんだ?

「らしさ」の終わりとエンターテインメント

 僕はたしかに、『5cm/s』を見たとき、ある種の新海誠らしさを邪魔だと思った。じめじめとして惨めったらしい新海誠らしさは、見ていて不快な気持ちになる。その気持ちは今も変わらない。そういう新海誠特有のえぐみを濾し取った『君の名は。』は大ヒットしたし、僕も面白いと感じた。そこにはよくできたエンターテインメントが残った。失望する新海誠ファンはいるのかもしれない。僕は別に、新海誠が商業主義に走ったのだ、とは思わないし、そうだったとしてもどうでもいい。僕にしてみれば、新海誠が僕の嫌いな部分を削ぎ落としたうえで、良質なエンターテインメントを提供してくれるというのだから、歓迎しこそすれ、批難する謂れは何一つない。ただ、大昔に聞いた忘れられない言葉を思い出す。「自分らしさを抑えて薄めて潰して、それでも滲み出てしまうのが個性だ」という趣旨の言葉だ。『君の名は。』という映画には、かつての新海誠らしさというべきものが感じられなかった。それが新海誠という人物にとって抑圧だったのか開放だったのかは知らない。とにかく、結果的に、かつての彼らしいえぐみというものは取り除かれた。その後に残ったものは、僕とっては爽やかで面白い、単なるエンターテインメントだった。新海誠という人物は、果たして、その程度の人物だったのだろうか。その程度の童貞だったのだろうか。その点だけは、僕にとっても少し気がかりで、そしてほんの少しだけ、残念に思う。  

経済と物理って同じなのか?

経済数学の直観的方法 マクロ経済学編 (ブルーバックス)

経済数学の直観的方法 マクロ経済学編 (ブルーバックス)

これを読んだ。

大昔にこれ↓を読んだことがあって、今回経済数学版がでていたため、試しに読んでみることにした。

結論から言うと、僕が読んでものすごくためになる本ではなかった。

物理学者から見たマクロ経済学の解釈を知りたい、というのが僕が本書を読み始めたモチベーションだった。たしかに、マクロ経済学の外観を眺める、という意味では、その点を本書はとても易しく説明している。一方で、僕の目論見から外れた部分もあって、

  • 歴史にはあまり興味がなかった

あるモデルの歴史的な位置づけとモデルが与えたインパクトの評価は不可分だとは思うが、もう少し後者について詳しく述べて欲しかった。

  • 数学の直観的説明部分が易し過ぎた

本書の数学のレベルは、大学の物理で言えばおおよそ2回生くらいのレベルである。とても易しいので、感動がなかった。

気になる点はもう少しあって、本書の著者が物理学者である(はず)なだけに、物理をかじった人間の考え方として通じる部分も多々あったのだけれど、それは経済学に対して正当な評価になっているのか?という疑問が残った;この著者の理解は偏ったものではないのか?

とにかく、僕にとって誤算だったのは、本書はあくまでも経済学上で必要な数学的問題を解くためのトリックを説明する本であって、マクロ経済学への直観的な入門書ではない、ということだ。これは、コンセプトを理解せずに読んだ僕が全面的に悪いので、著者に非はない。 ただ、本書のターゲットになっている(と思われる)経済数学に黒雨している人たちは、本書の説明を読んで何かを理解した気分になれるのか、というのもよくわからない。全体的に、どっちつかずな印象になる本だった。

マクロ経済学についてもう少し一般的な本も読んでみたい気もしているが、これ以上は各論になっていく予感もするので、良さそうなものが見つかるまでは放置したいと思う。

次はミクロ経済学の平易なものを読みたい。