読者です 読者をやめる 読者になる 読者になる

初心者がutf8でLaTeXとBibTeXを使うための一通りの準備(Ubuntu編)

Ubuntu12.04LTSでutf8のTeXを使えるようにするための手順をメモ*1。基本的に自分用のメモとして書いているけれど、他のTeX初心者にも役に立てる記事になっていると嬉しい。たぶん、「コマンドで作業ディレクトリの移動ができる」くらいの前提知識があれば、ここの情報で最低限の環境の準備ができるんじゃないだろうか。

コンテンツ

  • TeXLive
    • インストール
    • 確認
    • ダミーパッケージの作成
  • エディタのインストール
    • Texmaker
    • ibus-qt
    • JabRef
  • パッケージ・環境変数の設定

TeXLive

文字コードはutf8で使いたいので、環境はTeXLive2011以降のものをインストールする。このエントリ執筆時に試した時はTeXLive2011だったが、TeXLive2012でも同じ方法でインストール可能(2012.11.07)。

インストール

インストールは以下の手順。といっても、ダウンロードしてきてファイルを実行するだけ。

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar zxvf install-tl-unx.tar.gz
$ cd install-tl-20120511
(注意:ディレクトリ名はダウンロードした日付によって異なるのでホームフォルダで確認)
$ sudo ./install-tl

サーバーとの接続エラーなどで中断しても、以下のコマンドで途中から再開できる。

sudo ./install-tl --profile installation.profile

インストールが終了したらシンボリックリンクの作成。以下のコマンド一つでいいらしい(OSにあわせて以下のいずれかのコマンドを実行)。

# 64bit版の場合
$ sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr path add

# 32bit版の場合
$ sudo /usr/local/texlive/2011/bin/i386-linux/tlmgr path add

参考:

ちなみに、GUIでインストールすることもできる。不要なファイルを除いてインストールするにはこちらのサイトの方法を使うのが便利。

確認

インストールが完了したかの確認は、ターミナルに「platex」と打ち込んで下のように表示されればOK。これを確認したら、[Ctrl]+[D]とタイプして終了。

This is e-pTeX, Version 3.1415926-p3.2-110415-2.3 (utf8.euc) (TeX Live 2011)
restricted \write18 enabled.

また、最初にダウンロードしてきた「install-tl-20120511」のフォルダや圧縮ファイルはもう不要なので削除しても問題ない。

ダミーパッケージの作成

後でTeXWorksなどの関連ソフトを新しくインストールする時、依存パッケージであるTeXLiveが置き換えられてしまうことがあるため、equivsでダミーパッケージを作っておく必要がある。手順は以下の通り。

$ sudo apt-get install equivs
$ mkdir -p /tmp/tl-equivs
$ cd /tmp/tl-equivs
$ equivs-control texlive-local
$ gedit texlive-local

