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
- .emacs, サンプル, .emacs設定(Emacs 22.1)
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を起動しておけば日本語入力できる。