ブログネタ
Desktop Linux 入門 に参加中!

LaTeX

Fedora でパッケージのtexliveを使ったLaTeX環境のインストールで苦労したので、 メモしときます。 TeXの神様、奥村さんに紹介されてます!!(感謝!!)
Warning: Cannot convert string helvetica-medium-r-*-*-12-*-*-*-*-*-*" to type FontStructの問題も解決。(修正:2011年 6月 23日 木曜日 18:23:37 JST)
jsclassのフォント設定、クラスファイルのリンク貼り直し。(修正:2012年 6月 2日 土曜日 06:01:30 JST)

su -c "yum install texlive*"

================================================================================
 パッケージ                 アーキテクチャ
                                     バージョン                 リポジトリー
                                                                           容量
================================================================================
インストールしています:
 texlive                    i686     2007-56.fc14               fedora    1.6 M
 texlive-afm                i686     2007-56.fc14               fedora     46 k
 texlive-context            i686     2007-56.fc14               fedora     58 k
 texlive-doc                i686     2007-56.fc14               fedora     40 k
 texlive-dvips              i686     2007-56.fc14               fedora    184 k
 texlive-dviutils           i686     2007-56.fc14               fedora    194 k
 texlive-east-asian         i686     2007-56.fc14               fedora    354 k
 texlive-latex              i686     2007-56.fc14               fedora     80 k
 texlive-texmf              noarch   2007-36.fc14               fedora    2.8 M
 texlive-texmf-afm          noarch   2007-36.fc14               fedora    4.5 M
 texlive-texmf-context      noarch   2007-36.fc14               fedora    2.7 M
 texlive-texmf-doc          noarch   2007-36.fc14               fedora    175 M
 texlive-texmf-dvips        noarch   2007-36.fc14               fedora    237 k
 texlive-texmf-east-asian   noarch   2007-36.fc14               fedora    563 k
 texlive-texmf-fonts        noarch   2007-36.fc14               fedora     48 M
 texlive-texmf-latex        noarch   2007-36.fc14               fedora    5.3 M
 texlive-texmf-xetex        noarch   2007-36.fc14               fedora    137 k
 texlive-utils              i686     2007-56.fc14               fedora    229 k
 texlive-xetex              i686     2007-56.fc14               fedora    2.1 M
依存性関連でのインストールをします:
 dvipdfm                    i686     0.13.2d-41.fc12            fedora    258 k
 dvipdfmx                   i686     0-0.31.20090708cvs.fc13    fedora    336 k
 dvipng                     i686     1.13-1.fc14                fedora     96 k
 kpathsea                   i686     2007-56.fc14               fedora    118 k
 libpaper                   i686     1.1.24-1.fc14              fedora     34 k
 mendexk                    i686     2.6e-56.fc14               fedora     48 k
 netpbm                     i686     10.47.25-1.fc14            updates   161 k
 netpbm-progs               i686     10.47.25-1.fc14            updates   1.6 M
 perl-PDF-Reuse             noarch   0.35-4.fc14                fedora     90 k
 perl-Tk                    i686     804.028-12.fc14            fedora    2.2 M
 ruby                       i686     1.8.7.330-1.fc14           updates   343 k
 t1lib                      i686     5.1.2-6.fc14               fedora    152 k
 teckit                     i686     2.5.1-4.fc12               fedora    229 k
 tex-preview                noarch   11.86-4.fc14               fedora     63 k
 xdvipdfmx                  i686     0.4-5.fc12                 fedora    459 k

トランザクションの要約
================================================================================
Install      34 Package(s)

総ダウンロード容量: 251 M
インストール済み容量: 502 M
これでいいですか? [y/N]
他にdviビューアと文字コード変換スクリプトのnkfをインストール。
su -c "yum install xdvik nkf"
dviビューアーの日本語版pxdviでdviファイルを開いたらこんなエラーが。
pxdvi keikaku.dvi 
Warning: Cannot convert string "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*" to type FontStruct
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string "-*-helvetica-medium-r-*-*-10-*-*-*-*-*-*" to type FontStruct
Warning: Missing charsets in String to FontSet conversion
FreeType2: Open Font Error (/usr/share/fonts/sazanami/mincho/sazanami-mincho.ttf).  Error code = 1 
FreeType2: Open Font Error (/usr/share/fonts/sazanami/gothic/sazanami-gothic.ttf).  Error code = 1 

