2007年10月2日火曜日

TeX — 本体インストール後の不具合調整など

Mac OS X Tiger にインストールした TeX と Ghostscript の動作確認をしてみて気づいた不具合とその解決方法について.

■ ライブラリ(スタイルファイル)の確認
 ほとんどのスタイルファイルは以下の2箇所に置かれている.
   /usr/local/teTeX/share/texmf-dist/tex/latex
   /usr/local/teTeX/share/texmf-dist/tex/generic

 teTeX-3.0/pTeX-3.1.8.1 に同梱されていなかったスタイルファイルを置く場所として
    /usr/local/teTeX/share/texmf-dist/tex/contrib
を作成.とりあえず
   ifsym.sty (v1.2)
   eclbkbox.sty (May 28, 1993)
   jumoline.sty (2001/05/31 v1.2)
をここに入れた.

 僕は Mac OS9,Windows2000,WindowsXP でも TeX を使用しているが,それぞれのマシンによってスタイルファイルのバージョンが異なるというのはあまり気持ちの良いものではない.よって
 【宿題】使用頻度の高いものはバージョンの確認と統一を実施すべし.

■ 奥村氏の jsarticle.cls などの組み込み
奥村氏が作成した新ドキュメントクラスの最新版061106を以下の場所に配置.
   $PREFIX/share/texmf/ptex/platex/jsclasses-061106

■ eps ファイルを含む dvi が dvipdfmx でうまくコンパイルできない
【症状】dvipdfmx を実行すると次のような警告がでる.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここからーーー
** WARNING ** No image converter available for converting file "./picture.eps" to PDF format.
** WARNING ** >> Please check if you have 'D' option in config file.
** WARNING ** pdf: image inclusion failed for "picture.eps".
** WARNING ** Failed to read image file: picture.eps
** WARNING ** Interpreting special command PSfile (ps:) failed.
** WARNING ** >> at page="1" position="(336.646, 568.39)" (in PDF)
** WARNING ** >> xxx "PSfile="picture.eps" llx=53 lly=644 urx=218 ury=760 rwi=19"

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここまでーーー
【対策】警告メッセージに書かれている通り,epsのコンバータが指定されていないことが原因.設定ファイル dvipdfmx.cfg の中で対処法を指示してやれば良い.そこで
   /usr/local/teTeX/share/texmf/dvipdfm/dvipdfmx.cfg
の135行目行頭の%を削除し,次のようにする.
134 %% GhostScript (Unix/Linux):
135 D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite
  -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false
  -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false
  -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o
  %i -c quit"


■ 奥村氏の jsarticle.cls を使用すると tex ファイルのコンパイルに失敗する
【症状】jis の tfm と mf を作ろうとするが jis が見つからず失敗する(以下のメッセージ参照)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここからーーー
kpathsea: Running mktextfm jis
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input jis
This is METAFONT, Version 2.71828 (Web2C 7.5.4)

kpathsea: Running mktexmf jis
! I can't find file `jis'.
<*> \mode:=ljfour; mag:=1; nonstopmode; input jis

Please type another input file name
! Emergency stop.
<*> \mode:=ljfour; mag:=1; nonstopmode; input jis

Transcript written on mfput.log.
grep: jis.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input jis' failed to make jis.tfm.
kpathsea: Appending font creation commands to missfont.log.
! Font JY1/mc/m/n/10=jis at 9.60999pt not loadable: Metric (TFM) file not found
.

relax
l.582 \normalsize

?

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここからーーー
【原因】jsarticle が採用しているフォントメトリックがインストールされていなかったため.奥村氏のpLaTeX2e 新ドキュメントクラスにちゃんと書いてある.良く見ていなかった.

【対策】上記のページから jis-tfm.zipjis-pl.zip を落として解凍し, できたフォルダの名前をそれぞれ jis に変えて
   $PREFIX/share/texmf/fonts/tfm

   $PREFIX/share/texmf/fonts/source
に移動する.ここで $PREFIX は僕の場合,$PREFIX=/usr/local/teTeX

 あと,実際に必要かどうか不明だが(これから調査),アスキーのページから jis.tar.gz を拾ってきて解凍し,フォルダ vf の名前を jis に変えて
   $PREFIX/share/texmf/fonts/vf
の中に移動しておく.

 最後に sudo mktexlsr を実行.これで platex のエラーが出なくなる.

【参考】 jis.tar.gz を解凍すると jis.map というテキストファイルが出来るが,この内容は既に
   $PREFIX/share/texmf/fonts/map/dvips/ptex/psfonts_jp.map
の中に書かれており,この psfonts_jp.map
   $PREFIX/share/texmf/dvips/config/config.ps
の中で読むように指定されている.よって jis.tar.gzREADME.txt に書かれている jis.map 関連の作業を行う必要はない.このあたりは pTeX のバージョンアップに伴い TeX を日本語化する方法が統合されてきたことを反映しているのだろう.

ps2pdf14 で作った pdf のペーパーサイズがおかしい
【症状】A4サイズを指定して作った ps ファイル(gv では正しく表示される)をps2pdf14 で pdf に変換すると,ページの上が切れてしまう.
【対策】とりあえず,ps2pdf14 のオプションに -sPAPERSIZE=a4 を指定することで解決.
 できることなら,これをデフォオルトにしたいが,それには ghostscript を再コンパイルしなければならないのだろうか?《現在調査中》

■ pdf ファイルにフォントが埋め込まれる件
 URL は失念したが,PDF ファイルにはフォントを埋め込まない方が良いという記述があった.フォント著作権の問題も絡んでくると記憶している.背景の把握も含め,PDF 化の際にフォントを埋め込まない方法について調べておくべし.

0 件のコメント: