論文執筆環境をUbuntu 12.04LTS上に整える

はじめに_

次に論文執筆環境を整える。論文執筆環境としては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 emacs
% sudo aptitude install egg

emacsの日本語変換はeggを使いたいのでegg-anthyを準備する。Ubuntuではegg-anthyのパッケージはないので、白井の 日記:elisp (など)置き場:自家製 tamago な Anthyをダウンロードして使う。

% tar xvfz egg-anthy.tar.gz
% cd egg-anthy-20070606
% sudo cp *.el /usr/share/emacs/site-lisp/egg

その後、emacsをたちあげてバイトコンパイルする。

% sudo emacs -nw

その後、emacs上でM-x byte-compile-fileと入力し/usr/share/emacs/site-lisp/egg/anthy.elを指定する。同様に/usr/share/emacs/site-lisp/egg/anthyipc.elもバイトコンパイルする。emacsを終了するときは、C-x, C-sを入力する。

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

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

emacs23からは、TrueTypeフォントが使えるようになった。TrueTypeフォントを使いたい場合は以下のような設定をinit.el に追加する。

(add-to-list 'default-frame-alist '(font . "標準のTrueTypeフォントの種類-フォントサイズ"))
(cond ((string-match "^23\." emacs-version)
       (cond (window-system
              (set-default-font "標準のTrueTypeフォントの種類-フォントサイズ")
              (set-fontset-font (frame-parameter nil 'font)
                                'japanese-jisx0208
                                '("日本語のTrueTypeフォントの種類-フォントサイズ" . "unicode-bmp"))
              ))))

使用したいTrueTypeフォントがパッケージにあるかどうかを調べる場合は以下のコマンドで調べる。

% aptitude search ^ttf-

既にインストール済みのパッケージを調べたい場合は以下のコマンド。

% fc-list

いろいろ検討した結果、ttf-bitstream-vera と ttf-ipafont を使うことにした。私の設定は以下のとおり。

(add-to-list 'default-frame-alist '(font . "Bitstream-15"))
(cond ((string-match "^23\." emacs-version)
       (cond (window-system
              (set-default-font "Bitstream-15")
              (set-fontset-font (frame-parameter nil 'font)
                                'japanese-jisx0208
                                '("IPAPGothic" . "unicode-bmp"))
              ))))

日本語入力機能(Imput Method、scim、uim、ibusなど)とemacsの日本語入力がかぶってしまうのが嫌な人。あるいは、emacsの起動ウィンドウの大きさを指定したい人は、~/.Xresourcesを置くと良い。日本語入力機能をemacs上でOFFにする場合には以下を記述しておく。

Emacs.UseXIM: false
Emacs*useXIM: false

その後、設定を反映させる。

% xrdb -merge ~/.Xresources

aspellのインストール_

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

% sudo aptitude install aspell

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

;; 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.d/init.el に以下を追加する。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

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

;; 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)

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

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

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

その他.emacsの設定_

こちらをどうぞ

お勧めは以下の二つ。

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

使い方はこちらをどうぞ。

日本語 LaTeX_

インストール_

インストールに結構時間かかるので注意!(1時間半~3時間)

Ubuntuの標準文字コードはUTF-8であるため、UTF-8に対応したLaTeX環境を構築する。TeXLive 2012以降 のインストールファイルを TeXLiveの本家からダウンロードし、解凍する。以後は、TeX Wiki:Linuxに書いてあるとおりにすすめる。

$ wget http://ring.maffin.ad.jp/pub/text/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar zxvf install-tl-unx.tar.gz
$ cd install-tl-YYYYMMDD (YYYYは西暦の4桁表示、MMは月の2桁表示、DDは日付2桁表示)
$ sudo ./install-tl --repository http://ring.maffin.ad.jp/pub/text/CTAN/systems/texlive/tlnet/

いろいろでるので、「I」を入力してインストール開始。勝手にmirrorサーバーに接続してダウンロード&インストールをおこなってくれる。ファイルが2400強あるので、時間かかる(2時間弱かかった)。

途中でダウンロード失敗などで終了してしまったら以下のコマンドで再開する。

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

このマニュアルにおいては、32bit OSか64bit OSなのかによってそれぞれ以下のようにコマンドを実行する。なお、以下のコマンド中のYYYYは西暦の4桁表示である

% sudo /usr/local/texlive/YYYY/bin/i386-linux/tlmgr path add  (32bit OS)

% sudo /usr/local/texlive/YYYY/bin/x86_64-linux/tlmgr path add (64bit OS)

pxdvi(日本語xdvi)が必要なので、pxdvi と pmetapost のインストールをする。

% sudo tlmgr update --self --all
% sudo tlmgr repository add http://www.tug.org/~preining/tlptexlive/ tlptexlive
% sudo mkdir -p /usr/local/texlive/texmf-local/tlpkg
% sudo touch /usr/local/texlive/texmf-local/tlpkg/pinning.txt
% echo 'tlptexlive:pxdvi*,pmetapost*' | sudo tee -a /usr/local/texlive/texmf-local/tlpkg/pinning.txt
% sudo tlmgr install pxdvi pmetapost
% sudo tlmgr path add

次にtexmf.cnf の編集をする。diffというのは、二つのテキストファイルの違いを対比させて見せてくれるコマンド。以下の例だと、「<」の記号の後ろに表示されているのが「texmf.cnf.org」の記述。「>」の記号の後ろに表示されているのが「texmf.cnf」の記述。つまり、「<」の記述を「>」の記述に書き換えたということを示している。

% /usr/local/texlive/YYYY/texmf/web2c/
% sudo cp -p texmf.cnf texmf.cnf.org
% vi texmf.cnf
% diff texmf.cnf.org texmf.cnf
543c543
< bibtex,bibtex8,\
---
> bibtex,bibtex8,bibtexu,pbibtex,upbibtex,biber,\
545,547c545,547
< makeindex,\
< mpost,\
< repstopdf,\
---
> makeindex,mendex,texindy,\
> mpost,pmpost,\
> repstopdf,epspdf,extractbb,\

次にXDviの編集をする。

% cd /usr/local/texlive/2012/texmf/xdvi/
% sudo cp -p XDvi XDvi.org
% sudo vi XDvi
% diff XDvi.org XDvi
138c138,139
< *font:     -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*
---
> !*font:     -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*
> *font:     -*-*-medium-r-*-*-12-*-*-*-*-*-*
140c141,142
< *statusline.font: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*
---
> !*statusline.font: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*
> *statusline.font: -*-*-medium-r-*-*-10-*-*-*-*-*-*

確認_

emacsでtest.texファイルを作成する。

\documentclass[10pt,a4j]{jreport}

\begin{document}
\title{タイトル}
\author{作者名}
\maketitle
\tableofcontents
\chapter{序章}
\section{はじめに}
\subsection{なぜ、この文章を書いたか?}
練習のためにそうしろと言われたから。
\subsection{なぜ、こんなに細かい文章構成なのか}
練習だから。

練習だから、段落もわける。
\section{はじめの次に}

\chapter{転章}
\section{真ん中ぐらいに}
\section{真ん中より少し後}
\chapter{終章}
\section{おわりのちょっと前に}
\section{おわりに}
\end{document}

コンパイルする。

% platex test.tex
% pxdvi test.dvi &
% dvidfmx test
% evince test.pdf &

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

LaTeXの使い方はこちらをどうぞ。

yatexのインストール_

LaTeX形式のファイル作成支援環境 yatex のインストール。

% sudo aptitude install yatex

.emacs.d/init.elに以下を追加する。

;; YaTeX
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq auto-mode-alist (append
  '(("\\.tex$" . yatex-mode)
    ("\\.ltx$" . yatex-mode)
    ("\\.cls$" . yatex-mode)
    ("\\.sty$" . yatex-mode)
    ("\\.clo$" . yatex-mode)
    ("\\.bbl$" . yatex-mode)) auto-mode-alist))

LaTeX+YaTeXの使い方はこちらをどうぞ。

図やグラフ作成ツール_

inkscapeのインストール_

% sudo aptitude install inkscape

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

% sudo aptitude install gnuplot

gimpのインストール_

# aptitude install gimp

戻る_