LaTex は、非常に綺麗な数式を記述できる組版ソフトのこと。

LaTeX の設定に関しては、 Ubuntu では、 JapaneseLocalizedDerivative/LaTeXForJapanese を参考にするとスムーズに環境を整えることができる。

本稿でも、JapaneseLocalizedDerivative/LaTeXForJapanese にしたがってインストールを進める。

Ubuntu

ubuntu の設定に関してはバージョンの表記が特にないところは、9.10以前に関するところ。しかし、共通する部分も多いはずです。

パッケージのインストール

$ sudo apt-get install latex-env-ja
$ sudo apt-get install latex-extra-ja
$ sudo jisftconfig add

これで、LaTeX の組版を行うことが出きるようになる。 PS や PDF の変換、表示もできる。

CMAP 関係のインストール

$ sudo apt-get install cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 gs-cjk-resource ghostscript

さらに様々なフォントに対応するために、追加の CMAP をインストールする。

やてふのインストール

$ sudo apt-get install yatex

ビューアーのインストール

$ sudo apt-get install evince  gv

LaTeX 作り上げた各種ファイルを閲覧するためのソフト。 PS なら、gv を使うと良いだろう。 PDF に関しては、Adobe を使うがのちを参考にしてほしい。

PDF ビューア のインストール。

$ sudo apt-get install adobereader-jpn

PDF のビューアーは、Adobe が最も無難に思える。

起動は以下のコマンドで行える。

$ acroread 

EUC-JP 環境時の注意

初回起動時については、環境変数 LC_ALLEUC-JP 環境だと以下のエラーが出る。

$ acroread 
このオプションは利用できません (利用可能な全てのオプションは --help で確認して下さい)

そのため、

$ export LC_ALL=ja_JP.UTF-8
$ acroread

とする。

その後は、EUC-JP 環境でも問題なく起動する。

Xdvi の設定

xdvi の デフォルトフォントを変更する。 任意のフォントを表示させたい場合は、以下を参考にする。

使用するフォントの優先順位を変更

まず、以下のディレクトリへ移動する

$ cd /etc/defoma/hints/

各ファイルの Xdvi のフォント表示の優先順を決定する Priority の 値を調べる。 日本語フォントに関するファイルは以下のファイル(ubuntu のバージョンにより存在しないファイルもあります)。

  • ttf-ipafont.hints
  • ttf-ipamonafont.hints
  • ttf-kochi-gothic.hints
  • ttf-kochi-mincho.hints
  • ttf-vlgothic.hints
  • ttf-sazanami-mincho.hints

それぞれの、優先度を調べるために以下のコマンドを実行(以下の結果もバージョンにより異なります)

$ grep "Priority" ttf-ipa* ttf-kochi* ttf-vl* ttf-sazanami*
ttf-ipafont.hints:  Priority = 20
ttf-ipafont.hints:  Priority = 20
ttf-ipafont.hints:  Priority = 20
ttf-ipafont.hints:  Priority = 20
ttf-ipafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-kochi-gothic.hints:  Priority = 50
ttf-kochi-mincho.hints:  Priority = 50
ttf-vlgothic.hints:  Priority = 50
ttf-vlgothic.hints:  Priority = 50
ttf-sazanami-mincho.hints:  Priority = 50

ubuntu のバージョンに異なりますが、 ゴシック体は VL フォント を採用し、明朝体は、東風明朝さざなみ明朝 が採用されているようです。

フォントは好みによりますが、今回はこれをゴシック体を、IPAゴシック、明朝体をIPA明朝に変更します。

そのためには、ttf-ipafont.hintsPriority50 以上にするか、その他のフォントのPriorityを下げれば変更できます。

$ sudo vi ttf-ipafont.hints

今回は、ttf-ipafont.hintsPriority を 80 に設定します(ttf-ipafont.hintsを編集する)。 例えば

$ pwd
/etc/defoma/hints
$ sudo vi ttf-ipafont.hints

編集結果を以下のコマンドで再確認します。

$ grep "Priority" ttf-ipa* ttf-kochi* ttf-vl*
ttf-ipafont.hints:  Priority = 80
ttf-ipafont.hints:  Priority = 80
ttf-ipafont.hints:  Priority = 80
ttf-ipafont.hints:  Priority = 80
ttf-ipafont.hints:  Priority = 80
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-ipamonafont.hints:  Priority = 20
ttf-kochi-gothic.hints:  Priority = 50
ttf-kochi-mincho.hints:  Priority = 50
ttf-vlgothic.hints:  Priority = 50
ttf-vlgothic.hints:  Priority = 50

