慶應義塾大学
理工学部 物理情報工学科
内山 孝憲
30-Apr-97作成, 08-Sep-97 更新
日本語環境が整っていなかったら,MkLinuxのメーリングリストの過去のメールなどを参照して用意しましょう.
MkLinux用バイナリの一次配布元はftp://uat.thx.inst.keio.ac.jp/pub/mklinuxです.配布されているバイナリには,pLaTeX2e, LaTeX209ベースの旧版, プレビュアxdvi, プリンタドライバdvipsおよびフリーのZeit形式フォントminchoとasiya24が含まれています.入手しなければならないものは次のものです.
EPSを取り込んだ文書を表示するためには, Ghostscriptが必要です.Ghostscriptは,PostScript互換のインタプリタです.日本語化パッチをあててmakeしたバイナリを入手してください.大阪大学の安留さんがmakeされたバイナリgs4.03+vflib.bin.tar.gzを入手してください.
lprコマンドで印刷したり,dvipsで印刷するためには,lprが必要です.MkArchive,例えばftp://ftp.sunet.se/pub/os/Linux/mklinux/mkarchive/sys/にありますから,印刷する場合には,あらかじめlprをインストールしてください./etc/printcapの記述方法は,プリンタ付属のマニュアルをお読みください(LaserWriter16/600PS-Jの場合には,SUN-OSなどのOSの記述例があります.MkLinuxでは,SUN-OS 4.1.Xの設定と同様で印刷できます).
/usr/local/lib/VFlib.a /usr/local/lib/libVFlib.a /usr/local/include/VF.h /usr/local/share/vflib/vfontcap /usr/local/share/vflib/zeit/asiya24.vf1 /usr/local/share/vflib/zeit/asiya24.vf2 /usr/local/share/vflib/zeit/mincho.vf1 /usr/local/share/vflib/zeit/mincho.vf2 /usr/local/etc/ttindex /usr/local/etc/bdfindex以上のファイルが展開される.
/usr/local/binに次のものが展開される.
/usr/local/bin/inimf METAFONTのベースファイルをダンプ /usr/local/bin/iniptex pTeXのフォーマットファイルをダンプ /usr/local/bin/initex 欧文TeXのフォーマットファイルをダンプ /usr/local/bin/vftovp /usr/local/bin/virmf METAFONTのプログラム /usr/local/bin/virptex pTeXのプログラム /usr/local/bin/virtex 欧文TeXのプログラム /usr/local/bin/vptovf /usr/local/bin/MakeTeXPK xdvi, dvipsで呼ばれるPKフォント作成のスクリプト /usr/local/bin/afm2tfm /usr/local/bin/bibtex 欧文bibTeX /usr/local/bin/cmmf Computer Modernのフォントを作る /usr/local/bin/dvicopy /usr/local/bin/dvips DVI→日本語PostScript /usr/local/bin/dvitype /usr/local/bin/gftodvi /usr/local/bin/gftopk GF形式のフォントをPK /usr/local/bin/gftype /usr/local/bin/jlatex LaTeX209ベース(旧版の日本語LaTeX)のタイプセット /usr/local/bin/kpsewhich スタイルやフォントのパスを表示 /usr/local/bin/mendex 索引作成 /usr/local/bin/mf mf.baseを読み込むリンク /usr/local/bin/mft /usr/local/bin/patgen /usr/local/bin/pdvitype /usr/local/bin/pktogf /usr/local/bin/pktype /usr/local/bin/platex pLaTeX2eのタイプセット /usr/local/bin/pltotf /usr/local/bin/pooltype /usr/local/bin/ptex /usr/local/bin/tangle /usr/local/bin/tex 欧文plain TeX /usr/local/bin/tftopl /usr/local/bin/weave /usr/local/bin/xdvi プレビュア/usr/local/libに次のものが展開される.
/usr/local/lib/texmf/tex スタイルファイル,マクロ /usr/local/lib/texmf/bibtex bibtexに必要なファイル /usr/local/lib/texmf/fonts TFMとフォントのソース /usr/local/lib/texmf/mf METAFONTで使用する共通ファイル /usr/local/lib/texmf/ini フォーマットファイル,ベースファイル /usr/local/lib/texmf/dvips dvipsが読み込むファイル /usr/local/lib/texmf/xdvi xdviで多書体使用するためのvfontmap(VFlibのvfontcapではない)/usr/X11/lib/X11/app-defaults/XDviは,xdviのリソース.
%cd /usr/local/lib/texmf/fonts/tmp %chmod 777 ./
\documentclassで始まる文書 %platex foo.tex
\documentstyleで始まる文書 %jlatex foo.tex
上記2つで始まらない文書.文書の最後が\endになっている文書. %ptex foo.tex
%xdvi foo.dvi ここではじめて実行するときには,300dpiのPKフォントがないので, /usr/local/lib/texmf/fonts/tmp/pk/cx にMakeTeXPKのスクリプトで300dpiのPKフォントが 作られる.
%dvips foo.dvi ここではじめて実行するときには,600dpiのPKフォントがないので, /usr/local/lib/texmf/fonts/tmp/pk/ljfour にMakeTeXPKのスクリプトで600dpiのPKフォントが 作られる.
スタイルファイルは,/usr/local/lib/texmf/texの下に置く.検索される順番は,/usr/local/lib/texmf/web2c/texmf.cnfの記述に従う.texmf.cnfには,
latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex// latex2e_inputs = .:$TEXMF/tex/latex2e//:$TEXMF/tex// platex209_inputs = .:$TEXMF/tex/platex209//:$TEXMF/tex/latex209//:$TEXMF/tex// platex2e_inputs = .:$TEXMF/tex/platex2e//:$TEXMF/tex/latex2e//:$TEXMF/tex// TEXINPUTS.latex209 = $latex209_inputs TEXINPUTS.latex = $latex2e_inputs TEXINPUTS.platex = $platex2e_inputs TEXINPUTS.jlatex = $platex209_inputsのように記述されている.これは,プログラム名がplatexであれば,TEXINPUTS.platexに指定されている内容に従い,$platex2e_inputsに設定されている順番で検索する.つまり,カレントディレクトリ→/usr/local/lib/texmf/tex/platex2eの以下の全てのディレクトリ→/usr/local/lib/texmf/tex/latex2eの以下の全てのディレクトリ→/usr/local/lib/texmf/tex以下の全てのディレクトリの順に検索する.
//は,その部分にいくつのディレクトリがあってもよいことを意味し,その間のディレクトリは全て再帰的に検索される.
追加するスタイルファイルがLaTeX2e用なのかLaTeX209用なのかと確かめて置くこと.
pLaTeX2eには,LaTeX209互換モードがあるので,特別なスタイルファイルを使っていなければ,ほぼ互換モードでタイプセットできる.しかし,旧版の日本語LaTeXに固有の変数を操作したり,多数のフォントを使用するマクロの場合には,互換モードではタイプセットできない.そこで,virptexだけpTeX2.1.4のものを使い,マクロやスタイルファイルには旧版の日本語LaTeXのものを使ってその問題を回避する.
/usr/local/lib/texmf/web2c/texmf.cnfの
platex209_inputs = .:$TEXMF/tex/platex209//:$TEXMF/tex/latex209//:$TEXMF/tex// TEXINPUTS.jlatex = $platex209_inputsがキーポイント.jlatexコマンドでは,$platex209_inputsに設定されている順番で検索する.つまり,カレントディレクトリ→/usr/local/lib/texmf/tex/platex209以下の全てのディレクトリ→/usr/local/lib/tex/latex209以下の全てのディレクトリ→/usr/local/lib/texm/tex以下の全てのディレクトリの順に検索する.
/usr/local/lib/texmf/tex/platex209には,旧版のマクロとスタイルファイルが置かれている.また,旧版のjlplain.texをiniptexでダンプして作成したフォーマットファイルが/usr/local/lib/texmf/ini/jlplain.fmtであり,jlatex.fmtがシンボリックリンクしてある.一方,/usr/local/bin/jlatexは,virptexにシンボリックリンクしてあるので,プログラム名と同じフォーマットファイルを読み込む仕様にしたがって,jlatex foo.texは,virptex "&jlatex.fmt foo.tex",つまりvirptex "&jlplain.fmt foo.tex"と等価になるのである.
/usr/local/lib/texmf/fonts 以下に分類してフォントを置く.例えば,/usr/local/lib/texmf/fonts/public/cm には,pk, src, tfm のディレクトリがある.
pkには,本来,
pk-+-cx-+-cmr10.300pk | +-cmr12.300pk | : +jlfour-+-cmr10.600pk :のように,METAFONT の mode 毎に作成された PK 形式のフォントが置かれる(MakeTeXPK でつくられたものは, /usr/local/lib/texmf/fonts/tmp/ に同様に置かれる).
PKフォントが上記のようにおかれるのは,/usr/local/lib/texmf/web2c/texmf.cnfに
PKFONTS = .:$TEXMF/fonts//pk/$MAKETEX_MODEと記述されているから.PK は,カレント→/usr/local/lib/texmf/fonts 以下のディレクトリでディレクトリ名の最後が pk/(METAFONT で作成したときの mode 名)になっているものが検索される.//には,その部分にいくつのディレクトリがあってもよいことを意味し,再帰的に検索することを思い出して欲しい.
srcには,METAFONTでフォントをつくるためのフォントのソースが置かれる.xdviやdvipsがMakeTeXPKのスクリプトを呼び出してフォントを生成する.METAFONTを単体で使用するときには,
%virmf "&plain \mode=cx; \mag=\magstep0; input cmr10.mf"のように実行する.ここでは,cmr10のフォントをCanonCXのパラメータ(300dpi)で大きさがmagstep0 (magstep1なら1.2倍,magstep2なら1.2の2乗倍...,\mag=0.9や\mag=330/300といった指定もOK).
tfmには,TFM (TeX Font Metric)ファイルが置かれる.TFMには,文字の幅,高さなどの情報が記述されている.
vfのディレクトリをもつフォントもある.これは,モリサワやAdobeのフォントでMETAFONT用のソースが提供されていないフォントである.vfはvirtual fontのことで,VFlibとは全く関係ない.
METAFONTのモードは,多くは/usr/local/lib/texmf/mf/modes.mfに記述されている.modes.mf中のmode_defで定義されているものを指定できる.modes.mfでは,それぞれのエンジンの特性に合わせて,黒さの補正などが記述されている.これらの値は経験的に決定されている(印刷して適切か否か判断する).
cxは,CanonCXエンジンのことで,300dpiのCanon製エンジンの場合に指定される.ljfourは,HPのLaserJet4の600dpiのエンジンである.AppleのLaserWriter16/600PS-Jなら,canonexを使った方がよいだろう.canonexは,LaserWriterPro630のパラメータであり,LaserWriterPro630のカートリッジはLaserWriter16/600PS-Jのものと同じであるからである(もっとも,素人目にはljfourとcanonexの違いは分からないだろう).
xdviやdvipsで解像度を指定すると(コマンドラインのオプションなら,xdviは-S,dvipsは-D),その解像度に応じたPKフォントが必要になる.MakeTeXPKに解像度を指定するだけで適切なフォントを生成させるには,MakeTeXPKを修正する必要がある.
MakeTeXPKの終わり近くに,
# If an explicit mode is not supplied, try to guess. You can get a # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf. if test -z "$MODE" || test "$MODE" = default; then case "$BDPI" in 85) MODE=sun;; 300) MODE=cx;; 600) MODE=ljfour;; 1270) MODE=linolo;;のように記述されているところがある.これを
# If an explicit mode is not supplied, try to guess. You can get a # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf. if test -z "$MODE" || test "$MODE" = default; then case "$BDPI" in 85) MODE=sun;; 300) MODE=cx;; 360) MODE=canonbjc;; 600) MODE=ljfour;; 1270) MODE=linolo;;のように修正すると,360dpiを指定することによって,canonbjcのパラメータでPKフォントが生成されるようになる.
ここに記述できるものは,METAFONTのモードとして定義されているもののみである.
modes.mfに定義されていないプリンタのフォントを作ることはできない.選択肢は,
- 解像度が同じ他機種用のフォントで代用する
- NetNewsなどに投稿されたパラメータを使用する
- 特性が似ていると思うパラメータを元に試行錯誤で決める
程度である.
NetNewsに,沖データのプリンタ,Microline801PS用のパラメータとして,
% From {\tt sakai@icpcs41.icpc.fukui-u.ac.jp}; mode_def OkiMicroline = proofing:=0; % no, we're not making proofs fontmaking:=1; % yes, we are making a font tracingtitles:=0; % no, don't show titles at all pixels_per_inch:=400; % that's 400 pixel per inch blacker:=.65; % make pens a bit blacker fillin:=.2; % compensate for diagonal fillin o_correction:=.4; % but don't overshoot as much enddef; oki := OkiMicroline;が投稿されたことがある.
また,320dpiのLEDアレイのエンジンをもつNECのプリンタのパラメータには,CanonCXのパラメータの解像度のみを変更した
% NEC PC-PR602PS/3000PS mode: (same as Canon CX but pixels_per_inch) mode_def NECPS = proofing:=0; % no, we're not making proofs fontmaking:=1; % yes, we are making a font tracingtitles:=0; % no, don't show titles at all pixels_per_inch:=320; % the new Canon engine at 300/inch blacker:=0; % Canon engine is black enough fillin:=.2; % very small compensation for diagonal fillin o_correction:=.8; % but don't overshoot as much enddef;を使用したこともある(特性が似ているとは思えないが,解像度が近くて特性も他のものよりは近いかもしれない).
これらを,ファイルlocal.mfに記述する.
次に,
input plain input local input modesと記述したファイルplain.iniを作成する.
このplain.iniをつかって,plain.baseのベースファイルをダンプしなおす.
inimf plain.ini dumpplain.baseが生成される.TeXと異なり,dumpの前に\記号がいらないことに注意する.
plain.baseを/usr/local/lib/texmf/iniにコピーする.
mf.baseをplain.baseにシンボリックリンクする.
% Default resolution. D 600 ^^^の数値を変更する
- METAFONTでフォントを生成するときのモード
% Metafont mode. (This is completely different from the -M command-line % option, which controls whether MakeTeXPK is invoked.) M canonex ^^^^^^^CanonEXエンジンに変更した例
- EPSを生成する,GhostViewで頁番号を正しく表示させる
- PostScriptコメントを正しく挿入するように-Nオプションを無効にする.
% Too-smart spoolers and/or printers get confused. % Our LJ4 gets `22 Error' (inconsistently) from the structured comments. %N ^Nの前に%を付けてコメントアウトする.
- 用紙サイズA4を初期値にする
% Paper size information. First definition is the default. % % If your default is a4 uncomment the following definition % and comment out the letterSize definition. % % There is some redundancy in the following comments; that is to % get things to work both on the NeXT and on other printers. % @ a4size 210mm 297mm @+ %%PaperSize: a4 %@ letterSize 8.5in 11in のようにa4のコメントを外して,Letterをコメントアウトする.
kpsewhichコマンドがどこにあるか調べるものである.
%kpsewhich cmr10.tfm /usr/local/lib/texmf/fonts/public/cm/tfm/cmr10.tfmみつかれば,上記のように絶対パスで場所を表示する.見つからなければ何も表示されない.
VFlibが読むファイルは
/usr/local/share/vflib/vfontcapである.minとgothに対して,それぞれ/usr/local/share/vflib/zeit/minchoと/usr/local/share/vflib/zeit/asiya24を読むように設定されている.これらのフォントは,フリーのビットマップフォントからzeit形式のアウトラインフォントに変換されたものである.
MS-Windows用に市販されているTrueTypeフォントを利用することが技術的には可能である.ライセンス的にはできないものもあるようである.例えば,
### TRUETYPE FONT (Windows fonts) r-microsoft-mincho|MicroSoft mincho:\ :ft=truetype:\ :ff=/usr/local/share/vflib/truetype/msmincho: r-microsoft-gothic|Microsoft gothic:\ :ft=truetype:\ :ff=/usr/local/share/vflib/truetype/msgothic: 中略 ### ### for ASCII jTeX ### ### min|min5|min6|min7|min8|min9|min10|min12|min17|Mincho Font:\ :fc=microsoft-mincho: goth|goth5||goth6|goth7|goth8|goth9|goth10|goth12|goth17|Gothic Font:\ :fc=microsoft-gothic: tmin|tmin5|tmin6|tmin7|tmin8|tmin9|tmin10|tmin12|tmin17|Mincho Font:\ :fc=microsoft-mincho: tgoth|tgoth5||tgoth6|tgoth7|tgoth8|tgoth9|tgoth10|tgoth12|tgoth17|Gothic Font:\ :fc=microsoft-gothic:のように記述すれば,MS-WindowsのTrueTypeフォントを使用することが技術的にはできる.しかし,マイクロソフトに問い合わせるとMS-Windowsで使用して下さいと答えているようであるから,ライセンス的にはできないだろう.
Texturesという欧文のMacintosh用のTeXを販売しているBluesky Researchが,Computer Modernのtype 1形式のフォントを公開した.CTANのミラーサイトなどから入手できる(会津大のanonymous ftp serverがCTANのミラーとしては管理が行き届いているようである).
- cmps-macintosh.hqxを入手する.
- LaserWriter Utilityなどを使って,日本語PostScriptプリンタにダウンロードする.
- /usr/local/lib/texmf/dvips/psfonts.mapに次の内容を追記する.
----------------------------------- cmb10 CMB10 cmbsy10 CMBSY10 cmbx10 CMBX10 cmbx12 CMBX12 cmbx5 CMBX5 cmbx6 CMBX6 cmbx7 CMBX7 cmbx8 CMBX8 cmbx9 CMBX9 cmbsl10 CMBSL10 cmbxti10 CMBXTI10 cmcsc10 CMCSC10 cmdunh10 CMDUNH10 cmex10 CMEX10 cmff10 CMFF10 cmfi10 CMFI10 cmfib8 CMFIB8 cminch CMINCH cmitt10 CMITT10 cmmi10 CMMI10 cmmi12 CMMI12 cmmi5 CMMI5 cmmi6 CMMI6 cmmi7 CMMI7 cmmi8 CMMI8 cmmi9 CMMI9 cmmib10 CMMIB10 cmr10 CMR10 cmr12 CMR12 cmr17 CMR17 cmr5 CMR5 cmr6 CMR6 cmr7 CMR7 cmr8 CMR8 cmr9 CMR9 cmsl10 CMSL10 cmsl12 CMSL12 cmsl8 CMSL8 cmsl9 CMSL9 cmsltt10 CMSLTT10 cmss10 CMSS10 cmss12 CMSS12 cmss17 CMSS17 cmss8 CMSS8 cmss9 CMSS9 cmssbx10 CMSSBX10 cmssdc10 CMSSDC10 cmssi10 CMSSI10 cmssi12 CMSSI12 cmssi17 CMSSI17 cmssi8 CMSSI8 cmssi9 CMSSI9 cmssq8 CMSSQ8 cmssqi8 CMSSQI8 cmsy10 CMSY10 cmsy5 CMSY5 cmsy6 CMSY6 cmsy7 CMSY7 cmsy8 CMSY8 cmsy9 CMSY9 cmtcsc10 CMTCSC10 cmtex10 CMTEX10 cmtex8 CMTEX8 cmtex9 CMTEX9 cmti10 CMTI10 cmti12 CMTI12 cmtt10 CMTT10 cmtt12 CMTT12 cmtt8 CMTT8 cmtt9 CMTT9 cmu10 CMU10 cmvtt10 CMVTT10 lasy10 LASY10 lasy5 LASY5 lasy6 LASY6 lasy7 LASY7 lasy8 LASY8 lasy9 LASY9 lasyb10 LASYB10 lcircle10 LCIRCLE10 lcirclew10 LCIRCLEW10 line10 LINE10 linew10 LINEW10 logo10 LOGO10 logo8 LOGO8 logo9 LOGO9 logobf10 LOGOBF10 logosl10 LOGOSL10 -----------------------------------これにより,dvipsは600dpiの上記のPKフォントを生成せず,プリンタにダウンロードされているtype 1形式のフォントを使う.
ところで,config.psには
* add fontmap file p +cmfonts.mapと追記するのみで,上記の修正内容をcmfonts.mapという名称の別ファイルに記述する方法もある.
graphics packagesを使用する.配布しているバイナリにも含まれているがインストールの作業を行う必要がある.作業方法はこちらを参照.使用例もこちらを参照.
準備
- unzip を入手する.unzip-5.12-12.tar.gz(より新しい版があるかもしれない).
- プレビューするためには gsftopk が必要. CTANミラーサイトから gsftopk-1.12.tar.gzを入手する.
- ソースファイルの展開
zcat gsftopk-1.12.tar.gz | tar xvf -
- Makefileを修正
AdobeフォントのTFMの場所. //は, そのディレクトリ以下を再帰的に検索する. kpathseach に対応していないので, 途中に//を記述することはできない.
# The following should be as in TeX. TEXFONTS_DEFAULT=.:$(TEXMF)/fonts/adobe//インストールするパスを指定する.
# Where to put things. BINDIR=$(TEXMF)/bin MANDIR=$(TEXMF)/man/man1を
BINDIR=/usr/local/bin MANDIR=/usr/local/man/man1に変更.
./configure make make installでおわり.
- psnfss パッケージ CTANミラーサイトのmacros/latex2e/packages/psnfssのファイル
- PostScript フォントの TFM CTANミラーサイトのfonts/psfonts/lw35nfss.zip
インストール
- 古いパッケージを消す.
cd /usr/local/lib/texmf/tex/latex2e/tex/packages/psnfss
- 新しいパッケージを展開してmakeを実行する.
make
- dvipsの8r.encを更新する.
mv 8r.emc /usr/local/lib/texmf/tex/latex2e/packages/psnfss/8r.enc
- lw35nfss.zipを展開する.
unzip lw35nfss.zip
- tex/latex/psnfss に展開されるファイル
8rpag.fd omlpbk.fd omspcr.fd ot1pcr.fd t1phv.fd ts1ppl.fd 8rpbk.fd omlpcr.fd omsphv.fd ot1phv.fd t1pnc.fd ts1ptm.fd 8rpcr.fd omlphv.fd omspnc.fd ot1pnc.fd t1ppl.fd ts1pzc.fd 8rphv.fd omlpnc.fd omsppl.fd ot1ppl.fd t1ptm.fd upsy.fd 8rpnc.fd omlppl.fd omsptm.fd ot1ptm.fd t1pzc.fd upzd.fd 8rppl.fd omlptm.fd omspzc.fd ot1ptmcm.fd ts1pag.fd 8rptm.fd omlptmcm.fd omspzccm.fd ot1pzc.fd ts1pbk.fd 8rpzc.fd omlpzc.fd omxpsycm.fd t1pag.fd ts1pcr.fd courier.sty omspag.fd ot1pag.fd t1pbk.fd ts1phv.fd omlpag.fd omspbk.fd ot1pbk.fd t1pcr.fd ts1pnc.fdを
/usr/local/lib/texmf/tex/latex2e/packages/psnfssにコピーする.
- dvips/psnfss に展開されるファイル
config.pag config.pnc config.pzc pcr.map psnfss.map pzd.map config.pbk config.ppl config.pzd phv.map psy.map config.pcr config.psy pag.map pnc.map ptm.map config.phv config.ptm pbk.map ppl.map pzc.mapを
/usr/local/lib/texmf/dvipsにコピーする.
- fonts/vf/adobe に展開されるファイルは, kpathsea3.0 の置き方に従うもので, kpathsea2.6 では個々にコピーする必要がある.
cp avantgar/* /usr/local/lib/texmf/fonts/adobe/avantgar/vf/ cp bookman/* /usr/local/lib/texmf/fonts/adobe/bookman/vf/ cp courier/* /usr/local/lib/texmf/fonts/adobe/courier/vf/ cp helvetic/* /usr/local/lib/texmf/fonts/adobe/helvetic/vf/ cp ncntrsbk/* /usr/local/lib/texmf/fonts/adobe/ncntrsbk/vf/ cp palatino/* /usr/local/lib/texmf/fonts/adobe/palatino/vf/ cp times/* /usr/local/lib/texmf/fonts/adobe/times/vf/ cp zapfchan/* /usr/local/lib/texmf/fonts/adobe/zapfchan/vf/symbol と zapfding には何もない.
- fonts/tfm/adobe に展開されるファイルを同様に個別にコピーする.
csh 系のシェルなら,
foreach a (*) foreach? cp $a/* /usr/local/lib/texmf/fonts/adobe/$a/tfm/ foreach? endだと簡単.
Bourne shell系のシェルなら,
for a in *; do cp $a/* /usr/local/lib/texmf/fonts/adobe/$a/tfm/; doneだと簡単.
動作確認
/usr/local/lib/texmf/tex/latex2e/packages/psnfss の test0.tex と test1.tex がサンプル. test1.tex はフォントファミリを読み込むための空きがなくなってしまうのでタイプセットできない.
latex test0 xdvi test0始めてプレビューするときには, xdviがMakeTeXPK→gsftopk→Ghostscriptの順に呼び出して, Ghostscriptを使ってPK形式のフォントを作る. 作られたフォントは /usr/local/lib/texmf/fonts/tmp/pk/gstopkに置かれる.
きれいなフォントで印刷するためのヒント
プレビュや非PostScriptプリンタに美しく印刷するためには, Ghostscriptが利用できるフォントを美しいアウトラインフォントにする. Adobeの製品のユーザなら, Type On CallのCDを持っているだろうから, それを使おう.
Type On CallのCD-ROMのUNIXのディレクトリの部分には, PFBフォーマットのTimesなどのフォントが入っている.
それらをGhostscriptのフォントのディレクトリにコピーして, Ghostscriptのフォントを定義するファイル, Fontmapに
/Times-Roman (tir_____.pfb) ; /Times-Italic (tii_____.pfb) ; /Times-Bold (tib_____.pfb) ; /Times-BoldItalic (tibi____.pfb) ;のように記述すると, 本物の Times ファミリを使うことができるようになる.
MacOSの形式でフォントファイルで持っているときには, t1utils-1.2.zip でPFAやPFB形式に変換できる.
自分でEPSを差し込んだ文書もプレビューする環境を整えるのでしたら,
の順にインストールするとよいでしょう.
pTeX2.1.5では, /usr/local/shareがデフォルトのインストール先になる.
VFlib-2.22-PL8.tar.gzを
http://www.se.hiroshima-u.ac.jp/~kakugawa/Hacks/Hacks-JIS.htmlから入手する.
フォントには, Linux JEに添付されているzeit形式のフリーのフォントminchoとasiya24を使うことにする.
ftp://ftp.tut.ac.jp/Linux/JE/packages/fontから
vasiya1.tgz, vasiya2.tgz, vmincho1.tgz, vmincho2.tgz
を入手する.
zcat VFlib-2.22-PL8.tar.gz | tar xvf - makeVFlib-2.22pl8/src/Makefileを修正する.
vfontcapを置く場所を
# VFontcap file VFCAP = -DDEFAULT_VFCAP=\"/usr/local/share/vflib/vfontcap\"にする.
VFlib-2.22pl8/srcでmakeを実行する.
cd VFlib-2.22pl8 make
make install
/---/usr---/local---/share---/vflib-+-/vfontcap +-/zeit-+-mincho.vf1 +-mincho.vf2 +-asiya24.vf1 +-asiya24.vf2のような置き方にする.
mkdir /usr/local/share/vflib mkfir /usr/local/share/vflib/zeit
/usr/local/share/vflib/zeitにvasiya24とminchoを展開する.
cd /usr/local/share/vflib/zeit zcat vasiya1.tgz | tar xvf - zcat vasiya2.tgz | tar xvf - zcat vmincho1.tgz | tar xvf - zcat vmincho2.tgz | tar xvf -次のファイルが展開される.
asiya24.vf1 asiya24.vf2 mincho.vf1 mincho.vf2
vfontcapの雛型はVFlib-2.22pl8/vfontcap
cp vfontcap /usr/local/share/vflib/vfontcap
asiya24とminchoは, Zeit形式のフォントなので,
### ZEIT "SYOTAI CLUB" FONTSの部分を
r-zeit-mincho|Zeit "SYOTAI CLUB" Vector Font (Mincho):\ :ft=zeit:\ :ff=/usr/local/share/vflib/zeit/mincho: r-zeit-gothic|Zeit "SYOTAI CLUB" Vector Font (gothic):\ :ft=zeit:\ :ff=/usr/local/share/vflib/zeit/asiya:のように修正する. 市販されている書体倶楽部のフォントではないけれども, 上記の部分に記述することにする.asiya24は丸ゴシック系のフォントであるが, フリーの角ゴシック系のアウトラインフォントがないので仕方ない.
ASCII版のTeXで利用できるように,
### ### for ASCII jTeX ###以下の部分を次のように書き換える.
min|min5|min6|min7|min8|min9|min10|min12|min17|Mincho Font:\ :fc=zeit-mincho: goth|goth5||goth6|goth7|goth8|goth9|goth10|goth12|goth17|Gothic Font:\ :fc=zeit-gothic: tmin|tmin5|tmin6|tmin7|tmin8|tmin9|tmin10|tmin12|tmin17|Mincho Font:\ :fc=zeit-mincho: tgoth|tgoth5||tgoth6|tgoth7|tgoth8|tgoth9|tgoth10|tgoth12|tgoth17|Gothic Font:\ :fc=zeit-gothic:
テストプログラムをmakeする. テストプログラムはVFlib-2.22pl8/toolsにある.
cd VFlib-2.22pl8/tools xmkmf -a make動作確認
./vftest Initializing VFlib: OK Opening font: OK Getting Bitmap for 2422 ...done Getting Bitmap for 2424 ...done Getting Bitmap for 3026 ...done Getting Bitmap for 3029 ...done Getting Bitmap for 2341 ...done Getting Bitmap for 2349 ...done Getting Bitmap for 2522 ...done Getting Bitmap for 2524 ...done Getting Bitmap for 2330 ...done Getting Bitmap for 2331 ...done「あい愛逢AIアイ01」が表示されればOK.
/---/usr---/local---/lib---/share---/ghostscript-+-/4.03
+-/fonts
ghostscript-4.03.tar.gz ghostscript-4.03gnu.tar.gz ghostscript-4.03jpeg.tar.gz ghostscript-4.03libpng.tar.gz ghostscript-4.03zlib.tar.gz ghostscript-fonts-other-4.03.tar.gz ghostscript-fonts-std-4.03.tar.gz gs261j10.tar.gz gs261d13.tar.gz gs403j13.tar.gzを
http://www.jaist.ac.jp/~daisuke/Linux/gs/ghostscript/などから入手.
Ghostscriptの一次配布サイトはこちら.
http://www.cs.wisc.edu/~ghost/
zcat ghostscript-4.03.tar.gz | tar xvf - zcat ghostscript-4.03gnu.tar.gz | tar xvf -gs4.03 に移動して残りのファイルを展開する.
cd gs4.03 zcat ../ghostscript-4.03zlib.tar.gz | tar xvf - zcat ../ghostscript-4.03jpeg.tar.gz | tar xvf - zcat ../ghostscript-4.03libpng.tar.gz | tar xvf - zcat ../gs261j10.tar.gz | tar xvf - zcat ../gs261d13.tar.gz | tar xvf - zcat ../gs403j13.tar.gz | tar xvf -
patch -p1 < ./gs403j13.diff
ZSRCDIR=zlib-1.02を
ZSRCDIR=zlib-1.0.2に修正.
zlib の配布によるのかもしれない.
make -f unix-gcc.mak
super user になって
make -f unix-gcc.mak install
cp -r kanji /usr/local/share/ghostscript/4.03/
cd /usr/local/share/ghostscript/ zcat ghostscript-fonts-std-4.03.tar.gz | tar tvf - zcat ghostscript-fonts-other-4.03.tar.gz | tar xvf -
cd /usr/local/share/ghostscript/4.03/examples gs tiger.ps cd /usr/local/share/ghostscript/4.03/kanji gs allkanji.ps gs -sDEVICE=x11alpha allkanji.ps-sDEVICE=x11alpha で表示すると, アンチエイリアシングされてきれいに表示される.
Adobe Type Manager 4.0 や Adobe Photoshop のユーザならおなじみのはず.
基本的にtex-2.1.4.tar.gzに含まれるREADME.eucにしたがって作業すればmakeできる.
http://www.ascii.co.jp/pb/ptex/index.htmlを参考にして,近くのサイトから必要なファイルを入手する.
cd /usr/loca/lib zcat lib-6.9.tar.gz | tar xvf - zcat plib-euc.tar.gz | tar xvf -
zcat web-6.1.tar.gz | tar xvf - zcat web2c-6.1.tar.gz | tar xvf - zcat ptex-2.1.4.tar.gz | tar xvf - zcat xdvik-1.8f.tar.gz | tar xvf - mv web2c-6.1/web2c xdvik-18f mv xdvik-18f kpathsea-2.6 /bin/rm -fr web2c-6.1 /bin/rm -fr kpathsea-2.6/xdvik
cd ./kpathsea-2.6 patch -p -s < ../web2c.kpathsea-2.6.help cd ../ptex-2.1.4
su ./pTeXsetup -euc
cd ../kpathsea-2.6 ./configure
@itemize になっているのを @itemize @bullet にする.
最後の行のextern void *alloca();をコメントアウトする.
cd ../ make
make install
pl9702e.tar.gzに添付されているREADME.txtにしたがって作業をすすめる.LaTeX2eとpLaTeX2eのファイルをインストールする.インストール作業はsuper userで行う.
LaTeX2eは,/usr/local/lib/texmf/tex/latex2eにインストールされる.ここに展開されているファイルは古いので,新しい版に入れ換える.
cd /usr/local/lib/texmf/tex/latex2e su /bin/rm -rf ./
zcat base-9612.tar.gz | tar xvf -/usr/local/lib/texmf/tex/latex2e/baseにファイルが展開される.
<1996/12/01>版では従来のDCフォントに代ってECフォントが使用される.配置は, CTANのミラーサイトに置かれているようにする./usr/local/lib/texmf/fonts/publicに3つのディレクトリreadf-mf, src, tfmを作成して同じように置く.
initex unpack.ins initex ec.insここで, 上書きするか否か質問されるから, yesと答える.
initex latex.ltxフォーマットファイルlatex.fmtが生成されるので, /usr/local/lib/texmf/iniに移動する.
mv -f latex.fmt /usr/local/lib/texmf/ini
cd /usr/local/bin ln -s virtex latexこれは,実行ファイル名と同じ名称のフォーマットファイルを読み込む仕様に基づく方法である.
cd /tmp latex ltxcheckltxchek.logに記録されている内容を確認し,すべてOKになっていればよい.OKではないものがあれば,記録されている内容にしたがって対処する.
pLaTeX2eを /usr/local/lib/texmf/tex/platex2eにインストールする.
cd /usr/local/lib/texmf/tex/platex2e zcat pl9702e.tar.gz | tar xvf -/usr/local/lib/texmf/tex/latex2e/9702にファイルが展開される.
iniptex plcore.ins
iniptex platex.ltxフォーマットファイルplatex.fmtを /usr/local/lib/texmf/iniに移動する.
mv -f platex.fmt /usr/local/lib/texmf/ini
cd /usr/local/bin ln -s virptex platex
日本の学会のスタイルファイルは, LaTeX209に強く依存しており, pLaTeX2eでタイプセットできないものも多い. そこで, 従来の日本語TeXのマクロをインストールして利用できるようにする.
jtex1.7.tar.gz を入手する
mkdir work cd work zcat jtex1.7.tar.gz | tar xvf-
./EUCsetup
mkdir /usr/local/lib/texmf/tex/platex209 cd macros mv -f * /usr/local/lib/texmf/tex/platex209 cd ../jmacros mv -f * /usr/local/lib/texmf/tex/platex209
cd /usr/local/lib/texmf/tex/platex209 iniptex "jlplain.tex \dump"ダブルクォーテーションで囲むことを忘れないこと.さもないとシェルに\が解釈されてしまう.
mv -f jlplain.fmt /usr/local/lib/texmf/ini
jlatex.fmtをjlplain.fmtにシンボリックリンクする. cd /usr/local/lib/texmf/ini ln -s jlplain.fmt jlatex.fmtjlatexをvirptexにシンボリックリンクする. cd /usr/local/bin ln -s virptex jlatex
platex209_inputs = .:$TEXMF/tex/platex209//:$TEXMF/tex/latex209//:$TEXMF/tex// TEXINPUTS.jlatex = $platex209_inputsを/usr/local/lib/texmf/web2c/texmf.cnfに次のように追記する.
latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex// latex2e_inputs = .:$TEXMF/tex/latex2e//:$TEXMF/tex// platex209_inputs = .:$TEXMF/tex/platex209//:$TEXMF/tex/latex209//:$TEXMF/tex// platex2e_inputs = .:$TEXMF/tex/platex2e//:$TEXMF/tex/latex2e//:$TEXMF/tex// TEXINPUTS.latex209 = $latex209_inputs TEXINPUTS.latex2e = $latex2e_inputs TEXINPUTS.latex = $latex2e_inputs TEXINPUTS.platex209 = $platex209_inputs TEXINPUTS.platex2e = $platex2e_inputs TEXINPUTS.platex = $platex2e_inputs TEXINPUTS.jlatex = $platex209_inputs
graphics packageを使う.
CTANのミラーサイトでmacros/latex2e/packages/graphicsに置かれているファイルを入手する.ディレクトリ/usr/local/lib/texmf/tex/latex2e/にCTANミラーサイトのpackages以下のディレクトリのファイルをすべてをコピーしておくとよい.
00readmeにしたがって作業する.作業は,super userになって,/usr/local/lib/texmf/tex/latex2e/packages/graphicsで行う.
latex graphics.ins
中身が
\ExecuteOptions{dvips}だけのファイルcolor.cfgとgraphics.cfgを作成する.
echo "\ExecuteOptions{dvips}" > color.cfg echo "\ExecuteOptions{dvips}" > graphics.cfg
マニュアルは,grfguide.tex.
スタイルファイルには,graphicx.styを用いる. graphics.styにはxdviが対応していない.
xdviは, 差し込み時の大きさを指定するために
\resizeboxを使用して
\begin{verbatim} \resizebox{!}{10cm}{\includegraphics{golfer}} \end{verbatim}と記述すると,正しいサイズで表示することができない.
差し込みに使ったコマンドは,
\begin{figure}[!htbp] \begin{center} \includegraphics*[height=6cm]{tiger} \caption{EPSFサンプル(tiger.ps)} \label{fig:tiger} \end{center} \end{figure}である.
\includegraphicsと\includegraphics*の図を差し込むときの大きさの指定は,jdvi2kpsに添付されているepsbox.styとほぼ互換がある.
このことは,
\documentclass{jarticle} \usepackage{epsbox} : \begin{figure}[htbp] \begin{center} \psbox[height=6cm]{keyboard.epsf} \caption{Indyのキーボード} \label{fig:keyboard} \end{center} \end{figure}あるいは,
\documentstyle[epsbox]{jarticle} : \begin{figure}[htbp] \begin{center} \psbox[height=6cm]{keyboard.epsf} \caption{Indyのキーボード} \label{fig:keyboard} \end{center} \end{figure}と記述していた部分を
\documentclass{jarticle} \usepackage{graphicx} : \begin{figure}[htbp] \begin{center} \includegraphics*[height=6cm]{keyboard.epsf} \caption{Indyのキーボード} \label{fig:keyboard} \end{center} \end{figure}と記述できる.つまり\psboxをincludegraphics*に置換すればよいことを意味する.
図を差し込む位置を指定する!htbpの!は,float環境の制限を緩くするpLaTeX2eの拡張機能である.
includegraphics*は, BoundingBoxの値でクリッピングする.一方, アステリスクのない\includegraphicsは,クリッピングしない.
xdvik-18f.tar.gz xdvik18f-j1.1p5.patch.gz ftp://ftp.ipc.chiba-u.ac.jp/pub.yamagaが一次配付元
zcat xdvik-18f.tar.gz | tar xvf - cd xdvik-18f/xdvik zcat ../../xdvik18f-j1.1p5.patch.gz | patch -p
xdvik-18fのディレクトリで
./configure make
うかつにmake installを実行しないこと. /usr/local/lib/texmf/web2c/texmf.cnfが書き換えられてしまう.texmf.cnfのバックアップをsuper userになってとっておく.
mv /usr/local/lib/texmf/web2c/texmf.cnf /usr/local/lib/texmf/web2c/texmf.cnf.org続いてインストールする.
make installバックアップを戻す
mv /usr/local/lib/texmf/web2c/texmf.cnf.org /usr/local/lib/texmf/web2c/texmf.cnf
Xのアプリケーションでは, /usr/X11/lib/X11/app-defaults/にデフォルトのリソースを記述しておくことができる. xdviのリソースのファイル名は, XDvi.
内容は, 以下のとおり.
XDvi.shrinkFactor: 3 縮小を1/3にする. 300dpiなら3ないし4くらいが適当 XDvi.postscript: off 初期値では, EPSを矩形で表示する XDvi.gamma: 1.8 γ値1.8にする. モニタの表示をみながら適宜加減する.
dvipsk-5.58f.tar.gz CTAN dviware/dvipsk dvipsk-jpatch-p1.2.tar.gz vftool-1.2.tar.gz ftp://ftp.math.s.chiba-u.ac.jp/tex japaneseAFM.tar.gz ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex
zcat dvipsk-5.58f.tar.gz | tar xvf - cd dvipsk-5.58f zcat ../dvipsk-jpatch-p1.2.tar.gz | tar xvf - patch -s < dvipsk.patch
dvipsk-5.58fのディレクトリで
./configure make
うかつにmake installを実行しないこと. /usr/local/lib/texmf/web2c/texmf.cnfが書き換えられてしまう. texmf.cnfのバックアップをsuper userになってとっておく.
mv /usr/local/lib/texmf/web2c/texmf.cnf /usr/local/lib/texmf/web2c/texmf.cnf.org続いてインストールする.
make install
zcat vftool-1.2.tar.gz | tar xvf -
JFM = /usr/local/lib/texmf/fonts/public/ptex/tfm
# builtin kanji fonts
bkfonts = ${t1} ${t2} ${t3} ${t4}
ディレクトリafmを作成する.japaneseAFM.tar.gzを展開して,afmにGothicBBB-Medium-H,Ryumin-Light-H,GothicBBB-Medium-V,Ryumin-Light-Vをコピーする.
make a2bkディレクトリvf-a2bkの下にvirtual fontが,ディレクトリjfmの下にtfmが作られる.virtual fontは,min10.vf, min5.vf, min6.vf, min7.vf, min8.vf, min9.vf , tmin10.vf, tmin5.vf, tmin6.vf, tmin7.vf, tmin8.vf, tmin9.vfとgoth10.vf, goth5.vf, goth6.vf, goth7.vf, goth8.vf, goth9.vf , tgoth10.vf, tgoth5.vf, tgoth6.vf, tgoth7.vf, tgoth8.vf, tgoth9.vf.tfmは,rml.tfm, rmlv.tfmとgbm.tfm, gbmv.tfm.
/usr/local/lib/texmf/fonts/moriwasa/tfmにtfmファイルを,/usr/local/lib/texmf/fonts/morisawa/vfにvfファイルをコピーする.
mkdir /usr/local/lib/texmf/fonts/morisawa mkdir /usr/local/lib/texmf/fonts/morisawa/tfm mkdir /usr/local/lib/texmf/fonts/morisawa/vf cd ./jfm cp *.tfm /usr/local/lib/texmf/fonts/morisawa/tfm cd ../vf-a2bk cp *.vf /usr/local/lib/texmf/fonts/morisawa/vf
/usr/local/lib/texmf/dvips/psfonts.mapの最後に
rml Ryumin-Light-H rmlv Ryumin-Light-V gbm GothicBBB-Medium-H gbmv GothicBBB-Medium-Vを追記する.
用紙サイズ,METAFONTで生成するフォントのモードなどを指定できる.詳細は関連情報を参照して欲しい.
このページは自由にリンクしていただいて構いません.間違いなどがございましたら,お知らせください.お問い合わせはuchiyama@thx.inst.keio.ac.jpまで.