計算物理屋の研究備忘録

Linux, Cygwin, Mac, zsh, emacs等の使い方、設定などのメモ

Emacsでneotreeを使う

インストール

packageを使ってmelpaからインストールできる。

設定

(require 'neotree)
(global-set-key [f8] 'neotree-toggle)  ;; F8でトグル
(setq neo-smart-open t)           ;; neotreeを開いた時のカレントファイルのディレクトリを表示する
(setq neo-show-hidden-files t)    ;; 隠しファイルをデフォルトで表示

F8でディレクトリツリーを開いたり閉じたりできる。

数式で演算子を定義する

gradなどの演算子TeXで書くとき,mathrmを使って\mathrm{grad} xのように書くとgradとxの間に空白が無くてgradxみたいな表記になる.

\DeclareMathOperator{\grad}{grad}と定義すれば\grad xと書くだけで\sinや\cosのときと同様に良い具合に空白を入れてくれる.

MacにInkscapeをインストールする

macOS Mojave 10.14.3にInkscapeをインストールする。

現時点(2019年3月14日)で最新版のInkscapeは0.92.4。
まだ .dmg準備されてないみたいなので、0.92.2を入れる。

MacInkscapeを使うためにはXquartzが必要なのでcaskを使って先に入れる。

$ brew update
$ brew cask install xquartz

インストールできたらDISPLAY変数の何かで再起動しないといけないらしい。

Xquatrzの準備ができたらcaskでInkscapeを入れる。

$ brew cask install inkscape

MacでHostNameを設定する

デフォルトではホストネームはコンピュータ名が入るが、何かの拍子におかしくなることがある。

下記のように設定しておけばOK

ホストネームの確認方法

$ sudo scutil --get HostName

設定方法

sudo scutil --set HostName hogehoge

TeXで空行を入れる

縦方向にスペースを挿入するコマンドが\vspace指定した長さのスペースを挿入できる。例えば\vspace{20pt}など。

通常の1行分は\baselineskipで取得できるので、1行空行を開けたい場合は以下のようにする

\vspace{\baselineskip}

MacにBasicTex (2018)を入れる

目次

BasicTex

MacTeXはフルで2G超えてインストールが大変だったり、MacTexで入るGhostscriptに問題もあるらしいので、最小限構成のBasicTexを入れることにする。BasicTexは余計なGUIアプリなどが入っていない。日本語環境やLatexitなどはあとで入れればいい。

インストール

BasicTex

Tex Wkiに書いてあるようにするだけ。caskで入れるといい。 BasicTeX - TeX Wiki

$ brew cask install basictex
$ sudo tlmgr update --self --all
$ sudo tlmgr paper a4
$ sudo tlmgr install collection-langjapanese

Ghostscript

Ghostscriptはhomebrewでインストールする。

$ brew install ghostscript

MacTexで入るバージョン9.23は脆弱性があるらしい。homebrewではバージョン9.25が入った(2018/11/26)。

Sphinxを使うときに必要になるもの

最小構成では色々足りなくてSphinxで数式を使うときにエラーがでる。以下のものを入れる。

  • ucs
  • anyfontsize
  • dvipng
$ sudo tlmgr install ucs
$ sudo tlmgr install anyfontsize
$ sudo tlmgr install dvipng

LaTeXiT

数式の画像を出力できるLaTeXiTも入れておく。caskで。

$ brew cask install latexit

Skim

SyncTeXに対応したPDFビューワのSkimを入れる。pdfやdviなどリアルタイムで確認できる。caskで入れる。

$ brew cask install skim

環境設定 --> 同期する --> ファイルの変更をチェック自動的にリロードするにチェックを入れて、PDF-TeX 同期サポートの初期値をEmacsにしておく

Emacsの設定

YaTeXを使う。

YaTeXの設定

基本的にはpdflatexを使用して、日本語を使う場合はtexソースファイルの先頭に

%#!platex -synctex=1

と書くことでタイプセットを指定して、日本語の時だけplatexを使う

設定ファイル

;;
;; YaTeX
;;
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq auto-mode-alist
      (append '(("\\.tex$" . yatex-mode)
        ("\\.ltx$" . yatex-mode)
        ("\\.cls$" . yatex-mode)
        ("\\.sty$" . yatex-mode)
        ("\\.clo$" . yatex-mode)
        ("\\.bbl$" . yatex-mode)) auto-mode-alist))
(setq YaTeX-inhibit-prefix-letter t)  ;; screenのコマンドC-tとかぶる。tじゃなくnil
(setq YaTeX-kanji-code nil)
(setq YaTeX-latex-message-code 'utf-8)
(setq YaTeX-use-AMS-LaTeX t)
(setq YaTeX-dvi2-command-ext-alist
      '(("TeXworks\\|texworks\\|texstudio\\|mupdf\\|SumatraPDF\\|Preview\\|Skim\\|TeXShop\\|evince\\|okular\\|zathura\\|qpdfview\\|Firefox\\|firefox\\|chrome\\|chromium\\|Adobe\\|Acrobat\\|AcroRd32\\|acroread\\|pdfopen\\|xdg-open\\|open\\|start" . ".pdf")))
;;(setq tex-command "platex -synctex=1")
(setq tex-command "pdflatex -synctex=1")
(setq dvi2-command "xdvi")
(when (equal system-type 'darwin)     ;; for Mac only
  (setq dvi2-command "/usr/bin/open -a Skim")
  (setq tex-pdfview-command "/usr/bin/open -a Skim"))
(setq bibtex-command "pbibtex")
(setq dviprint-command-format "dvipdfmx")


(add-hook 'yatex-mode-hook '(lambda () (auto-fill-mode -1))) ;; 自動で改行しない


;;
;; texファイルを開くと自動でRefTexモード
;;
;(add-hook 'latex-mode-hook 'turn-on-reftex)
(add-hook 'yatex-mode-hook 'turn-on-reftex)

Macの時だけSkimと連携するようにしている。

Jupyter notebookに拡張機能を入れる

公式 github

github.com

インストール

pipで入れて、1行コマンドをうつ

$ pip install jupyter_contrib_nbextensions
$ jupyter contrib nbextension install --user

設定

jupyterを起動して、ブラウザでlocalhost:8888/nbextensions/にアクセス。

欲しい機能にチェックをつけるだけ。

いくつかチェックをつけて、Comment/Uncomment Hoekeyemacsと同じのalt+;に設定しておいた。