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

投稿

ラベル(Ubuntu)が付いた投稿を表示しています

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...

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側から共有したいファイルの場所が見...