sazanamiフォントよりIPAexフォントの方が綺麗なのでIPAexフォントを使用します。 さらに、helveticaのフォントもないと言われているので、追加します。(面倒なのでxorg-x11-fontsをまるごとインストール。実際は、xorg-x11-fonts-ISO8859-9-75dpi、xorg-x11-fonts-ISO8859-9-100dpiがあれば、良いとおもう。2011年 6月 8日 水曜日 16:52:20 JST 追加
どなたか、helveticaが見つかりませんと質問してるサイトに答えてあげてください。 私はアカウントをもっていませんので。

su -c "yum install ipa-ex-mincho-fonts ipa-ex-gothic-fonts xorg-x11-fonts-*"
su -c "mkdir -p /usr/share/fonts/sazanami/gothic"
su -c "mkdir -p /usr/share/fonts/sazanami/mincho"
su -c "ln -s /usr/share/fonts/ipa-ex-mincho/ipaexm.ttf /usr/share/fonts/sazanami/mincho/sazanami-mincho.ttf"
su -c "ln -s /usr/share/fonts/ipa-ex-gothic/ipaexg.ttf /usr/share/fonts/sazanami/gothic/sazanami-gothic.ttf"

psファイルフォント文字化け

今度は、latexからdviファイルを生成した後、psファイルに変換するコマンドdvipsコマンドのpdvipsコマンド使用時にエラーが出ました。 参考:dvipsで日本語がうまく出なかったときには まず、エラーメッセージが以下。
pdvips keikaku.dvi

mktexpk: don't know how to create bitmap font for rml.
pdvips: Font rml not found, characters will be left blank.
kpathsea: Running mktexpk --mfmode ljfour --bdpi 600 --mag 0+577/600 --dpi 577 gbm
mktexpk: don't know how to create bitmap font for gbm.
pdvips: Font gbm not found, characters will be left blank.
kpathsea: Running mktexpk --mfmode ljfour --bdpi 600 --mag 1+93/600 --dpi 693 gbm
mktexpk: don't know how to create bitmap font for gbm.
pdvips: Font gbm not found, characters will be left blank.
対策は、psfonts_jp.mapの内容をpsfonts.mapに加えるだけです。>>とすることで、ファイルを上書きではなく最後の行に追加することが出来ます。
cat /usr/share/texmf/fonts/map/pdvips/psfonts_jp.map >> /usr/share/texmf/fonts/map/dvips/updmap/psfonts.map 
これで、もう一度pdvipsしてみて下さい。
pdvips -ka4 keikaku.dvi
(ページサイズ指定)

gs,evinceでの日本語表示

さらに、 ファイル:/etc/ghostscript/8.71/cidfmap.local
/Ryumin-Light << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-mincho/ipaexm.ttf) /SubfontID 0 /CSI [(Japan1) 2]>> ;
/GothicBBB-Medium << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-gothic/ipaexg.ttf) /SubfontID 0 /CSI [(Japan1) 2] >> ; 
Fedora 15でのghostscript-9.02では、この設定は反映されない模様。 強引にFedora14のghostscript-8.71をインストールし、上記の設定を適用すること。 32ビット
su -c "rpm -ivh --force "http://ftp.riken.go.jp/Linux/fedora/releases/14/Fedora/i386/os/Packages/ghostscript-8.71-16.fc14.i686.rpm http://ftp.riken.go.jp/Linux/fedora/releases/14/Fedora/i386/os/Packages/ghostscript-cups-8.71-16.fc14.i686.rpm"
64ビット
su -c "rpm -ivh --force http://ftp.riken.jp/Linux/fedora/releases/14/Fedora/x86_64/os/Packages/ghostscript-8.71-16.fc14.x86_64.rpm http://ftp.riken.jp/Linux/fedora/releases/14/Fedora/x86_64/os/Packages/ghostscript-cups-8.71-16.fc14.x86_64.rpm"
詳細は、Fedora 15でのLaTeX項目を参照のこと。


Fedora17のでpsファイルのプレビュー

