2014年2月27日木曜日

Ubuntuのデスクトップ環境に関すること(キーバインド関連)

Ubuntuなど、Windowsとは違って、デスクトップ環境を自由に変えることができる。
初期のUbuntu(例えば、8.04LTS 〜 10.10らへんまで)はクラシックなGNOMEデスクトップ環境だったため、ウィンドウ遷移、アプリ起動が簡単だった。しかし、12.04LTSぐらいからUnityが導入されてからウィンドウ遷移するときのAlt + Tabでアプリごとでカテゴリ化されていたため、同じアプリ内の遷移はとてもイライラした。

自分はUnityになってからいろんなデスクトップ環境を試してきたが、なかなかUnityから離れることができなかった(イライラするのに) 。
なぜなら、キーボードのショートカット(キーバインド)がいじれたから。Unityのシステム設定のキーボードのところで、Cap LocksをControlにスワップすることがGUIからできた。僕が知っている限りではUbuntuをコアにして他のデスクトップ環境では、GUIから操作ができるものがなかった。これが原因。

じゃ、なぜ自分好みのキーバインドを設定できるデスクトップ環境が必要かというと、Cap Locksの存在価値とEmacsなどのControlキーの使用頻度がある。WindowsでもMacでもControlは実はすごく使えるキーの一つだとわかる人は知っていると思う。Control + ?でいろんな操作ができる。
  • Control + C: コピー
  • Control + V: ペースト
  • Control + X: カット
  • Control + P: 印刷
  • Control + W: タブを閉じる
  • Control + A: すべてを選択
  • Control + D: ブックマーク登録
  • Control + x Control f: ファイルを探す(作成)Emacs
  • などなど
以上のようにいろいろある。だからControlキーは重要。

Ubuntuの他のデスクトップ環境ではUnityのようにカテゴリ化のウィンドウ遷移ではなかったので、基本どれでも良かった。でもまぁ、軽いのがいいかと思って、Xubuntuを入れた。

キーバインドに関しては、Googleで調べていたら「xmodmap」というコマンドから変更することができるということなので、コマンド
xmodmap -pke > ~/.xmodmap
を実行、その隠しファイルにCap Locksのキーコード66をControl_Lにして、最終行に
clear Lock
add Control = Control_L
を打ち込んだ。これでは、毎回デフォルトに戻ってしまうため、/etc/profile.d/内にxmodmap_config.shというシェルスクリプトに
#!/bin/sh
xmodmap ~/.xmodmap
を記入。再起動すると、Controlが見事にCap Locksでも使えるようになっている。

これで、Unity特有のイライラはなくなったと思える。だが、新しい環境になったため、他のイライラはまだ残るであろう。。。つづく

2014年2月25日火曜日

YaTeXをいれてみた

さー久しぶりの書き込み。(いつもの)

大学はもう既に2年を終わって、次は3年ですね。時が流れるのが早いです。

大学のレベルが上がるに連れてWordからTeXにシフトしてきて、この前久しぶりにWord使ったら「うぅぅぉぉぉ」と唸ってしまいました。

ということで、ここではYaTeXをちょこっとメモっておきたいと思います。

YaTeXはEmacsでLaTeXをコンパイルとかできる拡張機能。

Ubuntuだと、インストール方法は2つあって、sudo apt-get install yatexまたは、本家からダウンロードして~/.emacs.d/site-list/の下に置く。僕は後者の方法でやりました。

現在のバージョンが1.77で、配置が終了したら、~/.emacs.d/init.elに設定を書き込みます。

;; YaTeX Settings

; Load YaTeX
(add-to-list 'load-path "~/.emacs.d/site-lisp/yatex1.77")

; Automatically load YaTeX when .tex File is created
(setq auto-mode-alist
     (append '(("\\.tex$" . yatex-mode)) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)

; Kanji code
; nil is recommended but '0' means, no-conversion, it directly uses emacs encoding style
(setq YaTeX-kanji-code nil)

; Enable TypeSet
(setq YaTeX-inhibit-prefix-letter t)

; LaTeX Compile Command (Default: platex)
(setq tex-command "platex")

; Preview Command
(setq dvi2-command "xdvipdfmx")
(setq dvi2-command "evince")

僕の環境では、platexでコンパイルして、DVIからPDFへの変換はxdvipdfmxを使っているの、自分の環境にあわせて調整してみてください。
ちなみに、xdvipdfmxのコマンド後、evinceを開いている場合は自動で更新されるため、最後のコードは若干不要?に近いです。

Enable TypeSetというところは、[prefix] = C-c (Control + c)で始まるコマンドを有効という意味で、そのコマンドからコンパイル、出力ができます。詳しくは、YaTeX Wikiなどをごらんください。

参考にしたページ:
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?YaTeX#uc0145ec
http://www.proton.jp/main/latex/yatex.html
https://www.yatex.org/