============================================ ptetex3-20090610 -- teTeX 用日本語パッチ集 ============================================ UNIX 上で日本語 TeX 環境を自前で整えるには、 teTeX に日本語パッチを多数当てねばなりません。 ptetex3 はこの手間を軽減します。 必要なパッチ類を同梱し、自動でパッチを当てるようにしました。 以下の3個のファイルだけで最新の日本語 TeX 環境が構築できます。 tetex-src-3.0.tar.gz (13Mbyte) tetex-texmf-3.0po.tar.gz (88Mbyte) ptetex3-20090610.tar.gz (6Mbyte) また、日本語フォントに関する設定を集中管理するよう、 周辺ツールの整備にも力を注いでいます。 ptetex3 は、単なるパッチの集合体としてだけではなく、 「日本語 TeX ディストリビューション」となるべく開発を行っています。 以下のコマンドを新設/日本語対応にします。 ptex, platex, platex209, (p)dvips, dvipdfmx, (p)xdvi, jbibtex, mendex, jmpost, updmap, makejvf. 動作環境は teTeX オリジナルに準じます。 更に GNU make や GNU patch, GNU bash が必要です。 ghostscript, 日本語フォント等は別に必要です。 ------------------------------------------------------------------- インストール作業は以下のような流れになります。 3つの tar.gz はどこに置いてもいいのですが、 ptetex3 というディレクトリを作ってその下に置き、 そこで作業することにします。 ***/ptetex3/ -+- tetex-src-3.0.tar.gz +- tetex-texmf-3.0po.tar.gz +- ptetex3-20090610.tar.gz +- my_option(後から作る) (ファイル展開) $ cd ***/ptetex3 $ gzip -cd ptetex3-20090610.tar.gz | tar xvf - $ cd ptetex3-20090610 $ less my_option.sample(カスタマイズ) (ユーザ権限でコンパイル) $ make あるいは、分割して実行するなら $ make all0 $ make otf (OTFパッケージも入れるなら) $ make babel(pTeXでBabelマクロも使うなら) $ make font $ make test (root 権限でインストール) $ su # make install # exit (作業用ファイルの削除) $ make distclean (PATHの設定) $ export PATH=/usr/local/teTeX/bin:$PATH # sh/bash の場合 % setenv PATH /usr/local/teTeX/bin:$PATH # csh/tcsh の場合 ------------------------------------------------------------------- /usr/local/teTeX/bin にパスを通しますが、 上の方法による変更は一時的です。 (csh/tcsh なら rehash もお忘れなく。) 恒久的に設定するには、個人ユーザの場合は ~/.bashrc や ~/.tcshrc に書き込みます。 全ユーザ共通に設定するには、 /etc/profile.d/tetex.sh /etc/profile.d/tetex.csh のようなファイルに書き込みます。 この設定が有効になるのは、次にログインしたときです。 何かエラーがあった場合は、"../my_option" というファイルに カスタマイズ項目を書き込みます。 何を書き込むかは、"my_option.sample" を参照して下さい。 xdvi 用の日本語フォントが見つからない場合は、 "../my_option" に EXTRA_TRUETYPE="/usr/local/ttf" などと、フォントのあるディレクトリを書き加えて、 "make font test" を実行します。 アンインストールはに "/usr/local/teTeX" 以下のファイルを ばっさりと消せば OK です。"make uninstall" でも同じです。 中韓の TrueType フォントを dvipdfmx で埋め込む際など、 CMap が不足する場合があるかもしれません。 その場合には別に配布している ptetex-cmap-20090506.tar.gz をお使い下さい。 不足する CMap だけをチェックしてインストールします。 既に TeX が入っている環境では、 新旧の TeX を混ぜて使わないように注意します。 TEXMF のような環境変数は何も設定せず、 PATH の通し方で対処します。 使いたいものがコマンドサーチパスの中で 先に見つかるようにすれば OK です。 うまく設定できたか確認のためには、 texenv-checker -- 日本語 TeX 環境検査ツール http://www.nn.iij4u.or.jp/~tutimura/tex/texenv-checker.html が便利です。 ------------------------------------------------------------------- nkf を使って、文字コードを自動認識させることができます。 make install の後に /usr/local/teTeX/share/texmf/web2c/texmf.cnf に PTEX_IN_FILTER=/usr/bin/nkf -e と書き加えます。KANJI_CODE=UTF8 にしていれば PTEX_IN_FILTER=/usr/bin/nkf -w です。 ------------------------------------------------------------------- xdvi と emacs とで相互ジャンプするには、 /usr/local/src/tetex-src-*/texk/xdvik/xdvi-search.el を適切な場所にコピーしてください。 /usr/local/share/emacs/site-lisp/ あたりが適当でしょうか。そして、 ~/.emacs.el にも以下のように書き込みます。 ;;; TeX src-special のための設定 (if (load "xdvi-search" t) ; 必須 (server-start) ; 必須 (progn (custom-set-variables '(server-switch-hook (quote (raise-frame)))) ; 窓を上に (custom-set-faces) (add-hook 'yatex-mode-hook '(lambda () (define-key YaTeX-mode-map "\C-c\C-j" 'xdvi-jump-to-line))) )) /usr/local/share/texmf/xdvi/XDvi も見直しが必要かもしれません。 ただし、個人設定を上書きするのなら、 ~/.Xresources あるいは ~/.Xdefaults のほうが適切でしょう。 ------------------------------------------------------------------- 以下は細かい話 ------------------------------------------------------------------- 通常、オリジナルの teTeX のインストール作業は、 1. 実行ファイルのソース tetex-src-*.tar.gz の展開/コンパイル/インストール 2. データファイル tetex-texmf-*.tar.gz の展開 を行います。日本語環境ではさらに、 3. 実行ファイルのソース ptex-src-*.tar.gz の展開/コンパイル/インストール 4. データファイル ptex-texmf-*.tar.gz の展開 5. 各種ツールのパッチ当て/コンパイル/インストール 6. 日本語フォント関連の設定 が必要です。この 3,4 はともかく、5,6 はかなり繁雑で、 しかもパッチのバージョン違いで作業が微妙に異なり、 慣れてない人にとっては難しい判断を迫られることになります。 そこでこの日本語パッチ集では、これらの作業を一括して行います。 全てのパッチを同梱し、自動でパッチを当てます。 (日本語パッチを当てた後の tetex-src, tetex-texmf 相当を配布したほうが単純ですが、 ファイルサイズが大きくなりすぎるため断念しました。) 6 の設定は不完全ですが、商用フォントを使わないという前提で、 最低限のことをやっておきます。 ------------------------------------------------------------------- 各スクリプトの作業内容は以下の通りです。 編集の必要があっても、なるべく直接は編集せず、 "../my_option" というファイルを作って書き込むのがよいでしょう。 ptetex3 のバージョンが変わっても、"../my_option" は そのまま使える可能性が高いです。 0. ./common.sh 以下のスクリプトで共通なものをまとめて宣言しています。 各スクリプトの先頭で読み込まれます。 "my_option" があれば読み込みます。 1. ./1check-archive.sh 必要なファイルが壊れてないかチェックします。 tetex-src-*.tar.gz, tetex-texmf-*.tar.gz がなければ 入手方法を表示します。 2. ./2extract-src.sh 実行ファイルのソース tetex-src などを展開します。 3. ./3extract-texmf.sh データファイル tetex-texmf などを展開します。 4. ./4make-install.sh コンパイル/インストールを行います。 5. ./5macro.sh 追加のマクロをインストールします。 6. ./6babel.sh pTeX で Babel マクロを使ったときに、 ハイフン処理が各言語で正しくなるように、 fmt ファイルを作りなおします。 7. ./7font-search.sh フォント設定を自動で行います。 8. ./8test.sh 簡単なテストを行います。 9. ./9realloc.sh インストール/アンインストール等を行います。 "make" では 1〜5 の動作を連続して行います。 手動でコンパイルしたい時は、 "make x" でファイルの展開を、 "make c" でコンパイル/インストールを、 "make macro" でマクロの更新を行います。 "make" が成功すれば、 "make font" でフォント設定を行います。 "make otf" で齋藤修三郎さんの OTF パッケージも インストールできます。ただし、かなりの時間と、 ディクスを 100MB 近く消費します。 "make babel" で Babel が正しく使えるようになります。 "make test" で簡単な動作確認をします。 最後に root になって "make install" します。 ------------------------------------------------------------------- teTeX の ./configure のオプションのうち、 役に立ちそうなものを簡単に紹介しておきます。 --without-texinfo --without-dialog texinfo/dialog なしでコンパイルします。 これらの機能はなくても事実上困らないので、 ncurses 関連等でコンパイルに失敗する場合に 指定すると有効かもしれません。 --enable-shared 共有ライブラリを使います。 (環境によってはうまくコンパイルできないこともあるようです。) 実行ファイルのサイズを節約できますが、 /usr/local/teTeX/lib を次のような方法の いずれかで登録する必要があります。 -- /etc/ld.so.conf に追記して ldconfig を実行 -- LD_LIBRARY_PATH に追記 手元の環境で試したところ、 /usr/local/teTeX/bin 以下のファイルサイズが 12Mbyte → 9Mbyte となりました。 teTeX 全体の 200Mbyte からすると、 ほとんど誤差の範囲とも言えます。 どうしても捜し出してくれないライブラリがある時は、 環境変数を次のようにして設定するとうまくいくかもしれません。 CPPFLAGS="-I/usr/local/include -I/usr/sfw/include -I/opt/sfw/include -I/usr/openwin/include" LDFLAGS="-L/usr/local/lib -L/usr/sfw/lib -L/opt/sfw/lib -L/usr/openwin/lib" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib:/usr/openwin/lib ------------------------------------------------------------------- インストールに使うパッチ類の一覧です。 archive/ http://project.ktug.or.kr/dvipdfmx/snapshot/archive/dvipdfmx-20090506.tar.gz ftp://www.fsci.fuk.kindai.ac.jp/pub/ptex/utils/dvipsk-5.97-p1.7b.tar.gz http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.5.tar.gz http://srekcah.org/jcode/jcode.pl-2.13 http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/jvf/jis.tar.gz ftp://jupiter.fsci.fuk.kindai.ac.jp/pub/ptex/utils/jmpost-0.04b.tar.gz ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/jvf/makejvf-1.1a.tar.gz http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/mendex/mendexk2.6e.tar.gz http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/jvf/morisawa.tar.gz http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/patches/patch-ebb-artbox.diff http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/platex/platex209.tar.gz http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/tetex/ptex-src-3.1.10.tar.gz http://www.ring.gr.jp/pub/text/TeX/ascii-ptex/tetex/ptex-texmf-2.5.tar.gz http://tutimura.ath.cx/~nob/tex/ptetex/ptexenc/ptexenc-0.999.tar.gz tetex-3.0-dcb314.patch tetex-3.0-dvipdfm.patch tetex-3.0-makej.patch tetex-3.0-marvosym-rightarrow.patch tetex-src-3.0-omegaware.patch http://www.ns.musashi-tech.ac.jp/~inoue/Pages/TeX/updmap-3.0-4.diff updmap-ExtendSlant.patch updmap-cmsuper.patch updmap-nostop.patch xdvik-20070807-tetex-3.0.diff.gz xdvik-22.84.12-tetex-3.0.diff.gz babel/ http://www2.tba.t-com.ne.jp/ing/ing/babeltestJIS.tex http://www2.tba.t-com.ne.jp/ing/ing/japanese.zip ptetex-babel.tar.gz macro/ http://argent.shinshu-u.ac.jp/otobe/tex/packages/files/util/burasage.lzh http://www.math.meiji.ac.jp/~mk/labo/style/eclepsf.sty epsbox.sty http://oku.edu.mie-u.ac.jp/~okumura/jsclasses/jsclasses-090222.zip http://psitau.at.infoseek.co.jp/otfstable.zip http://stuwww.uvt.nl/~hendri/Downloads/Files/powerdot.zip http://keihanna.dl.sourceforge.net/sourceforge/prosper/prosper-1.00.4.tar.gz tategumi.tar.gz tateyoko.tar.gz http://psitau.at.infoseek.co.jp/utfsrc.zip ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/xkeyval.zip security/ libpng-tetex-3.0-1.2.18.patch.gz tetex-2.0.2-dvipdfm-security.patch tetex-3.0-CVE-2005-3193.patch tetex-3.0-CVE-2007-0455.patch tetex-3.0-CVE-2007-0650.patch tetex-3.0-CVE-2007-3387.patch tetex-3.0-badscript.patch ftp://ftp.kde.org/pub/kde/security_patches/post-3.5.5-kdegraphics-CVE-2007-0104.diff zlib-tetex-3.0-1.2.3.patch.gz cmap/ http://ghostscript.com/releases/ghostscript-8.64.tar.gz ------------------------------------------------------------------- 奥村先生のインストールメモ http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Make (teTeX-2.0用のころの記述)を参考に開発を開始しましたが、 現在では以下のような相異点があります。 [teTeXと同時にインストールするもの] -- xdvik -- ptex -- mendex -- jmpost [追加したマクロ] -- prosper -- powerdot -- platex209 -- epsbox.sty -- eclepsf.sty (ファイルの所有者を root に揃えて) [やってないこと] -- フォント TIPA と cm-super の取り込み -- dvipdfmx のフォント埋め込みの設定, JIS外字の扱い [おまけ] -- dvips は印刷せずに、ファイルに出力する [余分にやったこと] -- ovf2ovp 等は正常に動く web2c 版を使う -- 齋藤修三郎氏の otf/utf パッケージをインストール http://psitau.at.infoseek.co.jp/otf.html http://psitau.at.infoseek.co.jp/utf.html -- 藤田眞作氏の縦組・横組パッケージをインストール http://imt.chem.kit.ac.jp/fujita/fujitas2/texlatex/ (ライセンスの確認ができないので、現在インストールは見合わせ中) -- 実行ファイルを strip(デバッグ情報を削除) -- ls-R にないファイルは、本当に探しにいく -- TeX 文書の簡単なテストコンパイルを行う -- iNOUE Koich! 氏の updmap に KanjiMap を追加するパッチを採用 http://www.ns.musashi-tech.ac.jp/~inoue/Pages/TeX/updmap.html -- iNOUE Koich! 氏の url.sty に 8bit 文字が入って ptex に不都合なのを修正するパッチと同等物を採用 http://www.ns.musashi-tech.ac.jp/~inoue/Pages/TeX/url.sty.8.bitchars.html -- 栗山雅俊氏のインストールガイドによる Babel 対応 http://www2.tba.t-com.ne.jp/ing/ing/gcinst3g3sj.txt ------------------------------------------------------------------- 開発は VineLinux 4.2 で行っています。 当然ながら動作保証はできかねますので、自己責任でお使い下さい。 ptetex3 に含まれている pTeX, dvipdfmx などには、 単独配布物に ptetex3 独自のパッチが加わっている場合があります。 従って、動作不良があっても個別の開発者には連絡せず、 まずは以下にお知らせ下さい。 http://tutimura.ath.cx/ptetex/?%C6%B0%BA%EE%CA%F3%B9%F0 (teTeX-3.0 + 単独配布物でも発現するバグはこの限りではありません。) 同梱のパッチ類は再配布可能なものを選んだつもりです。 (そうでないものがあればご連絡下さい。) 改変したものの再配布は禁止されていることがあります。 archive/platex209.tar.gz と cmap/* にはご注意下さい。 詳細は LICENSE ファイルをご覧ください。 新たに著作権の発生したスクリプト類は、pTeXと同様に、 (修正)BSDライセンスの下で、自由に改変・再配布を行って下さい。 連絡先、最新版の配布場所は以下の通りです。 土村 展之 (tutimura(a)nn.iij4u.or.jp) http://tutimura.ath.cx/~nob/tex/ptetex.html http://tutimura.ath.cx/ptetex/ -------------------------------------------------------------------