その後以下のコマンドで反映。

$ sudo defoma-font reregister-all ttf-ipafont.hints
$ sudo defoma-font register-all ttf-ipafont.hints
$ sudo update-vfontmap

コマンド実行後、適当な dvi ファイルを開く

$ xdvi tex.dvi

反映されたか確認する。

vfontmap の変更

上記の方法を用いるのがよいかと思うが直接パスを指定する方法もある。

日本語用のクラスファイルはのフォントは /etc/texmf/vfontmap.d/20xdvik-ja.map の内容に従うためこれを参照する

$ cat /etc/texmf/vfontmap.d/20xdvik-ja.map
@Mincho Roman|Mincho@
        rml  JIS-H      % ASCII pTeX
        rmlv JIS-V      % ASCII pTeX
        dm   JIS-H      % NTT jTeX

@Gothic SansSerif|Gothic@
        gbm  JIS-H      % ASCII pTeX
        gbmv JIS-V      % ASCII pTeX
        dg   JIS-H      % NTT jTeX

これを次の用に変更

$ cat /etc/texmf/vfontmap.d/20xdvik-ja.map
## @Mincho Roman|Mincho@
/usr/share/fonts/truetype/ipafont/ipam.ttf
        rml  JIS-H      % ASCII pTeX
        rmlv JIS-V      % ASCII pTeX
        dm   JIS-H      % NTT jTeX

## @Gothic SansSerif|Gothic@
/usr/share/fonts/truetype/ipafont/ipag.ttf
        gbm  JIS-H      % ASCII pTeX
        gbmv JIS-V      % ASCII pTeX
        dg   JIS-H      % NTT jTeX

/etc/texmf/vfontmap.d/20ptex-jisfonts.map も同様に無理やり変更

$ cat /etc/texmf/vfontmap.d/20ptex-jisfonts.map
### For ptex-jisfonts
## @Mincho Roman|Mincho@
/usr/share/fonts/truetype/ipafont/ipam.ttf
        rml-jis         JIS-H
## @Gothic SansSerif|Gothic@
/usr/share/fonts/truetype/ipafont/ipag.ttf
        gbm-jis         JIS-H

その後

$ sudo update-vfontmap

で設定を反映する。

dvipdfmx 関連

dvipdfmx を使えるようにする

dvipdfmx をインストールした直後では dvipdfmxを実行させても

$ dvipdfmx <dvifile>
** WARNING ** Could not open config file "fontmapsx".

とこのように fontmapsx がない!と怒られる。

そこで、次の手順で dvipdfmxを使えるようにする。

$ sudo ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx

フォント関連で参考になるページ

http://tutimura.ath.cx/ptetex/?%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%BD%B8%C3%E6%B4%C9%CD%FD

PDF に変換する際に使用するフォントを指定する

dvipdfmx のフォントは Xdvi と設定ファイルが異なるのでそれ用の設定が必要となる。 dvipdfmx のフォント設定は /etc/texmf/dvipdfm/jis-cjk.map に記述されている。 最初はおそらく

%% for jis fonts of ptex-jisfonts
rml-jis H Ryumin-Light
gbm-jis H GothicBBB-Medium

となっていると思われる。

これを任意のフォントを使うためには、/usr/share/texmf/fonts 内にフォントを存在させる必要がある。 例えば、

$ sudo mkdir -p /usr/share/texmf/fonts/truetype
$ cd /usr/share/texmf/fonts/truetype
$ ln -s /usr/share/fonts/truetype/ipafont/ipam.ttf
$ ln -s /usr/share/fonts/truetype/ipafont/ipag.ttf

として、IPA フォントのリンクを貼る。 次に、 /etc/texmf/dvipdfm/jis-cjk.map を編集して IPA フォントを使うようにする。

%% for jis fonts of ptex-jisfonts
rml-jis H ipam.ttf
gbm-jis H ipag.ttf

とする。 一応、mktexlsr などで LaTeX 周りの設定とかを更新しておく。

$ sudo mktexlsr
$ sudo update-texmf

おそらくこれで、

$ dvipdfmx report

など適当な dvi ファイルを pdf に変換したとき IPA フォントが使用されているはず。

ubuntu 10.04

Xdvi の設定