Fedora17 だとevinceだとこの設定を使っても文字化けする。gsによるプレビューは問題無し。 なので、
su -c "yum install gv"
でgvをインストールしてgvをpsビューアーとして利用することにする。

gs,evince CMMIフォント表示

gnuplotでCMMIフォントを埋めこんでいると、 ちゃんと表示してくれませんでした。
su -c "yum install gnuplot"
symbol.gpファイルの内容
 set terminal postscript eps enhanced color colortext \
     solid linewidth 3.0 \
   butt "Times-Bold" 28
set output "symbol.eps"
set fontpath "/usr/share/texmf/fonts/type1/bluesky/cm"
set label "CMMIB10 {/CMMIB10 \013}{/CMMIB10 \014}{/CMMIB10 \015}{/CMMIB10 \016}{/CMMIB10 \017}{/CMMIB10 \020}" at -10,0.6
set label "CMMI10 {/CMMI10 \013}{/CMMI10 \014}{/CMMI10 \015}{/CMMI10 \016}{/CMMI10 \017}{/CMMI10 \020}" at -10,0.5
set label "Symbol-Oblique {/Symbol-Oblique abcdefg}" at -10,0.4
set label "Symbol-Bold-Italic {/Symbol-Bold-Italic abcdefg}" at -10,0.3
set label "Symbol-Bold {/Symbol-Bold abcdefg}" at -10,0.2
set label "Symbol {/Symbol abcdefg}" at -10,0.1
set label "{abcdefghijklmnopqrstuvwxyz}" at -10,0
set xlabel "{/CMMI10 x}"
plot sin(x)
gnuplotで実行。
gnuplot symbol.gp
した後のghostscriptを実行した結果。 フォントが見つからないとエラーが出まくってます。
 gs -sDEVICE=x11 symbol.eps 
 GPL Ghostscript 8.71 (2010-02-10)
 Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
 This software comes with NO WARRANTY: see the file PUBLIC for details.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/StandardSymL.
 Can't find (or can't open) font file StandardSymL.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/StandardSymL.
 Can't find (or can't open) font file StandardSymL.
 Querying operating system for font files...
 Loading StandardSymL font from /usr/share/fonts/default/Type1/s050000l.pfb... 2611868 1074082 3787560 2470023 2 done.
 Loading NimbusRomNo9L-Medi font from /usr/share/fonts/default/Type1/n021004l.pfb... 2635104 1187566 3827752 2506560 2 done.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/CMMI10.
 Can't find (or can't open) font file CMMI10.
 Didn't find this font on the system!
 Substituting font Courier for CMMI10.
 Loading NimbusMonL-Regu font from /usr/share/fonts/default/Type1/n022003l.pfb... 2651768 1287100 3827752 2510468 2 done.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/CMMIB10.
 Can't find (or can't open) font file CMMIB10.
 Didn't find this font on the system!
 Substituting font Courier for CMMIB10.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/Symbol-Bold-Italic.
 Can't find (or can't open) font file Symbol-Bold-Italic.
 Didn't find this font on the system!
 Substituting font Symbol for Symbol-Bold-Italic.
 Can't find (or can't open) font file /usr/share/ghostscript/8.71/Resource/Font/Symbol-Bold.
 Can't find (or can't open) font file Symbol-Bold.
 Didn't find this font on the system!
 Substituting font Symbol for Symbol-Bold.
 >>showpage, press  to continue<<
 
参考:Ghostscript with Metapost エディタで~/.bashrcに
export GS_FONTPATH="/usr/share/texmf/fonts/type1/bluesky/cm/"
を追加します。 一度ログアウト。 (本当は、. ~/.bashrcで、コマンド操作のみ、有効になるけどGUIからでは有効にならないので^^)

jsclass

[改訂第5版] LaTeX2e 美文書作成入門で解説されているjsclassesのドキュメントクラスをインストールします。 pLaTeX2e 新ドキュメントクラスからダウンロード。
cd ~/ダウンロード
mkdir jsclasses
mv jsclasses.zip jsclasses
cd jsclasses
unzip jsclasses.zip
cd ..
su -c "cp -Rv jsclasses /usr/share/texmf/tex/platex/"
su -c mktexlsr

