資 料
文書整形系TEXの山梨大学版について
(昭和62年8月31日受理)1.はじめに
TEXはギリシア文字のタウ・イプスィロン・カイで あり,厳密にはテッホゥといった日本語では表記しに くい発音であるが,一般にはテフ,テク,テックス等 で通用している。Stanford大学のDonald E. Knuth教 授が,数学の記号や式が頻繁に現れる原稿をコンピュ ータを利用して書くことを目的として,1978年頃から 開発している編集プログラム1)である。 これにやはりKnuth教授が開発した,プログラマが自分で文字のフォメントを定義して使用できる
METAFONT(メタフォント)と, PASCALプログ
ラムとそのプログラムの説明をひとつの文書として作 成し別々に編集できるWEB(ウェブ)を合わせて,コ ンピュータによるプPグラムおよび数学の文書作成を 支援する。 TEXは1980年代になるとアメリカ中で広く使用、 されるようになり,1980年代半ばには漢字やかなを含 めた日本語TEXが日本国内でも使用されはじめた。 山梨大学でもこの2年間に計算機科学科有澤研究室の 卒業テーマとして4)・6)TEXをとりあげ,現在DECVAX−11/785のUNIX4.3BSD(UNIXは米国AT&
Tベル研究所の登録商標)とレーザプリンタLBP−8 上で日本語TEXが使用できる。 本稿はこの山梨大学版の日本語TEXの使用方法に ついて,簡単に紹介する。詳細は計算機科学科計算機 室に用意してある手引書2)を参照のこと。2.TEXの概要
TEXはバッチ処理システムを前提としており,ま ずTEXへの制御命令を含んだテクストファイルを通 常のエディタで作成する。このファイルの名前には ttDtex”という拡張子を与え,たとえばabc. texのよう な名前にする。このabc. texファイルをTEX処理系 に渡すと,abc. dviという名前のファイルを出力する。 dviはデヴァイス独立の意味であり, abc. dviファイル をプリヴュウ用処理系に渡せばディスプレイ上に清書 した形式の文書を表示できる。またabc. dviファイル をデヴァイスドライヴァ処理系に渡せばレーザプリン 計算機科学科 有澤研究室 タを介して清書した文書を印刷できる。プリヴュウや デヴァイスドライヴの処理系は使用するハードウェア ごとに別々に作成しておく。 ’TEXの清書機能には,イタリックやボールドなど 字種を切り替える命令,字の大きさを切り替える命令, ページのレイアウトをする命令,表や罫線を書く命令 など,通常のワープロと同様のさまざまな命令がある。 これらは逆スラッシュ記号(システムによっては¥記 号)に制御コードが続く形になっている。しかしTEX の本来の特徴は,特殊な数学記号を含む複雑な数式を 整った書式で記述できることであり,分数,べき乗, 上下の添字,かっこづけ,行列記法など,数学の論文 に現れる数式はほとんど書くことができるように命令 が用意してある。数式の部分は$$の対あるいは$の 対で囲んで表す。この2種類の記号を交互にネストさ せることによって,式の中の式をそれぞれ独立に表記 できる。 しかしTEX処理系にはすべての機能を含めてしま わず,基本的な機能と拡張機能とを分離しておき,拡 張機能はマクロとして独立させて,処理に必要なマク ロをTEX処理系が読み込んで使用するようになって いる。使用するマクロによって,アメリカ数学会AMS の論文のスタイルに合わせる機能をもつamsTeXや,Scribeエディタに近い機能をもつLaTeXなどのよ
うな,それぞれ性質の異なるTEX処理系ができる。日本語TEXもJplainマクロを使用した場合のTEX処
理系という形で実現してある。日本語TEXではまず 日本語端末(パソコンでもよい)からワープロで日本 語文書を作成し,これに必要なTEXの命令を書き加 えて,TEX処理系が動くコンピュータへこのファイ ルを転送してやる。あとは先に述べた手順でTEX処 理系を実行すればよい。 3. 山梨大学版TEX処理系の使いかた 現在の山梨大学工学部計算機科学科のVAX−11/ 785(主記憶12MB,ディスク装置3台計1168MB)シ ステムには,全端末72台中で日本語端末は7台しかな いため,回線で接続してあるパソコン上で文書を作成 して転送する方法が便利である。UNIxのjviエディ 一 101一昭和62年12月 山梨大学工学部研究報告 第38号 タやPC9801の一太郎ワープロではシフトJISゴード を使用しているが,日本語TEX処理系はJISコード であるため,コード変換が必要である。またファイル
中に書くTEX制御命令はASCIIコードでなければ
ならない。現在TEXコマンドはVAX−11/785の
/usr/local/bin にあり,マクロおよび日本語フォント(JIS C6226)は それぞれ /usr/local/lib/tex/macro /usr/local/lib/tex/fonts にある。以下/usr/local/binをサーチパスに入れてあ るとして, %jtex abc. tex を実行すると,abc. dviおよびabc. logが作成される。 abc, logにはTEX実行中のメッセージがそのまま格 納されており,特にエラーメッセージを調べる場合等 に便利である。TEXのエラーメッセージは!記号で 始まり,エラーの種類,エラー箇所行,エラーを含む 命令,のような形になっている。 なお1987年8月の時点では,山梨大学にはまだ高品 質な日本語フォントがなく,24ドットのフォントを拡 大して使用しているため,日本語の字体はあまり満足 できるものではない。ローマ字や数字数学記号等のフ ォントはそれぞれの大きさごとに別々に設計してあ り,美しい字体になっている。 以下に例として,有澤の講義ノートの一部をTEX 処理系にかけたものを示す。図一一1がテクストファイル arukai. texの一部,図一2がTEX処理系が出力した arukai. dviのごく一部,そして図一3がレーザプリンタ からの出力の一部である。4.おわりに
月本語TEX処理系に日本語METAFONTや日本
く< arttkai.tex >> 語WEBを合わせて使用することで,コンピュータを 用いて数式やプログラムを含む高品質の文書作成が可 能になる。本稿が掲載されている山梨大学工学部研究 報告は,現在はまだ活字を使用しているが,遠からず 著者自身がTEXを用いて最終的に清書済みの原稿を 用意するようになるものと期待している。そのために 本稿が少しでも役立てば幸いである。 なお,1987年9月以降は,本稿で述べた日本語TEX とは別の形のTEX処理系の導入も検討しており,山 梨大学により使いやすい日本語TEX環境を構築する 努力を続けていく計画である。 謝 辞 山梨大学版TEXの開発をさまざまな側面から協力 援助していただいた,慶応義塾大学の大野義夫さん, NTT武蔵野基礎研究所の斎藤康己さん, SRA社の筏 井幸夫さん,電子技術総合研究所の小方一郎さん,そ して山梨大学工学部計算機科学科教職員および大学院 学生の皆さんに感謝いたします。 文 献 1)D.E. Knuth:The TEX Book, Addison−Wesley,1984. 2)有澤研究室:山梨大学版日本語TEX使用手引書,山梨大学 工学部計算機科学科,1987。 3)大野義夫:連載TEX入門, bit 1987年6月号から1年間連 載。 4)中條幹也:日本語TEX/WEBの開発,山梨大学工学部計算 機科学科1987年度卒業論文。 5)藤田 博:技術文書整形出力システムTEX,情報処理 25− 8(エディタ特集),848−853,1984。 6)山本富康:文書整形システムTEXの移植と拡張の研究山 梨大学工学部計算機科学科1986年度卒業論文。 7)山内長承,来住伸子:TEX文書清書システム,コンピュータ ソフトウェア 4−1,44−52,1987。 8)和田英一:連載エディタとテキスト処理(15)TEX, bit 1983 年6月号,67−73。 ¥hsize = 17.5cm ¥font¥rmbg = cmr12 ¥vsi2e = 25.5c肋 ¥font¥bg = cmbxl2 ¥parindent・ Ocm ¥font¥itbg・cmti12 ¥nopagemlmbers ¥centerline{¥bg A Sample Document for J¥TeX} ¥vskip lcm ◇{¥rmbg Bucket Se ar ch}で,$m^n$通りの入力ハッシュ系列がすべて等しい確率で生じるという前提をおく。 あるリストが長さ {¥itbg k}である確率を$P−{nk}$とする。 このリストにハッシュされるやりかたは$¥displaystyle{m¥ch‘)ose k}$通りあり,他の位置に行く可能性は $(m:1)^{n−k}$通りだから,一102一
文書整形系TEXの山梨大学版について $$ P_{nk} = ’{n ¥choose k} {(m−1)^{n−k} ¥over m^n} $$ である.母関数を用いると,二項定理をTIJ用して,次のようになる. $$ ¥eqalignno { P_n(z) &= ¥g. tim_{k=0}^fi P_{nk} z^k &・¥,um−{k・0}^,{,¥、h。。se k}{(m−1)A{・rk}¥・ver・^ni・^k &ニ {(1+{z−1 ¥over m})}^n ここで$¥di・p1・y・ty1・¥quad P−n’ 早j・{・¥・ver m}¥q・・ad Pゴ’(1)={・(B“1) の結果を得る. $$ ¥eqalignno { F_n &= ¥sum_{k=0}^fl ¥〉 ( ¥> kf¥《1elta_{kO} ¥〉 ) ¥> P_{nk} &=P’_n(1) +P_n(0) &・{n¥over田}+(1−{1¥over m})^n S_n &= {m ¥over n} ¥sum_{k=0}^n {k+1 ¥choose 2} P_{nk} &= {皿 ¥over n} ¥〉 ( ¥〉 {1 ¥over 2} P”_rt(1) + P’_n(1) ¥〉 ) &・1+{n−1¥over 2m} 近似的には,次式が成り立つ。 $$ ¥eqalignno { F_¥a.1pha &= ¥alpha + e^{一¥alpha} + 0({1 ¥over m}) ¥cr S_¥alpha &= 1 + {¥alpha ¥over 2} + 0({1 ¥over m}) ¥cr } $$ ¥bye 図一1 ソーステクストファイル ζ< aruk fti.dvi >> 1}000⑪O〔iO f7 STX SOH 83 92 cO FS ;
⑪O⑪00016TeX[]output[]
OOOO⊂1032 0 8 . 2 1 : 1 8 0 3 8b Of〕ool〕048 0000006400000080 ,ffffffff8dgff2
01.}1){〕1)096 8b 97 8d al〕 fd 4 t i 8d 92 ⑪OO〔}0112 1; F FFOO⑪⑪0128 b x 12eb B A96EOT80
00000144e931)09〔|、
OOOoo16Q 93 f o r 93 J T 8d 91 fd bf
OO{,00176 E 8e 91 EOT ec S X 8e gf . s 、 図一2 dviファィル ー103一 ¥cr ¥cr ¥cr}$$ ¥over m^2} ¥cr ¥cr ¥cr ¥cr ¥cr ¥cr}$$ ETX 1 99f
s n el e78e
O a90
9f
8d
¥qdad $ から次e8 ESC[]
8 7 . SOHaQ
e7ACK
m aOSTX
f3
STX
f3 C P (1,1 2d5
B m l taa
昭和62年12月 山梨大学工学部研究報告 第38号