andLinux上に論文執筆環境を整える

はじめに_

次に論文執筆環境を整える。論文執筆環境としてはemacs + LaTeXを用いることとする。

私が考えるLaTeXを使った方がよい理由は以下のとおり

  • データがテキスト+マークアップ言語であるため、これからどのようにコンピュータが進化しようと読めなくなることはありえない(データの継承がとても楽)
  • 計算機科学系の学会や会議ではTeXのスタイルファイルを配布しているため、見映えを整えるのに費やす時間が短くて済む(その分中身に注力できる)
  • 参考文献の参照(citation)がとても簡単。BibTeX(jBibTeX)を使うともっと簡単
  • フリーでPDFファイルを作ることができる
  • 数式が書きやすい

自分でスタイルファイルを作るとなるととても難しいが、スタイルファイルが準備してある場合はMS Wordに比べて見映えで苦しむ必要が少なくなる。MS Wordでの数式や参考文献の参照は死ぬほど面倒。

emacsを使いたい理由は以下のとおり

  • aspellというフリーのスペルチェッカーをemacsから動かすことができる
  • epwing形式の辞書をemacsから利用することができる
  • LaTeX執筆支援環境 YaTeXが使える
  • コピー&ペーストがキーボードだけで簡単にできる

emacsとサポートツール_

emacsのインストールと設定_

まずは、emacsをインストールする。

% sudo aptitude install emacs22
% sudo aptitude install egg

emacsの日本語変換はeggを使いたいのでegg-anthyを準備する。Ubuntuではegg-anthyのパッケージはないので、Anthy Wiki:自家製 tamago な Anthyをダウンロードして使う。まずは、ダウンロード(Windows側でダウンロードして、共有しているフォルダにおく)

% cp 共有フォルダ名 /tmp
% tar xvfz egg-anthy.tar.gz
% cd egg-anthy-20070606
% sudo cp *.el /usr/share/emacs/site-lisp/egg

その後、emacsをたちあげてM-x byte-compile-fileでanthy.elとanthyipc.elをバイトコンパイルする。

emacsの設定ファイルは以下のURLからダウンロードし、.emacsとしてリネームし、ホームディレクトリに置く

% cd
% wget http://www.aise.ics.saitama-u.ac.jp/~gotoh/Download/dot.emacs
% mv dot.emacs ~/.emacs

aspellのインストール_

スペルチェッカーのaspellをインストールする。ispellの後継ソフトウェアらしい。

% sudo aptitude install aspell

TeX wiki:Aspellの記述に従い、.emacsに以下の文章を追加する。

;; For Aspell
(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
 '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))

追加したら、M-x eval-bufferというようにemacs上でコマンドを打ち、設定を反映させる。

また、このままだとemacsから使用するときに「Error: No word lists can be found for the language "ja_JP"」というエラーメッセージが出てしまうので、ホームディレクトリに.aspell.confというファイルを用意し、中身を以下のようにする(Diary? 日記のような日記でない日記:aspell.confに従った)。

lang en_US

そして、emacsを立ち上げ直す。

ためしにemacsで、新しいファイルをつくり、スペルチェックしてみる。

  • emacs上でC-x f (Controlキーを押しながらxキーを押す、その後fキーを押す)でnew.txtを作成
  • 「I wish I were a birb.」と打つ
  • M-x ispell とコマンドを実行
  • 「birb」に対して変換候補がでたならばaspellはちゃんと動いている。

migemoのインストール&設定_

emacs上で文字列検索する際にはC-sというコマンドで検索するが、通常だとアルファベットはアルファベット、ひらがな+漢字はひらがな+漢字でしか検索できない。しかし、migemoというスクリプトをインストールすると、ひらがな+漢字をアルファベット(ローマ字)で検索できるようになり、とても便利。

migemoのインストール

% sudo aptitude install migemo

バイトコンパイルがされていないので/usr/share/emacs/site-lisp/migemo/migemo.elをバイトコンパイルをする(emacs上で M-x byte-compile-file)。

% sudo emacs -nw

.emacsに以下を追加する。emacsを再起動。

;; migemo
(load "migemo.elc")
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)

lookupのインストール_

emacsからEPWING形式の辞書を使うためにlookupとeblookを用いる。詳しくはこちらを参照のこと。ここではすでにepwing形式の辞書があると仮定して、インストールと設定だけ述べる。

% sudo aptitude install lookup-el

emacs21もインストールされてしまうけどご愛嬌。

WindowsとandLinuxとの共有フォルダにDictという名前の辞書置き場があると仮定して設定する。たとえば、広辞苑のEPWING形式のファイルがKOJIENというフォルダにあるとき、.emacsに以下の内容を追加する。

;; For lookup
(autoload 'lookup "lookup" nil t)
(autoload 'lookup-region "lookup" nil t)
(autoload 'lookup-pattern "lookup" nil t)
(define-key ctl-x-map "l" 'lookup)
(define-key ctl-x-map "y" 'lookup-region)
(define-key ctl-x-map "\C-y" 'lookup-pattern)
(setq lookup-search-agents
      '(
        (ndeb "/mnt/win/Dict/KOJIEN") ; ここで辞書があるパスを指定
        ))
(setq lookup-default-dictionary-options
      '((:stemmer .  stem-english)))
(setq lookup-use-kakasi nil)

Windowsとの共有フォルダがandLinux側から見るとどういうパスになるかは/etc/fstabの中身を参照のこと。デフォルトは/mnt/win。

国際会議での発表を考えているならば、ロングマン現代英英辞典【4訂新版】CD-ROMつきがお勧め、LDOCE4変換スクリプトでEPWING形式に変換できるので、emacsから使える。

Amazon.co.jp経由で購入できるEPWING形式の辞書はこちら。

CD-ROMつき辞書のデータをEPWING形式へ変換したい場合はこちらで情報収集するとよいEB series support page

その他.emacsの設定_

こちらをどうぞ

お勧めは以下の二つ。

  • eggを使っている場合に句読点を「,」と「.」にする
  • 全角スペースなどを可視化

日本語 LaTeX_

platexなどのインストール&設定_

Ubuntu Japanese Wiki: JapaneseLocalizedDerivative/LaTeXForJapaneseにしたがって日本語TeX環境を整える。Ubuntu Japanese Teamのみなさまありがとう。

% sudo aptitude install latex-extra-ja

これで、texlive, texlive-math-extra, ptex-bin, xdvik-ja, dvipsk-ja, dvipdfmx, cmap-adobe-japan1, okumura-clsfiles, jmpost, jbibtex-bin, mendexkがインストールされるとのこと。TeX系でほしいのは全部入った。

次に以下のコマンドを行う。

% sudo jisftconfig add

次にxdvi用の設定を行う。

% cd /etc/texmf/vfontmap.d
% sudo cp -p 20ptex-jisfonts.map 20ptex-jisfonts.map.org
% sudo vi 20ptex-jisfonts.map.org

編集内容は以下のとおり。以下の意味が分からない人はこちらを参照のこと。diffって何?

% diff 20ptex-jisfonts.map.org 20ptex-jisfonts.map
2c2
< /usr/share/fonts/truetype/kochi/kochi-mincho.ttf
---
> @Mincho       Roman|Mincho@
4c4
< /usr/share/fonts/truetype/kochi/kochi-gothic.ttf
---
> @Gothic       SansSerif|Gothic@

編集後に以下を実行する。

% sudo update-vfontmap

次にPostscriptファイルとPDFファイルのビューアーであるevinceをインストール設定する。

% sudo aptitude install evince gs-cjk-resource xpdf-japanese

次にフォントを読み込ませるために以下のコマンドを打つ

% sudo mkdir -p /usr/share/poppler/cidToUnicode
% sudo ln --symbolic /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode /usr/share/poppler/cidToUnicode/Adobe-Japan1
% sudo mkdir -p /usr/share/poppler/cMap
% sudo ln --symbolic /usr/share/fonts/cmap/adobe-japan1 /usr/share/poppler/cMap/Adobe-Japan1

以上でちゃんと日本語のTeXファイルを扱え、かつPDFもPostscriptファイルも作成できることを確認できた。

yatexのインストール_

LaTeX形式のファイル作成支援環境 yatex のインストール。インストールだけで使える。

% sudo aptitude install yatex

WhizzytexとActive-DVIのインストール&設定_

LaTeXのリアルタイムプレビューアであるWhyzzytexをインストールする。Whizzytexの使い方については、whizzytexの利用方法を参考のこと。

% sudo aptitude install whizzytex

.emacsに以下のものを付け加える

;; For Whizzytex
(setq whizzy-load-factor 0.1)

platexを使う場合は、ホームディレクトリに.whizzytexrcを作成し、中身を以下のものとする(本家:FAQ:Using WhizzyTEX with platexより)。

INITEX="platex -ini"
LATEX=platex
FORMAT=platex
BIBTEX=jbibtex
FMT=fmt

emacsでTeXのファイルを開き、M-x whizzytex-modeとコマンドを入力するとリアルタイムビューアーが開く。

図やグラフ作成ツール_

tgifのインストールと設定_

英語をつかうだけならば、ただインストールすればよい。

% sudo aptitude install tgif

tgifで日本語を使いたい場合は、設定変更が必要となる。

私は、uimで日本語入力をするので、uim-ximがtgifの起動前に動いている必要がある。

Debianでもそうだけれども、Ubuntuにおけるtgifの共通設定は、ロケールがja_JP.eucJPのときは、/etc/X11/ja_JP.eucJP/app-defaults/Tgifに設定されている。ロケールがja_JP.eucJP以外の場合は、 /etc/X11/app-defaults/Tgifに設定されている。共通設定を変更するのが嫌な場合は、ホームディレクトリに.Xdefaultsとして設定する。

共通設定を変える場合は以下のように行う。

# cd /etc/X11/app-defaults
# cp -p Tgif Tgif.org
# vi Tgif
aise@andLinux:/etc/X11/app-defaults$ diff Tgif.org Tgif
29a30
> Tgif.InitialFont:             Ryumin
374,393c375,394
< !Tgif.SquareDoubleByteFonts: \n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
< !\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
< !\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
< !\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
< !-jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V
---
> Tgif.SquareDoubleByteFonts: \n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
> \n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
> \n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
> \n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
> -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V
403c404
< !Tgif.DoubleByteInputMethod:  xim
---
> Tgif.DoubleByteInputMethod:   xim
415,417c416,418
< !Tgif.Lang:                   ja_JP.eucJP
< !Tgif.Modifiers:              false
< !Tgif.ConvSelection:          _JAPANESE_CONVERSION
---
> Tgif.Lang:                    ja_JP.eucJP
> Tgif.Modifiers:               @im=uim
> Tgif.ConvSelection:           _JAPANESE_CONVERSION
434,438c435,439
< !Tgif.MenuFontSet:            a14,k14,r14
< !Tgif.MsgFontSet:             a14,k14,r14
< !Tgif.BoldMsgFontSet:         a14,k14,r14
< !Tgif.BoldMsgFontDoubleByte:  true
< !Tgif.LocaleDir:              /usr/share/lib
---
> Tgif.MenuFontSet:             a14,k14,r14
> Tgif.MsgFontSet:              a14,k14,r14
> Tgif.BoldMsgFontSet:          a14,k14,r14
> Tgif.BoldMsgFontDoubleByte:   true
> Tgif.LocaleDir:               /usr/share/lib

そして、tgifを起動する。

% LANG=ja_JP.eucJP tgif

gnuplotのインストールと設定_

% sudo aptitude install gnuplot

文字コードはEUC-JPを使うのが無難(LaTeXと合わせるため)

gimpのインストール_

# aptitude install gimp

あとは、uimを起動しておけば日本語入力できる。

戻る_