ubuntu 10.04 では、前準備として、IPAフォントの hints ファイルがないため、代わりにTakao フォントの hints ファイルを作ってみました。Defoma (DEbian FOnt MAnager) で TrueType フォントを管理するを参考にしながら hints ファイルを作っていきます。

$ sudo apt-get install libfont-freetype-perl
$ defoma-hints -c --no-question truetype /usr/share/fonts/truetype/takao/TakaoGothic.ttf > ttf-takaofont.hints
$ defoma-hints -c --no-question truetype /usr/share/fonts/truetype/takao/TakaoMincho.ttf >> ttf-takaofont.hints

すると、次のような内容になる。

category truetype
begin /usr/share/fonts/truetype/takao/TakaoGothic.ttf
  Family = TakaoGothic
  FontName = TakaoGothic-Regular
  Encoding = Unicode
  GeneralFamily = Roman
  Weight = Medium
  Width = Variable
  Shape = Normal Upright
  Priority = 20
end
category truetype
begin /usr/share/fonts/truetype/takao/TakaoMincho.ttf
  Family = TakaoMincho
  FontName = TakaoMincho-Regular
  Encoding = Unicode
  GeneralFamily = Roman
  Weight = Medium
  Width = Variable
  Shape = Normal Upright
  Priority = 20
end

既存の /etc/defoma/hints/ttf-ipamonafont.hints をみながら次のように編集する。

category truetype
begin /usr/share/fonts/truetype/takao/TakaoGothic.ttf
  Family = TakaoGothic
  FontName = TakaoGothic-Regular
  Encoding = Unicode
  Location = English Japanese
  Charset = JISX0208 JISX0201 JISX0212
  GeneralFamily = Gothic
  Weight = Medium
  Width = Fixed
  Shape = NoSerif Upright
  Priority = 80
  X-Foundry = Takao
  X-Family = gothic
  X-Weight = medium
  X-Slant = r
  Transform = Slant Boldize
  CIDSupplement = 0
end
category truetype
begin /usr/share/fonts/truetype/takao/TakaoMincho.ttf
  Family = TakaoMincho
  FontName = TakaoMincho-Regular
  Encoding = Unicode
  Location = English Japanese
  Charset = JISX0208 JISX0201 JISX0212
  GeneralFamily = Mincho
  Weight = Medium
  Width = Fixed
  Shape = Serif Upright
  Priority = 80
  X-Foundry = Takao
  X-Family = mincho
  X-Weight = medium
  X-Slant = r
  Transform = Slant Boldize
  CIDSupplement = 0
end

プロポーショナルフォントの設定はないけど使わないと高をくくって省略しました。この作成した ttf-takaofont.hints/etc/defoma/hintsに移動させる。

$ sudo cp ttf-takaofont.hints /etc/defoma/hints/

そして、登録させる。

$ cd /etc/defoma/hints/
$ sudo defoma-font register-all ttf-takaofont.hints

これで設定が反映される。フォントが変わったのか分かりづらいので比較画像を作ってみました。

上がIPAモナフォント、下が Takao フォント 違いはないですね・・・。

#ref error :ご指定のページがありません。ページ名を確認して再度指定してください。
#ref error :ご指定のページがありません。ページ名を確認して再度指定してください。

dvipdfmx の設定

はじめから、/etc/texmf/dvipdfmx/dvipdfmx.cfg は存在するので、/etc/texmf/dvipdfmxf jis-cjk.map を追記すればいい。

$ echo f jis-cjk.map | sudo tee -a /etc/texmf/dvipdfmx/dvipdfmx.cfg

その後,jis-cjk.map を記述すればよい.

dvipdfmxを実行したときに

** WARNING ** Failed to load AGL file "pdfglyphlist.txt"...
** WARNING ** Failed to load AGL file "glyphlist.txt"...

pdfglyphlist.txtglyphlist.txtがないとエラーが吐き出されたときは W32TeXdvipdfm-w32.tar.bz2 にあるものを流用すればよい.

$ wget http://w32tex.org/current/dvipdfm-w32.tar.bz2
$ tar jxvf dvipdfm-w32.tar.bz2
$ find . | grep pdfglyphlist.txt

./share/texmf/fonts/map/agl/pdfglyphlist.txt

$ cd ./share/texmf/fonts/map/agl/
$ sudo cp -v pdfglyphlist.txt glyphlist.txt /etc/texmf/dvipdfmx

