また、TEX の機能を強化するために、TEX のコマンドを用いて作成されたマクロ集LATEX やPICTEX など)を利用するとTEX の操作および表現力が飛躍的に向上する。これらの関係を図1に示した。ここでは、図1に見られるファイル群(TEX ファミリ−)をまとめてTEX と呼ぶことにする。
本報告では、LATEX とPICTEX を使用した。
2.2 TEX の入手方法
TEX は基本的には無償で配布されている。パソコン通信でPC−VANやNIFTY−Surveなどから電話回線をつかってプログラムをコピーすることができる。しかし、TEX を動作させるためにはたくさんのファイルをコピーしなければならず、時間と費用と手間がかかる。そこで、アスキー出版局からでている「パーソナル日本語TEX 」というソフト付きの本(9800円)を購入すると、必要なものは一通りそろっているのですぐにでも使うことができる。また、最近では雑誌の付録として、提供されることがある。(Cマガジン10月号,1993年)
本報告で使用したTEX は「パ−ソナル日本語TEX」とNIFTY−Surveから入手したBig\TEX である。Big\TEX は普通のTEX よりも処理能力が大きい\TEX の強化版である。
2.3 TEX の動作環境
ここでは使用した「パ−ソナル日本語\TEX」の動作環境を述べる。
2.4 TEX による作業の流れ
TEX による作業の流れを図2に示す。
TEX で実際に文書を作成するには、まず出力したい文書をエディタ−などで入力する。このとき、出力する形式、文字の大きさや種類、文字の印字位置などを制御するコマンドを文書の中にいっしょに記述する。 この「TEX 文書」をTEX でコンパイルすると「dviファイル」ができる。このファイルは、機種に依存しないので、どんなコンピュ−タシステムにおいても、同じ文書を出力することが可能である。次にこの「dviファイル」をプレビュ−アと呼ばれるデバイスドライバ(dviout)で画面出力し、訂正があれば元の「\TEX 文書」を修正する。そして、再度TEX でコンパイルする。このような操作を何回か繰り返して、最終的にプリンタドライバ(dviprt)でプリンタに出力し印刷物を得る。
2.5 TEX 文書の入力及び出力例
TEX 文書の入力例を図3にその出力を図4に示す。
\documentstyle文で、文字や用紙の大きさ、出力する様式などを規定したスタイルファイルを読み込む。\documentstyleと\begin{document}の間には、コマンドの定義や段落、インデント、改行幅など細かな定義を記述する。次いで、\begin{document}と\end{document}の間に出力したい文書を記述する。なお、"\"(ギャクスラッシュ)は、日本の機種では使用できないものが多い。その場合は、"¥"(円マ−ク)が同じ働きをする。
\newcommand{コマンド名}[引数の数]{出力したいもの}
{出力したいもの}の部分に構造式などを表現するプログラムを書く。
プログラム例
\begin{verbatim} \newcommand{\vbenzene}[6]{% \beginpicture \setcoordinatesystem units <1mm,1mm> \setlinear \plot 0 5 -4.3 2.5 -4.3 -2.5 0 -5 4.3 -2.5 4.3 2.5 0 5 / \plot 0.8 4.5 -4.3 1.6 / \plot -4.3 -1.7 0.7 -4.6 / \plot 3.5 -3 3.5 3 / \ifx#1 \else \plot 0 5 0 8 / \put {#1} [lb] at -1 8 \fi % \ifx#2 \else \plot 4.3 2.5 6.9 4 / \put {#2} [l] at 6.9 4 \fi % \ifx#3 \else \plot 4.3 -2.5 6.9 -4 / \put {#3} [l] at 6.9 -4 \fi % \ifx#4 \else \plot 0 -5 0 -8 / \put {#4} [lt] at -1 -8 \fi % \ifx#5 \else \plot -4.3 -2.5 -6.9 -4 / \put {#5} [r] at -6.9 -4 \fi % \ifx#6 \else \plot -4.3 2.5 -6.9 4 / \put {#6} [r] at -6.9 4 \fi % \endpicture }%この\vbenzeneコマンドは引数を6個持つ。{ }の中に置換基を記述すると、その置換基に応じてベンゼン誘導体を出力できる。
3.2 実際の使用例
上記\vbenzeneコマンドの実際の文書での使用例を図5に、その出力結果を図6に示す。
4.1 化合物の構造式
主に高校化学の教科書にでてくる有機化合物を中心に作成した。分類すると次のようなものである。
(1) 脂肪族炭化水素 (2) 芳香族化合物 (3) アミノ酸、糖質類 (4) その他の化合物となる。
4.1.1 脂肪族炭化水素
脂肪族炭化水素は、次のような部品を用いて出力する。以下、二重線で挟まれた部分の記述は開発したコマンドである。
ブタン、イソブタン、アセチレンなどの構造式を出力するには、それぞれ
(1)\Rmethyl \methylen \sbond \methylen \Lmethyl
(2)CH$_3$\sbond\upmethyl \sbond CH$_3$
(3)H\sbond C\tbond C\sbond H
などと記述する。結果は次のように出力される。
また、コマンドに引数をもたせることにより、一つのコマンドでいろいろな化合物を出力することもできる。
引数をもつコマンド
トリクロロメタン、ジブロモエタン、塩化ビニル、2,4-ジエチルヘキサンの記述例と出力を次に示す。
(1)Cl\Lmethylxxx{H}{Cl}{Cl}
(2)\Rmethylxxx{Br}{H}{H}\methylenxx{Br}{H}\sbond H
(3)\ethylen{H}{Cl}{H}{H}
(4)\upCHxxx{CH$_2$CH$_3$}{CH$_2$}{CH$_3$}
\underCHxxx{CH$_2$}{CH$_2$CH$_3$}{}\sbond CH$_3$
4.1.2 芳香族化合物
芳香族化合物は、次のコマンドにより出力する。
フェノ−ル、テレフタル酸、ピクリン酸、p−ヒドロキシアゾベンゼンの記述例とその出力を次に示す。
(1) \vbenzene{OH}{}{}{}{}{}
(2) \hbenzene{}{COOH}{}{}{HOOC}{}
(3) \vcbenzene{OH}{NO$_2$}{}{NO$_2$}{}{O$_2$N}
(4) \hcbenzene{}{N}{}{}{}{}\dbond\hcbenzene{}{OH}{}{}{N}{}
4.1.3 アミノ酸、糖質類
アミノ酸、糖質類は次のコマンドにより出力する。
L-アラニン、D-リボ−ス、α-D-グルコ−スの記述例と出力を次に示す。
(1) \ccciv{O$_2$H}{H}{H$_3$}{H$_2$N}
(2) \cccccviii{HO}{\sbond OH}{\sbond OH}{\sbond OH}
{H$_2$OH}{\sbond H}{\sbond H}{\sbond H}
(3) \sixcH{OH}{H}{OH}{OH}{H}{H}{HO}{CH$_2$OH}{H}
4.1.4 その他の化合物
・複素環化合物
次のコマンドは最初の{}に元素を指定する。そして、二番目以降の{}には半角のアルファベット一文字を指定すると、対応する位置に二重結合を出力する。
・その他の化合物
アントラセン、フェナントレン、トリフェニレンを出力するコマンド。
・立体構造を表すモデル
ニュ−マン投影法、四面体構造、C60分子、ダイヤモンドと黒鉛の立体モデルを出力するコマンド。
4.2 実験器具
試験管やビ−カ−などちょっとした実験器具を書く場合、手書きするか、他のものからコピ−してそれを利用するといった方法がとられる。しかし、蒸留装置など少し複雑なものになると手書きするのもめんどうになり、他から満足のいくものを探し出すのもなかなか大変である。そんなとき、実験器具を簡単に出力できたら便利である。このような考えから、次に示す実験器具を出力するコマンドを作成した。そして、これらのコマンドを組み合わせることによって、より複雑な蒸留装置やろ過装置といった実験図を表現することができる。
上記の部品コマンドを用いて、次に示すような実験装置が表現できる。部品コマンドは縮小、拡大、回転が簡単にできるため様々な表現が可能である。
4.3 その他のコマンド
構造式や実験器具以外に高校化学の教科書等にでてくる図表のコマンド化も試みた。
4.3.1 周期表
周期表を出力するコマンドを作成した。枠だけ、あるいは元素記号のみ、元素名のみといった出力も可能である。また、特定の族、周期を出力することもできる。
4.3.2 電子配置の模式図
第三周期までの元素について、その電子配置図をそれぞれ出力するコマンドを作成した。
4.3.3 防災ラベル
TEX の\specialコマンドを用いると、下記のような濃淡のある塗りつぶし図形を描くことができる。
小さい子どもなど誰にでもすぐに理解できる絵文字は、大変利用価値が高い。安全教育という立場から、保管場所や試薬瓶などに防災ラベルを利用すると教育効果も高いと思われる。欧米各国ではすでに試薬瓶などに防災ラベルは添付されている。ただし、その防災ラベルはISO(国際標準化機構)推薦のものが使われている。3)