ここで開いた「texlive-local」というファイルの内容を以下のように変更して保存。書き換える内容は参考サイトのものを引用。

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: texlive-local
Version: 2011-1~1
Maintainer: you <you@yourdomain.example.org>
Provides: biblatex, biblatex-dw, cm-super, cm-super-minimal, context, dvipng,
 feynmf, fragmaster, lacheck, latex-beamer, latex-cjk-all, latex-cjk-chinese,
 latex-cjk-chinese-arphic-bkai00mp, latex-cjk-chinese-arphic-bsmi00lp,
 latex-cjk-chinese-arphic-gbsn00lp, latex-cjk-chinese-arphic-gkai00mp,
 latex-cjk-common, latex-cjk-japanese, latex-cjk-japanese-wadalab,
 latex-cjk-korean, latex-cjk-thai, latex-cjk-xcjk, latexmk, latex-sanskrit,
 latex-xcolor, lcdf-typetools, lmodern, luatex, musixlyr, musixtex, pgf,
 preview-latex-style, prosper, ps2eps, psutils, purifyeps, t1utils, tex4ht,
 tex4ht-common, tex-gyre, texlive, texlive-base, 
 texlive-bibtex-extra, texlive-binaries, texlive-common,
 texlive-doc-base, texlive-doc-bg, texlive-doc-cs+sk, texlive-doc-de,
 texlive-doc-el, texlive-doc-en, texlive-doc-es, texlive-doc-fi,
 texlive-doc-fr, texlive-doc-it, texlive-doc-ja, texlive-doc-ko,
 texlive-doc-mn, texlive-doc-nl, texlive-doc-pl, texlive-doc-pt,
 texlive-doc-ru, texlive-doc-si, texlive-doc-th, texlive-doc-tr,
 texlive-doc-uk, texlive-doc-vi, texlive-doc-zh, texlive-extra-utils,
 texlive-fonts-extra, texlive-fonts-extra-doc, texlive-fonts-recommended,
 texlive-fonts-recommended-doc, texlive-font-utils, texlive-formats-extra,
 texlive-games, texlive-generic-extra, texlive-generic-recommended,
 texlive-humanities, texlive-humanities-doc, texlive-lang-african,
 texlive-lang-all, texlive-lang-arab, texlive-lang-arabic,
 texlive-lang-armenian, texlive-lang-croatian, texlive-lang-cyrillic,
 texlive-lang-czechslovak, texlive-lang-danish, texlive-lang-dutch,
 texlive-lang-finnish, texlive-lang-french, texlive-lang-german,
 texlive-lang-greek, texlive-lang-hebrew, texlive-lang-hungarian,
 texlive-lang-indic, texlive-lang-italian, texlive-lang-latin,
 texlive-lang-latvian, texlive-lang-lithuanian, texlive-lang-manju,
 texlive-lang-mongolian, texlive-lang-norwegian, texlive-lang-other,
 texlive-lang-polish, texlive-lang-portuguese, texlive-lang-spanish,
 texlive-lang-swedish, texlive-lang-tibetan, texlive-lang-ukenglish,
 texlive-lang-vietnamese, texlive-latex3, texlive-latex-base,
 texlive-latex-base-doc, texlive-latex-extra, texlive-latex-extra-doc,
 texlive-latex-recommended, texlive-latex-recommended-doc, texlive-luatex,
 texlive-math-extra, texlive-metapost, texlive-metapost-doc, texlive-music,
 texlive-omega, texlive-pictures, texlive-pictures-doc, texlive-plain-extra,
 texlive-pstricks, texlive-pstricks-doc, texlive-publishers,
 texlive-publishers-doc, texlive-science, texlive-science-doc, texlive-xetex,
 texpower, texpower-manual, thailatex, tipa, ttf-freefont, ttf-gfs-artemisia,
 ttf-gfs-baskerville, ttf-gfs-bodoni-classic, ttf-gfs-didot,
 ttf-gfs-didot-classic, ttf-gfs-gazis, ttf-gfs-neohellenic, ttf-gfs-olga,
 ttf-gfs-porson, ttf-gfs-solomos, ttf-gfs-theokritos, ttf-sil-gentium, xindy,
 xindy-rules
Architecture: all
Description: My local installation of TeX Live 2011.
 A full "vanilla" TeX Live 2011
 http://tug.org/texlive/debian#vanilla

その上で、下記のコマンドでダミーパッケージを作成しインストール。パッケージ名はダウンロードしたタイミングによって違う可能性もあるので、確認したほうがいい*2

$ equivs-build texlive-local
$ sudo dpkg -i texlive-local_2011-1~1_all.deb

参考:独学Linux : TeXLive2011の導入と設定《Ubuntu 11.10 (Oneiric)対応》

エディタのインストール

LaTeXのエディタとしてTexmakerを、BiBTeXのエディタとしてJabRefをインストールする。エディタはあくまで個人の好みなので、あくまでも私のケースの紹介になる。

Texmaker

私の場合、LaTeXのエディタはTexmakerを使っている。公式サイトでパッケージファイルをダウンロードしてインストールするのが確実。

インストールが終わったらTexmakerの設定を変更していく。まず、[Options]→[Configure Texmaker]で以下のように設定。

f:id:hnsn1202:20120523181957p:plain
変更点は以下。

  • LaTeXlatex → platex -kanji=utf8
  • BibTeX:bibtex → pbibtex -kanji=uft8
  • Dvipdfm:dvipdfm → dvipdfmx
  • PDFViewerの[Embeded]のチェックを外す


f:id:hnsn1202:20120523182000p:plain
Quick Build Commandは[LaTeX + dvipdfm + View PDF]にチェック


f:id:hnsn1202:20120523182003p:plain
文字コードとフォントを確認して、スペルチェックを外す(日本語全てに警告が出てうっとおしいので)。英語の文章を書くときは改めて辞書を指定する。Texmakerの設定は以上。

ibus-qt

ibus-qtをインストールしないと、Ubuntu版のTexmakerでうまく日本語を入力できない。コマンドは以下*3

$ sudo apt-get install ibus-qt4 qt4-qtconfig

