スキップしてメイン コンテンツに移動

投稿

Emacs.appから起動したEmacsでシェルの環境変数を引き継ぐ

Macを使い始めて最初に不便に感じたことの一つは,Emacs.appをGUIで起動したときに,PATHなどのシェルの環境変数が引き継がれないことでした. 最近はターミナルから起動するのが習慣づいているので余り気にならなくなりましたが,環境変数を引き継ぐことが出来るようなので設定してみました.参考にしたのはsyohexさんのブログ「Life is very short」の記事 Emacsでの環境変数の設定に exec-path-from-shellを使うようにした です. exec-path-from-shell.elというパッケージを用います. まずpackage.elを用いるか,もしくは こちら からexec-path-from-shell.elをダウンロードして,これをemacsが読み込める場所に置いておきます. 設定は次のようにしました. ;;;ターミナル以外から起動したときも,パスなどのシェル環境変数を引き継ぐ (when (memq window-system '(mac ns)) (require 'exec-path-from-shell) (exec-path-from-shell-initialize) (let ((envs '("BIBINPUTS" "TEXINPUTS" "INDEXSTYLE"))) (exec-path-from-shell-copy-envs envs)) ) ここでは,パス以外のシェル環境変数としてLaTeXで使うBIBINPUTSとTEXINPUTS, INDEXSTYLEの3つをenvsというリストにして,exec-path-from-shell-copy-envsという変数に設定しています.これでexec-path-from-shell-copy-envsに設定したシェルの環境変数も一緒に引き継いでくれるようになりました. あとはQuicsilverでEmacs.appにキーボードショートカットを割り当てて,ターミナルなしで起動出来るようにしました.最近外付けSSDにUbuntu 15.04をインストールしたのですが,UbuntuでもEmacsをGUI...

直積写像

数学のノートを作っていて,通常の記法とは異なった意味で使ってしまっていた記号があることに気づきました. 通常の記法では,集合\(A, B, X, Y\)に対して,写像\(f : A\to X\)と写像\(g:B\to Y\)が与えられたとき,\(f\)と\(g\)の直積写像\(f\times g : A\times B \to X\times Y\)を\((a, b)\in A\times B\)に対して \[(f\times g)(a, b)=(f(a), g(b))\] で定義します. ところが私は今までノートの中では,\(C\)を集合とするとき写像\(\varphi : C\to X\)と\(\psi : C\to Y\)に対して,\(\varphi \times \psi : C\to X\times Y\)を,\(c\in C\)に対して \[(\varphi \times \psi)(c)=(\varphi (c), \psi(c))\] という意味で使ってきたことが多いように思います.この意味で使っていたため,直積写像に対応する写像を扱う場合にはわざわざ射影\(\pi_1 : A\times B \to A\)と\(\pi_2:A\times B\to B\)を用意して,\(f\circ \pi_1 : A\times B \to X\)や\(g\circ \pi_2 : A\times B \to Y\)のように定義域を揃えてから\((f\circ \pi_1)\times (g\circ \pi_2) : A\times B \to X\times Y\)のように記述していました. 最近まで両者を混同して記述していることに気づいていませんでした.後者の意味の写像(定義域が揃っていて,$\varphi$と$\psi$を座標写像とするような写像)は$(\varphi, \psi) : C\to X\times Y$, $c\mapsto (\varphi(c), \psi(c))$と記述するのがよいようです.しかしこの記法でいくと,写像の族$f_\lambda : C\to X_\lambda$ ($\lambda\in \Lambda$)が与えられているときに写像$f : C \to \prod_{\lambda\in \Lamb...

あの人は今 The Stereo

The Stereoは Wikipediaによると 1999年から2004年にかけて活動していたpop, rock and rollバンドだそうで,私はEmo関連で聴き始めました.3枚のアルバムを残していますが,どれも良作で特に1枚目の"Three Hundred"か2枚目の"No Traffic"がおすすめです.2枚目は友人に貸したら返ってこなくなったので買い直した記憶があります. 3枚目はほぼソロアルバムなので,バンド感が無くて少々期待外れでした.Last Days of Aprilなんかもそうですが,実質的にソングライティングしている人間が一人であっても,その人が全パート録音とかするとバンドよりも密度が薄まっているんですよね. しかしもう10年以上経つのかぁ. 久しぶりにiTunesに入れていた曲を聴いてみたところ,メンバーの現状が気になったので検索してみました.フロントマンの Jamie Woolford はLet Goというバンドを結成して2005年にはアルバムを出し,2006年には来日していたようです.全然知りませんでした.WikipediaにはLet Goを継続中のように書いてあるのですが,音源は2009年に出したSplit CDが最後のようで,現状はどうなのかよくわかりません.とりあえずAmazonで中古アルバムが1円だったので購入してみました.視聴してみる限り,Stereoと同系列の音みたいです. こちらから視聴できます. しかし相変わらず検索をかけにくいバンド名です. The Stereoの2枚目"No Traffic"からの曲です. 2011年にFueled by Ramenの15周年記念のライブで演奏していたみたいです. Let Goの曲のMVです. ソロアルバムも出しているみたいです.

Ubuntu 14.04でのEmacsの設定(mozc, YaTeX, SyncTeX, フルスクリーン)

最近MacBook Air (mid 2012)の外付けSSDにUbuntu 14.04をインストールしたので,久しぶりに設定をゴニョゴニョしております. Emacsの日本語入力では,以前はAnthyを使っていましたが,TeXフォーラムの「 emacs, mozc, TeX入力 」を見て,mozcでもドル記号を入力したときに自動で直接入力に切り替えることが出来そうだったので設定をしてみました.「~/.emacs.d/init.el」に次のように設定しています. ;;; 言語環境の指定 ;;mozcの設定 (require 'mozc) (set-language-environment "Japanese") (setq default-input-method "japanese-mozc") ;;yatex-modeでドル記号を入力したときに直接入力に切り替える。 (define-key mozc-mode-map "$" 'YaTeX-insert-dollar-or-mozc-insert) (defun YaTeX-insert-dollar-or-mozc-insert () (interactive) (if (eq major-mode 'yatex-mode) (YaTeX-insert-dollar) (mozc-handle-event ?$))) その他にも,SyncTeXの設定がしばらく見ない間に変わっていたので,TeXWikiを参考に設定も行いました. 「 synctex-for-evince-yatex.el 」をダウンロードしてemacsが読める場所に置きます. init.elには次のように書き込んでおきます. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; synctex関連 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;inverse search (require 'dbus) (defun un-urlify (fname-or-url) ...

複数の文書で共通して使いたい文書の置き場所(LaTeX)

LaTeXでLebesgue積分のノートと複素解析のノート,Lie群のノートを作成しているのですが,実数関数についての微積分の内容をすべてのノートに共通させたいと以前から考えていました. サブフォルダに置いてある文章ならば,import.styを使って読み込むことも可能ですが,同水準のフォルダ間の文章の読み込みは望みの挙動をしてくれる解決策を知りませんでした. import.styを使うと,サブディレクトリ以外の他ディレクトリのファイルも読み込むことが可能なようです.しかし私が試した限りでは,警告やエラーが出ないものの,期待したファイルを読み込んでいない結果が得られました.またimport.styを使うと,YaTeX側で認識をしてくれないという問題があります(個人的にはこれが一番の問題). 仮に共有したい微積分のノートが「$HOME/notes/calculus」に置いてあるとします. \inputコマンドを使うのであれば,これは相対パスを理解してくれるようなので,\input{../calculus/integral}といった記述をしても問題なくタイプセットを行うことが可能です. しかし\includeコマンドを使おうと思うと,相対パス表記はLaTeX側で解釈してもらえないようで,エラーが出てしまいます.大規模の文章を扱うときには,\includeonlyコマンドを使って分割タイプセットを行いたいので,\inputしか使えないのは不満が残ります. 別の解決策として1つのPC(OS)しか使わないのであれば,共通させたい文書を入れるフォルダを作って,その他の各文書のフォルダにはシンボリックリンクを貼っておけば良さそうです. しかしこれにも問題点があって,私はLaTeXのノートをDropboxに保存して複数のPCで共有しているのですが,シンボリックリンクを使った方法だとDropbox上で実ファイルとして認識されてしまうようで,他のPCでは実ファイル化してしまい余計に扱いがややこしくなりました. 現在はMacやLinuxの環境では ~/.bashrcなどに変数TEXINPUTSを export TEXINPUTS=$HOME/notes/calculus:$TEXINPUTS と記述してTeX側から共有したいファイルの場所が見...

emacs内でTeX文書の作成からpdf閲覧まで行う

TeX WikiのEmacsに関する記述を見ていると,sheepheadさんのblog記事: Emacs上のPDFでisearch,occur,imenuとかなんでもしてしまうpdf-toolsの紹介 が紹介されていました.Emacs23を導入したときに,EmacsでPDFファイルを表示するDocViewを試したことがありましたが,使い勝手が悪かったためすぐに使わなくなりました. まずdoc-view-modeの基本的な操作法をまとめておきます. キー コマンド 機能 n 'doc-view-next-page 次のページ p 'doc-view-previous-page 前のページ C-n 'doc-view-next-line-or-next-page 1行下方へスクロール C-p 'doc-view-previous-line-or-previous-page 1行上方へスクロール SPACE 'doc-view-scroll-up-or-next-page 下方スクロールまたは次のページ DEL 'doc-view-scroll-down-or-previous-page 上方スクロールまたは前のページ k 'doc-view-kill-proc-and-buffer プロセスを終了しバッファを閉じる g 'revert-buffer バッファを閉じる + 'doc-view-enlarge 拡大 - 'doc-view-shrink 縮小 カーソルキー  - 上下左右方向へスクロール M-g M-g  'doc-view-goto-page 指定 したページへ 移動 M-> 'doc-view-first-page 最初 のページへ 移動 M-< 'doc-view-last-page 最後 のページへ 移動 上述の記事ではEmacsのdoc-view-modeの使い勝手を良くするEmacs拡張アプリであるpdf-toolsを紹介していたので,早速試してみました.環境はMac OS X MavericksでEmacs 24.4.50を使用しています. pdf-toolsを検索してみ...

tikzを用いた部,章,節のカスタマイズ

TeX Stack Exchange のサイトを眺めていて,tikzを使った各種見出しのデザイン変更の仕方でとても格好の良いものが幾つかあったため,リンクをまとめてみます. Customizing part style with Tikz How to customize chapter heading style? Some questions about titlepage and tikz Code improvement on a title page design tikzを使えばこんなことも出来るのかと感心させられました.