Linuxに手動で最小構成のTeX Liveをインストール

 Gentoo LinuxTeX Liveをインストールしたかったのですが、emergeでやると時間がかかるのと最新版が入らないのとかで気に食わないので、手動でやってみました。やってみると案外簡単です。

インストール

基本的には Quick install - TeX Live - TeX Users Group に従います。Linux - TeX Wikiも参考になるでしょう。まずhttp://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz からインストーラをダウンロード。

tar zxvf install-tl-unx.tar.gz

で展開。あとは展開した場所に移動して、

sudo ./install-tl

インストーラを実行します。操作方法は表示されるので分かるでしょう。

それで最小構成にするために、schemebasicに変更します。私はcollectionも変更して、Chinese/Japanese/KoreanとJapaneseあたりを追加しておきましたが、これは必要ないのかも?あとはインストールです。

PATHの設定

インストールはこれで完了しますが、PATHは自動では設定されません。次を.bash_profileあたりに書く必要があります。

PATH=/usr/local/texlive/2014/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH

書いたらターミナルを再起動するのが良いでしょう。

日本語設定

これで終わりかと思いきや、試してみるとまだ日本語を含む文書のタイプセットがうまく行きません。Homebrewで最小構成のTeX環境を構築する - WEB SALADを参考にして、必要なパッケージをインストールします。

sudo tlmgr install ptex ptex2pdf jfontmaps jsclasses japanese-otf

を実行。あとは、

sudo kanji-config-updmap-sys ipaex

を実行して、フォントを埋め込む設定をすると良いでしょう。

Emacsをカスタマイズした

時間があったので、Emacsをカスタマイズしてました。導入したのは、helmyasnippetです。どちらも有名なプラグインですが、今まで手が出せずにいました。

Helm

Helmは説明し辛いですが、M-xやC-x C-f等のインターフェースを便利にしてくれるものです。使い始めは何が良いのかさっぱり分かりませんでしたが、しばらく使ってみると便利です。説明はググればいっぱい出てくるので省略。

Yasnippet

Yasnippetは、スニペット機能を追加する物です。スニペットとは大ざっぱにいうと、よく使うコードの断片を保存しておき、必要なときにそれを挿入する機能です。これも使い方が分かると便利です。 Cのfor文を一発で入力したり、LaTeXの毎回入力する\documentclassから\begin{document}までの一連の流れを数回のキータイプで挿入できたり、無駄がなくなって良いです。使い方はemacs 最強スニペット展開プラグイン yasnippet.elのインストール! - プログラミングのメモあたりがいいかも。

最後に…

関係ないですが、最近はVimの方が流行っているということで、ちょっと惹かれています…ちょっと使ってみようかな。

Emacsのauto-java-completeをMacで使う

皆さんEmacsJava書きたいですよね。でもデフォルトのままだと、auto-completeを使ってても、補完がイマイチだったりします。

そこで、emacs-java/auto-java-complete · GitHubというものがあります。これは、auto-completeを強化してくれるものです。しかし、インストールでハマったので解決法をここに書いておきます。環境はOS X 10.9、Javaのバージョンは8です。

やり方

とりあえず、auto-java-completeはElpaに入ってないので、自分でgit cloneするとかして入れましょう。ですが、それだけではこれは動かず、インデックスファイルみたいなのを作成する必要があります。

git cloneしたディレクトリに移動します。それで、次を実行。

$javac Tags.java
$java -cp "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/lib:." Tags

ディレクトリ名はJavaのバージョンによって違うでしょうから、そこは置き換えて。あとは、init.elに

(add-to-list 'load-path "~/.emacs.d/ajc-java-complete/")
(require 'ajc-java-complete-config)
(add-hook 'java-mode-hook 'ajc-java-complete-mode)
(add-hook 'find-file-hook 'ajc-4-jsp-find-file-hook)

とか書いておけば、動きます。

私がどこでハマったかというと、java Tagsを実行するところ。ここで、-cpオプションで正しくパスを教えてあげないと、うまく行かないわけですが、どこにJavaのクラスファイルがあるのか知らなかったのです。結論としては、rt.jarというファイルのパスを教えてあげれば良いみたいですね。Linuxの場合は、Emacs23でJavaクラス補完機能設定 - Qiitaによれば、/usr/lib/jvm/java/jre/lib/rt.jarとかにあるみたいです。

これでめでたしめでたし。

ちなみに

こういうGitにしかないプラグインは、Caskを使うと、管理が楽になって便利です。

Matplotlibのフォントが変更できない

MatplotlibはPythonでグラフが書けるやつですね。

api example code: font_family_rc.py — Matplotlib 1.3.1 documentationらへんのやり方でフォントを変更しようとしても、

Font family ['serif'] not found.

とか言われて失敗することがあります。こんなときは、 $HOME/.matplotlib/fontList.cacheを削除してやりましょう。バージョンによっては、fontList.py3k.cacheかも。私の場合、これで直りました。

MacでPythonTeX

といっても、PythonTeX入門ではないのですが。

MacでPythonTeXを使おうとすると、まずはPythonのバージョンが2。しかも標準ではpipも入ってないので、pygmentsが入れられない。あと、元々のシステムのPythonはあまりいじりたくない。ってなわけで、デフォルトのPythonを使うのはやめました。

で、HomebrewでPythonを入れていたのですが、これだとコマンド名がpython3になってしまって、PythonTeXから呼び出せない。そこでいろいろ調べたら、pyenvってのが良さそうです。

使い始めたばっかりだけど、rbenvと似た感じで快適っぽい。

AUCTeXのプレビューで本文が隠れない

AUCTeXを使っていると、タイトルのような状況が発生することがあります。これはどうやら文字コードが正しく設定されていないのが原因なようで、次の設定をinit.elに書き込めば直るはずです。(文字コードは人によって違うと思いますが。)

;; preview-latexで画像の場所がおかしい不具合を修正
(setq TeX-japanese-process-input-coding-system 'utf-8
      TeX-japanese-process-output-coding-system 'utf-8)