2013/01/30

TeXLive 2012+Vim-LaTeXでてふてふする on Fedora 17

大学のレポート類は基本的にLaTeXなのですが、
これまで、UbuntuのほうにしかTeX環境を整備していなかったため...
今回はFedora17で、TeXLive 2012を用いたTeX環境構築をやってみることにしました。

一昔前とは違い、おかげ様で日本語対応のLaTeX環境がかなり整備されてきていて、
導入がめちゃくちゃ簡単になっています。ありがたい事です...ε-(´∀`*)ホッ
UTF-8もそのまま扱えます。

まずは、TeXLive 2012のインストール。
http://fedoraproject.org/wiki/Features/TeXLive の内容どおりなんですがw

リポジトリを追加するだけで、yumでインストールできるのでなんとも楽です。
(注意: リポジトリを追加しないまま行った場合、恐らく、古いTeXLiveがインストールされてしまいます。)
また、platexを扱うためにtexlive-collection-langcjkも一緒にインストールします。
$ sudo rpm -i http://jnovy.fedorapeople.org/texlive/2012/packages.fc17/texlive-release.noarch.rpm
$ sudo yum clean all
$ sudo yum install texlive texlive-collection-langcjk
これだけです。私の環境の場合、340MB程度のダウンロードとなりました。


次は、Vim-LaTeXのインストール。
一応、仮にも私はVimを使っていますので、ありがたいですw
※ところで...念の為。Fedoraのデフォルトですと、vim-enhancedが入っていなかったりするので、その場合は先に入れておきましょう。

こちらもとても簡単になっています。
以下の手順は、Vim-LaTeX - TeX Wikiの内容どおりにやってみたものです。(感謝♪)

まず、Vim-LaTeXのアーカイブをダウンロードします。
http://sourceforge.net/projects/vim-latex/files/
執筆時の最新版は、vim-latex-1.8.23-20130116.788-git2ef9956.tar.gz でした。

ダウンロードしたアーカイブを展開します。
$ tar vxf vim-latex-1.8.23-20130116.788-git2ef9956.tar.gz

展開されたディレクトリ内の全てのディレクトリを ~/.vim/ 下へコピーします。
$ cd vim-latex-1.8.23-20130116.788-git2ef9956/
$ ls
Makefile     compiler  ftplugin  latextags  plugin
Makefile.in  doc       indent    ltags

$ cp . ~/.vim/ -R

最後に、~/.vimrc に記述を追加します。
$ vi ~/.vimrc
""
"" Vim-LaTeX
""
filetype plugin on
filetype indent on
set shellslash
set grepprg=grep\ -nH\ $*
let g:tex_flavor='latex'
let g:Imap_UsePlaceHolders = 1
let g:Imap_DeleteEmptyPlaceHolders = 1
let g:Imap_StickyPlaceHolders = 0
let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_FormatDependency_ps = 'dvi,ps'
let g:Tex_FormatDependency_pdf = 'dvi,pdf'
"let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
"let g:Tex_FormatDependency_pdf = 'pdf'
let g:Tex_CompileRule_dvi = 'platex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_dvi = 'uplatex -synctex=1 -interaction=nonstopmode $*'
let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
let g:Tex_CompileRule_pdf = 'dvipdfmx $*.dvi'
"let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
"let g:Tex_CompileRule_pdf = 'pdflatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'lualatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'luajitlatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 -interaction=nonstopmode $*'
let g:Tex_BibtexFlavor = 'pbibtex'
"let g:Tex_BibtexFlavor = 'upbibtex'
let g:Tex_MakeIndexFlavor = 'mendex $*.idx'
let g:Tex_UseEditorSettingInDVIViewer = 1
let g:Tex_ViewRule_dvi = 'pxdvi -watchfile 1'
"let g:Tex_ViewRule_dvi = 'advi -watch-file 1'
"let g:Tex_ViewRule_dvi = 'evince'
"let g:Tex_ViewRule_dvi = 'okular --unique'
"let g:Tex_ViewRule_dvi = 'wine ~/.wine/drive_c/w32tex/dviout/dviout.exe -1'
let g:Tex_ViewRule_ps = 'gv --watch'
"let g:Tex_ViewRule_ps = 'evince'
"let g:Tex_ViewRule_ps = 'okular --unique'
"let g:Tex_ViewRule_ps = 'zathura'
"let g:Tex_ViewRule_pdf = 'texworks'
let g:Tex_ViewRule_pdf = 'evince'
"let g:Tex_ViewRule_pdf = 'okular --unique'
"let g:Tex_ViewRule_pdf = 'zathura -s -x "vim --servername synctex -n --remote-silent +\%{line} \%{input}"'
"let g:Tex_ViewRule_pdf = 'qpdfview --unique'
"let g:Tex_ViewRule_pdf = 'pdfviewer'
"let g:Tex_ViewRule_pdf = 'gv --watch'
"let g:Tex_ViewRule_pdf = 'acroread'
"let g:Tex_ViewRule_pdf = 'pdfopen -viewer ar9-tab'
(コードの引用元: http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Vim-LaTeX#f59a6b76 感謝♪
このコードはコメントアウトされている部分が多いですが、設定を弄りやすいですね。)


以上です。

これで、vimを使って.texファイルを開くと・・・Vim-LaTeXが適用されます。
Vim-LaTeXを有効にしたVimで.texファイルを開いたところ。
また、Vimだけでなく、GVIM環境でもきちんと反映されます。
Vim-LaTeXを有効にしたGVIMで.texファイルを開いたところ。
次は...試しにVim上で.texファイルを作って、TeXLiveでtex→PDFにしてみます。
$ vi test.tex
\documentclass[a4j,12pt]{jarticle}
\title{てふてふ}
\author{masanori}
\date{\today}
\begin{document}
\maketitle

\section{\LaTeX なう!}
これはテストです。
\begin{math}
e^{i\theta} = \cos\theta + i \sin\theta
\end{math}

\end{document}
ここで...ESCでインプットモードを解除して、いつもどおりに
: w 
で保存します。

そして、
\ll
を素早く入力することで、LaTeXによるコンパイルが実行されます。

さらに、
\lv
を素早く入力すると、.texファイルと同じディレクトリにpdfファイルが生成され、
evinceなどのビューアでPDFファイルが開かれます。
(dviファイルでのプレビューをデフォルトとしたい場合等は、先ほどの.vimrcに記述したコードをいじるだけです。)


(尚、YaTeXなどと同じで、一度、\lvをしてプレビューを開いている間は、
編集しても、上書き&\ll(コンパイル)するだけで、自動的にプレビューへと反映されます。)

詳しい使い方は、http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Vim-LaTeX#v4639f7b を参照させていただきましょう(>ω<)

以上です♪


余談ですが、GUIなエディタ好みの方は...
TeXMakerが使いやすいみたいですので、そちらも。

http://hgeekooohay.blogspot.jp/2013/01/ubuntu1210tex.html

2013/01/26

Kyoto Tycoonの導入とperlからのアクセス (on Fedora 17 and Ubuntu)

Kyoto CabinetとKyoto Tycoonを試してみました。

以前から気になりつつも、ちょっと今更になってしまったのですが・・・
開発中のWebアプリケーションで使いたい!という動機です(笑)
Fedora 17 および Ubuntu 12.04で以下の手順による動作を確認できました。

まず、必要なパッケージをインストールします。
$ sudo yum install libcurl gcc make zlib-devel
尚...Ubuntuなど(Debian系)では次のような感じです:
$ sudo apt-get install curl gcc make zlib1g-dev libbz2-dev build-essential

次に、Kyoto Cabinetをインストールします。
$ wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
$ tar zxf kyotocabinet-1.2.76.tar.gz
$ cd kyotocabinet-1.2.76/
$ ./configure
$ make 
$ sudo make install
$ ../
その次に、Kyoto Tycoonをインストールします。
(Kyoto Tycoonは、Kyoto Cabinetをネットワークで扱うためのインターフェイスです。)
$ wget http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz
$ tar zxf kyototycoon-0.9.56.tar.gz
$ cd kyototycoon-0.9.56/
$ ./configure
$ make 
$ sudo make install
さらに、管理用のコマンドを使えるようにスクリプトをコピーしておきます。
$ sudo cp lab/ktservctl /usr/local/sbin/
$ sudo cp lab/ktservctl /etc/rc.d/init.d/ktserver
(【Ubuntuの場合】 /etc/rc.d/init.d/ → /etc/init.d/ ですので、注意。以下も同様に読み替えてください。)

またこのスクリプトを一部編集しておきます。
$ sudo vi /etc/rc.d/init.d/ktserver
#! /bin/sh

#----------------------------------------------------------------
# Startup script for the server of Kyoto Tycoon
# chkconfig: - 80 20
#----------------------------------------------------------------

〜〜〜
PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin"
〜〜〜
(2行目付近に、このように、chkcondigのための行を追加。 また31行目付近のPATHに、/usr/local/bin を追加しておきます。) [2013/02/10:追記]

共有ライブラリパスに/usr/local/libを含めていなければ、追加しておきます。
$ vi /etc/ld.so.conf
〜〜〜
/usr/local/lib
$ sudo ldconfig
これで完了です。

では...早速、Kyoto Tycoonを起動してみます。
$ sudo service ktserver start
または
$ sudo ktserver 

これで...コンソール上にログが表示されたら、稼働中です。

とりあえず試しに、perlでスクリプトを書いて読み書きしてみることに。
ありがたいことに、Cache::KyotoTycoonというモジュールがあるので、とても簡単に扱うことができます。

まずは、cpan/cpanmで、Cache::KyotoTycoonをインストールします。
$ cpanm Cache::KyotoTycoon
あとは、スクリプトを書いて...実行。
use Cache::KyotoTycoon;

# KyotoTycoonに接続
my $kt = Cache::KyotoTycoon->new(
    host => '127.0.0.1',
    port => 1978,
);

# キー'foo'で 文字列'bar'を保存
$kt->set('foo', 'bar');
# 読み出してみる
print $kt->get('foo') ."\n";

# 時限削除機能もあるので試してみる
$kt->set('foo2', 'bar', 2); # 2sec
# 読みだしてみる
print $kt->get('foo2') . "\n"; # OK
# 2秒〜ほど待つ
sleep(2500);
# もう一度、読みだしてみる
print $kt->get('foo2') . "\n"; # 時限削除されているので空になる。

うーん!とってもシンプルですし、時限削除は便利ですね。
まさに...キャッシュのためにももってこいなKVSだといえます。
ベンチマークの類はまだしてないですが。メモリにも優しいそうです。

また、memcached互換なので既存のモジュールも応用できるそうです。

[2013/03/19 追記]
Cache::KyotoTycoon v0.14で行われた修正にともない、
コンストラクタ(Cache::KyotoTycoon->new)内でdbパラメータを与えると
リクエストがエラーとなってしまうようです。

[2013/05/29 追記]
パッケージ類のインストール手順を追加しました。
また、Ubuntu 12.04でもこの手順で動作を確認しているため、追記 および タイトルを変更しました。


参考にさせていただいたページ (感謝 m(_ _)m♪):

2013/01/09

Raspberry Pi+ModMyPi Caseが届いた

Raspberry Pi (Model B 512MB)+ ModMyPi Caseのセットを
ModMyPiで新年早々に注文しておいたのですが、今日届きました。

ケース色はブラック&オレンジのツートーンにしてみました(笑)

Raspberry Pi (Model B 512MB RAM)+ ModMyPi Case (Black / Orange)
 ModMyPi CaseにRaspberry Piをセットしてみたところ。
ぴったりです。基本的に端子類は外に出ます。(スキマも結構あります。)
天面のGPIO端子部分はカバーされていますが、取り除いてしまうことができます。
ちなみに実は、Raspberry Piが発売される前からRSコンポーネンツで仮予約だけしてあったのですが、
いざ発売が開始されたとき、ちょうどその時の懐具合でポチることができずw
みるみる納期が増えていき...気づけば数ヶ月待ちとかになっていましたねw

そんななかでMobileHackersさんのブログ記事で紹介されていたのがきっかけで知ったのが、RSコンポーネンツ以外の製造元からはもっと早く手に入れることが出来るということ。

それもあって...やっと今回入手に至ることができました(笑)
たしかにModMyPiでケースセットとして注文すると、日本でも納期ちょうど1週間で届きましたよ。

使い道は色々思いついているのですが、またぼちぼち弄って行きたいと思います。

2013/01/01

【10周年】Masanori's WebSiteをリニューアルしました。

2013年、あけましておめでとうございます。

2003年より公開してきましたMasanori 's WebSiteですが、
この2013を持ちまして、
おかげさまで\10周年を迎えました。

「昌紀のHP」として公開して依頼、幾度もデザイン変更、
コンテンツも変わって参りました・・・
そして今回。10周年記念...というと大げさなのですが、
リニューアルを行いました。 http://ohgita.info/

2013年1月1日 - Masanori's WebSite 10周年記念
(ちなみに以前から何やら作成していたProject.MIとは別のものでして...
2日間ほどで急遽作成したのですが...体調を崩しましてww
間に合っていない機能やコンテンツもあります・・・。今後髄時アップデートしていきます(笑) )


今年は大学も3年となり...研究もありますし、
プロジェクトの開発のほうにもこれまで以上に取り組んでまいります。

本年も、そして今後とも何卒宜しくお願い申し上げます。

2013年 元旦 Masanori.