続いて環境変数 QT_IM_MODULE の値を「xim」から「ibus」に変更。

$ echo $QT_IM_MODULE
xim
$ export QT_IM_MODULE="ibus"
$ echo $QT_IM_MODULE
ibus

上記のように「ibus」と返ってきていれば完了。

参考:Texmaker - TeX Wiki

JabRef

BibTeXのフロントエンドはJabRefを使っている。ソフトウェアセンターでもコマンドでもどちらでもインストールできる。コマンドは以下。

$ sudo apt-get install jabref

インストールが終わったらJabRefの設定。[Options]→[Preferences]で設定を変更。

[General]→[Default encoding]で文字コードの設定。当然ここもutf8に統一。
f:id:hnsn1202:20120719215607p:plain

もし日本語が豆腐文字になるようだったら、[Appearance]→[Set table font]で日本語対応のフォントを選ぶ。おそらくデフォルトで大丈夫。
f:id:hnsn1202:20120719215620p:plain
JabRefの最低限の設定は以上。

パッケージや環境変数の設定

最後に、追加でパッケージを用いたりBibTeXを用いる場合の設定について。

スタイルファイルの置き場所

新しくスタイルファイルやパッケージを導入する場合、用意したstyファイルやbstファイルを以下の場所に置いて、認識させる必要がある*4

  • styファイルの置き場所 /usr/local/texlive/texmf-local/tex//
  • bstファイルの置き場所 /usr/local/texlive/texmf-local/bibtex/bst//

自分で用意したstyファイルやbstファイルが保存してあるディレクトリで以下のコマンドを実行すれば、各フォーマットのファイルをまとめてコピーできる。

コピーしたら最後にmktexlsrを実行して完了*5

$ sudo cp *.sty /usr/local/texlive/texmf-local/tex/latex/local
$ sudo cp *.bst /usr/local/texlive/texmf-local/bibtex/bst/local
$ sudo mktexlsr

参考:

BibTeXファイルの環境変数

私の場合、bibファイルはDropboxに入れて他のPCと同期するようにしているので、bibファイルの置き場所も自由に設定したい。例として~/Dropbox/Bibliographyに保存しているbibファイルを認識させたい時の手順は以下の通り。まずは/usr/local/texlive/2011/texmf/web2cフォルダにあるtexmf.cnfを編集する。コマンドは、

$ sudo gedit /usr/local/texlive/2011/texmf/web2c/texmf.cnf

このファイルの225行目付近を変更。もともとの部分はコメントアウトして、以下のように書き加える。

% pBibTeX bibliographies and style files.
%BIBINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bib//
BIBINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bib//;~/Dropbox/Bibliography//

続いて305行目付近を変更。もともとの部分はコメントアウトして、先ほどと同じように書き加える。

% BibTeX bibliographies and style files.  bibtex8 also uses these.
%BIBINPUTS = .;$TEXMF/bibtex/bib//
BIBINPUTS = .;$TEXMF/bibtex/bib//;~/Dropbox/Bibliography//

さいごに

ここまでの設定で、TeX関連の基本設定は完了。基本的な文書は書ける設定になっていると思う。何か見落としなどがあればご指摘いただきたい。あとは、フォントの埋め込みの設定まではできていないので、その辺は今後の課題。

脚注

*1:なお、今回私が試したのは64bit版の環境。

*2:PC内のファイル検索で「texlive-local」と検索すれば「texlive-local_2011-1~1_all.deb」に相当するファイルがすぐ見つかるはず。

*3:当然ソフトウェアセンターからもインストールは可能

*4:ちなみに、認識できる場所の一覧を調べるには、ターミナルで「kpsewhich -show-path=.sty」「kpsewhich -show-path=.bst」というコマンドを実行すればよい。それぞれのファイルをシステムが探しに行くフォルダを表示してくれる。もしデフォルトの設定で保存場所が変わっていたら、これで確認するとよい。その中でも、texmf-localはTeXのシステム更新に影響を受けないため、個人で用意したファイルならばtexmf-local以下の場所が推奨される模様。当初このエントリでは私の理解不足からtexmf-dist内のフォルダを記載していたが、上記の理由から内容を変更した(2012.07.19)。

*5:このへんのメカニズムはあまり詳しくはないのだが、mktexlsrが不要な人は最後のコマンドは使わない方がいいらしい。私の場合「ls-R」を根こそぎ削除するとコンパイルがうまくいかなかったので、とりあえずmktexlsrは実行するようにしている。