jisフォントメトリック

今度は
pdvips: Font jis not found, characters will be left blank.
jisフォントが見つからないと怒られました。jisフォントメトリックをインストールしましょう。 jisフォントメトリックをダウンロード
cd ~/ダウンロード
tar xvzf jis.tar.gz
cd jis/tfm/ptex
su -c "cp -Rv * /usr/share/texmf/fonts/tfm/jis"
cd ../dvips
su -c "cp -Rv * /usr/share/texmf/fonts/tfm/jis"
cd ../../vf
su -c "cp -Rv * /usr/share/texmf/fonts/vf/jis"
su -c "mktexlsr"

morisawaフォント

morisawaマクロもあるのでmorisawaフォントをインストールしておきます。 morisawaフォントをダウンロード。
cd ~/ダウンロード
tar xvzf morisawa.tar.gz
cd morisawa/tfm/ptex
su -c "cp -Rv * /usr/share/texmf/fonts/tfm/morisawa"
cd ../dvips
su -c "cp -Rv * /usr/share/texmf/fonts/tfm/morisawa"
cd ../../vf
su -c "cp -Rv * /usr/share/texmf/fonts/vf/morisawa"
su -c "mktexlsr"

IDE

LaTeXを扱う有用なIDEをインストールしましょう。
yum install kile vim-latex

kile

kile
設定→Configure kile→ツール:ビルドを選択
  • QuickBuildを選択し、LaTeX+DVItoPDF+ViewPDFを選択。
  • LaTeXを選択し、コマンド:latexをplatexに変更。
  • DVItoPDFを選択し、コマンド:dvipdfmをdvipdfmxに変更。
  • DVItopsを選択し、コマンド:dvipsをpdvipsに変更。
  • MakeIndexを選択し、コマンド:makeindexをmendexに変更。

vim-latex

vim-latexのコンパイル環境を整えます。
cp /usr/share/vim/vimfiles/ftplugin/latex-suite/texrc .vim/ftplugin/tex/texrc
cp .vim/ftplugin/tex/texrc .vim/ftplugin/tex/texrc.orig
変更した内容。
diff texrc texrc.orig
diff texrc texrc.orig 
91c91
< 	TexLet g:Tex_DefaultTargetFormat = 'pdf'
---
> 	TexLet g:Tex_DefaultTargetFormat = 'dvi'
100d99
<  TexLet g:Tex_FormatDependency_pdf = 'dvi'
110c109
< TexLet g:Tex_CompileRule_dvi = 'platex -interaction=nonstopmode $*'
---
> TexLet g:Tex_CompileRule_dvi = 'latex -interaction=nonstopmode $*'
113c112
< TexLet g:Tex_CompileRule_ps = 'pdvips -Ppdf -o $*.ps $*.dvi'
---
> TexLet g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
118c117
< "TexLet g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*'
---
> TexLet g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*'
121c120
<  TexLet g:Tex_CompileRule_pdf = 'dvipdfmx $*.dvi'
---
> " TexLet g:Tex_CompileRule_pdf = 'dvipdfm $*.dvi'
160,162c159,161
< 		TexLet g:Tex_ViewRule_ps = 'evince'
< 		TexLet g:Tex_ViewRule_pdf = 'evince'
< 		TexLet g:Tex_ViewRule_dvi = 'pxdvi'
---
> 		TexLet g:Tex_ViewRule_ps = 'gv'
> 		TexLet g:Tex_ViewRule_pdf = 'xpdf'
> 		TexLet g:Tex_ViewRule_dvi = 'xdvi'
242c241
< TexLet g:Tex_MakeIndexFlavor = 'mendex $*.idx'
---
> TexLet g:Tex_MakeIndexFlavor = 'makeindex $*.idx'
>で始まる行を<に変更したという意味です。変更後の方が先に表示されているのでご注意を。 これだけ、編集しておけばLaTeXファイルを編集後、\llとすればコンパイルされ、\lvとするとビューアーが表示されます。 gvim-latex
参考:pLaTeX2e 新ドキュメントクラス JIS組版規則に合わせたフォントとモリサワ基本5書体 Linuxソフトウェア手動インストール個人的ノート LATEX2ε論文作法