`pdfglyphlist.txt' -> `/etc/texmf/dvipdfmx/pdfglyphlist.txt' `glyphlist.txt' -> `/etc/texmf/dvipdfmx/glyphlist.txt' また、

** ERROR ** Could not find encoding file "H".

とフォントがないとエラーが吐き出されたときは、 cmap が適切なディレクトリにないため/etc/texmf/texmf.cnf にある CMAPFONTS を次のように書き換える。

CMAPFONTS = .;$TEXMF/fonts/cmap//                           % 変更前
CMAPFONTS = .;$TEXMF/fonts/cmap//;/usr/share/fonts/cmap//   % 変更後

そして、

$ sudo update-texmf

と設定の更新させる。

この設定においては、次のページを参考にさせていただきました。

ubuntu 10.10

xdvi

10.04 のように dvipdfmx をタイプすると DVI から PDF 変更時にエラーが吐き出されることはありませんでした。しかし、xdvi で dvi を閲覧したときゴシック体がM+もしくはVLゴシック系なのが気になります(人により異なります)。xdvi のフォント表示を決める設定ファイルである/etc/texmf/vfontmap.d/20xdvik-ja.mapを見てみると次のようになっていました。

@serif@
        rml  JIS-H      % ASCII pTeX
        rmlv JIS-V      % ASCII pTeX
        dm   JIS-H      % NTT jTeX

@sansserif@
        gbm  JIS-H      % ASCII pTeX
        gbmv JIS-V      % ASCII pTeX
        dg   JIS-H      % NTT jTeX

どうやら、/etc/fonts/conf.d/69-language-selector-ja-jp.confの内容が反映されているようです。同ファイルの内容を書き換え、フォントの優先度を変更すると同様のことが発生します。

解決方法として@マークに挟まれているフォントの一般名を

  • serif→Ryumin
  • sansserif→GothicBBB と変更し以下のようにします。
    @Ryumin@
            rml  JIS-H      % ASCII pTeX
            rmlv JIS-V      % ASCII pTeX
            dm   JIS-H      % NTT jTeX
    
    @GothicBBB@
            gbm  JIS-H      % ASCII pTeX
            gbmv JIS-V      % ASCII pTeX
            dg   JIS-H      % NTT jTeX
    そのあと、
    $ sudo update-vfontmap
    
    で設定を反映させます。また、jsarticleも同様に反映させたいので、/etc/texmf/vfontmap.d/20ptex-jisfonts.mapの内容も
    ### For ptex-jisfonts
    @Ryumin@
            rml-jis         JIS-H
    @GothicBBB@
            gbm-jis         JIS-H
    ### For ptex-jisfonts
    とします。もちろん、変更後以下のコマンドで反映させます。
    $ sudo update-vfontmap
    
    ただし、/etc/fonts/conf.d/69-language-selector-ja-jp.confRyuminGothicBBBの内容を次のようにIPA(Takeo)系を採用するように次のように変更する必要があります。
    ## 前略 ##
        <match target="pattern">
            <test qual="any" name="family">
                <string>Ryumin</string>
            </test>
            <edit name="family" mode="prepend" binding="strong">
                <string>Takao P明朝</string>
                <string>IPA P明朝</string>
                <string>IPA モナー P明朝</string>
                <string>梅P明朝</string>
                <string>さざなみ明朝</string>
                <string>東風明朝</string>
            </edit>
        </match>
    
        <match target="pattern">
            <test qual="any" name="family">
                <string>GothicBBB</string>
            </test>
            <edit name="family" mode="prepend" binding="strong">
                <string>Takao Pゴシック</string>
                <string>IPA Pゴシック</string>
                <string>IPA モナー Pゴシック</string>
                <string>UmePlus P Gothic</string>
                <string>梅Pゴシック</string>
                <string>VL Pゴシック</string>
                <string>さざなみ ゴシック</string>
                <string>東風ゴシック</string>
            </edit>
        </match>
    ## 後略 ##
    こうして、Gnome などに使用されるフォントと xdvi に使用されるフォントを切り分けます。

Ubuntu 11.04

latex-env-ja パッケージが無くなっていたため,別ページを作りました.

LaTeX のパッケージ

詳しくは、TeX Wiki を参考にすればいい。 ubuntu では、/usr/share/texmf-texlive/tex/latex/に存在している。 何かパッケージを加えるときはこのディレクトリに保存すればよい。 その後、

$ sudo mktexlsr

mktexlsr コマンドを実行する。

パッケージのメモ書き

パッケージに関して非常に分かりやすくまとめてある Webページ http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex.html

目安箱バナー